Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2012
lobosito lobosito is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 13
Poder: 0
lobosito Va por buen camino
Trasladar de StringGrid a BD!!

Hola a todos los foreros, no sabía donde colocar este hilo (en conexión a BD o en SQL), por eso lo puse en varios...
Mi problema es que usé un StringGrid para acumular datos de manera temporal, ahora necesito que estos datos, y otros que están en Edits y Labels pueda ingresarlos a una BD Paradox.
He tratado de hacer lo siguiente para recorrer el StringGrid celda a celda
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
  no,fecha,total,cliente,preciou,producto,ci,can:String;
  i,j:Integer;
begin
  fecha:=Label2.Caption;
  for i:=0 to 8 do
  begin
    for j:=1 to 9 do
    begin
      if StringGrid1.Cells[i,j]<>'' then
      begin
        no:=StringGrid1.Cells[i,j];
      end;
    end;

end;
No he tenido éxito ya que dentro del for anidado no puedo asignar varias variables porque en cada iteración tomarían valores iguales, es decir de la misma columna y fila del StringGrid.
No he utilizado un DBGrid debido a que necesitaba ingresar varios datos externos al StringGrid como lo es el caso de la fecha.
Agradezco como siempre su colaboración...
Responder Con Cita
  #2  
Antiguo 05-12-2012
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Amigo, lo que pasa es que en cada iteración del ciclo for metes el valor de la celda en la misma variable, haz el ciclo For solo para las filas del StringGrid y guardas las columnas en otras variables. Por ejemplo:

Suponiendo que el StringGrid se llama Grid y tiene 8 columnas llamadas Var1, Var2... hasta Var8 y variables string con el mismo nombre harías esto

Código Delphi [-]
for i:= 1 to Grid.RowCount - 1 do  // Aquí uso RowCount para saber cuantas filas tiene el grid
begin
  Var1:= Grid.Cells[0, i];
  Var2:= Grid.Cells[1, i];
...
// Al terminar de pasar el valor de las celdas a las variables lo procesas
end;

Asi de simple
__________________
Herr Heins Faust
Responder Con Cita
  #3  
Antiguo 05-12-2012
lobosito lobosito is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 13
Poder: 0
lobosito Va por buen camino
Ya he logrado asignar las variables, pero ahora no quiere insertar los datos a la tabla, mediante sql que puede estar sucediendo, o existe otra manera más directa... Este es mi código hasta el momento, no me da errores pero no funciona:
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
  no,fecha,total,cliente,preciou,producto,ci,can:String;
  i,j:Integer;
begin
  fecha:=Label2.Caption;
  for i:=1 to 9 do
  begin
    if StringGrid1.Cells[0,i]<>'' then
    begin
      producto:=StringGrid1.Cells[0,i];
      preciou:=StringGrid1.Cells[2,i];
      can:=StringGrid1.Cells[3,i];
      cliente:=StringGrid1.Cells[5,i];
      ci:=StringGrid1.Cells[6,i];
      total:=StringGrid1.Cells[7,i];
      no:=StringGrid1.Cells[8,i];
      Query2.SQL.Clear;
      Query2.SQL.Add('Insert into factura.db (No_Fac,Fecha,Cliente,Ci_nit,Producto,Precio_u,Can,Total)');
      Query2.SQL.Add('Values('+''''+no+''''+','+''''+fecha+''''+','+''''+cliente+''''+','+''''+ci+''''+','  +''''+producto+''''+','+''''+preciou+''''+','+''''+can+''''+','+''''+total+''''+')');
      Query1.ExecSQL;

    end;
  end;

end;
Responder Con Cita
  #4  
Antiguo 05-12-2012
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Te da algún error???
__________________
Herr Heins Faust
Responder Con Cita
  #5  
Antiguo 06-12-2012
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Te convendría usar en tu Query parámetros para evitarte algunos problemillas y trabajo extra
__________________
Herr Heins Faust
Responder Con Cita
  #6  
Antiguo 06-12-2012
lobosito lobosito is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 13
Poder: 0
lobosito Va por buen camino
No entiendo cual es el problema, el Query no da errores, pero a mi tabla no se inserta nada...y no puedo utilizar parámetros porque estos son cambiantes...
Responder Con Cita
  #7  
Antiguo 06-12-2012
lobosito lobosito is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 13
Poder: 0
lobosito Va por buen camino
Lightbulb

Cita:
Empezado por lobosito Ver Mensaje
Código Delphi [-]
      Query2.SQL.Clear;
      Query2.SQL.Add('Insert into factura.db (No_Fac,Fecha,Cliente,Ci_nit,Producto,Precio_u,Can,Total)');
      Query2.SQL.Add('Values('+''''+no+''''+','+''''+fecha+''''+','+''''+cliente+''''+','+''''+ci+''''+','  +''''+producto+''''+','+''''+preciou+''''+','+''''+can+''''+','+''''+total+''''+')');
      Query1.ExecSQL;

    end;
  end;

end;
Un Ahora si todo resuelto...por un pequeñisimo detalle...estaba ejecutando el SQL del Query1 y no del 2 gracias por todo...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Trasladar Procedure L3st4t Varios 8 17-10-2011 16:31:28
Como Trasladar una aplicacion hecha en c++Builder Hacia Delphi rgstuamigo Varios 6 04-10-2008 14:24:40
stringgrid en celda de otro stringgrid?? noodle_ OOP 3 17-06-2008 13:36:01
trasladar el valor de un Qrexpr1 a un campo de tabla suppergus Varios 1 06-02-2005 11:04:47
Trasladar Marcas de un BMP a otro Jessica666 Gráficos 3 07-07-2004 02:17:37


La franja horaria es GMT +2. Ahora son las 19:53:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi