Guardar datos desde un dbgrid
Hola tengo un ADOStoredProce conectado con una base de datos Informix que me devuelve la informacion y la muestro en un dbgrid, ahora quiero almacenar la informacion de algunas columnas del debgrid en mi tabla de Access. Lo que necesito saber es como hago para recorrer cada fila e ir insertandola en mi tabla de Access. Desde ya gracias por la ayuda que me puedan dar. Saludos.
|
Lo normal es recorrer el DataSet asociado al Grid, y no el DBGrid directamente. El recorrido se hace con los métodos estandard (EOF, Next,...).
¿Exactamente cual es el problema? ¿Algo en particular? ¿El recorrido? ¿La inserción? |
Lo que estoy intentando hacer es a partir de la informacion que me devuelve el ADOStoredProc, tengo un DataSource que se asocia al ADOStoredProc y este ultimo al DBGrid. Cuando ejecuto la aplicacion la informacion es mostrada en el DBGrid, lo que quiero es tomar la info que me devuelve el ADOStoredProc y guardar algunos campos en una tabla de Access que ya tengo conectada por ADOConecction.
|
No me has contestado a las preguntas. ¿Lo has intentado? ¿Te da algun error?
Podría ser algo así; Aquí se accede al DataSet a partir del DGBrid, porque no acabo de enterder cómo lo has conectado, pero puedes sustituir el "DBGrid2.DataSource.DataSet" por el componente de DataSet que estés utilizando.
|
Recorrer dataSet e isertar
Tiene razon Neftali, y si desea usar sql para insertar podria quedar asi:
|
hola:
espero y puedas ayudar utilize tu ejemplo pero yo utilize un query y este es mi codigo:
procedure TForm4.Button1Click(Sender: TObject); begin with form1 do begin if Form4.ModalResult = mrOK then begin DBGrid1.DataSource.DataSet.First; While not (DBGrid1.DataSource.DataSet.Eof) Do Begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('INSERT INTO cliente (clavecliente, nombre, apellido,direccion,telefono,CP,RFC,clavemaquinaria'); Query1.SQL.Add('VALUES (:cla, :nom, :ape, :dir, :tel, :c, :r, :ma'); Query1.ParamByName('cla').Value:=DBGrid1.DataSource.DataSet.FieldByName('clavecliente').value; Query1.ParamByName('nom').Value:=DBGrid1.DataSource.DataSet.FieldByName('nombre').value; Query1.ParamByName('ape').Value:=DBGrid1.DataSource.DataSet.FieldByName('apellido').value; Query1.ParamByName('dir').Value:=DBGrid1.DataSource.DataSet.FieldByName('direccion').value; Query1.ParamByName('tel').Value:=DBGrid1.DataSource.DataSet.FieldByName('telefono').value; Query1.ParamByName('c').Value:=DBGrid1.DataSource.DataSet.FieldByName('CP').value; Query1.ParamByName('r').Value:=DBGrid1.DataSource.DataSet.FieldByName('RFC').value; Query1.ParamByName('ma').Value:=DBGrid1.DataSource.DataSet.FieldByName('clavemaquinaria').value; Query1.ExecSQL; DBGrid1.DataSource.DataSet.Next; End; end; end; end; end. pero al momento de ejecutarlo me sale un error de sintaxis de mysql. ojala y me puedas responder lo mas pronto posible te lo agradeceria demasiado. gracias por la ayuda . Saludos |
Ya te fijaste en la fecha de este hilo...
|
ups...
Cita:
gracias |
Cita:
falta cerrar los paréntesis:
Bye |
Guardar datos desde un dbgrid
Cita:
|
La franja horaria es GMT +2. Ahora son las 07:06:24. |
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