![]() |
Problemas para actualizar ADO con Dbgrid con puro Codigo
Hola A todos los maestros, me gustaria saber si alguien me podria ayudar de como poder actualizar el dbgrid con puro codigo, les detallo el siguiente codigo
, lo que no entiendo es cuando realizo todo esto por conexion directa, es decir, sin tantas conecciones funciona todo OK pero al realizarlo esto por codigo no funka :mad: , si alguien sabe cual es mi error porfavor explicarme los dbgrid los conecto por codigo al igual que los otros controles haciendo la actualizacion adoquery1.close y luego adoquery1.open; procedure Tmenu_principal.FormCreate(Sender: TObject); var conexion:string; begin conexion:=('Provider=Microsoft.Jet.Oledb.4.0;Data source=c:\inventario.mdb;Persist Security Info=false'); adoconnection1.ConnectionString :=conexion; adoconnection1.Open ; adoquery1.ConnectionString :=conexion; adoquery1.Open ; adoquery2.ConnectionString:=conexion; adoquery2.Open ; lista.Columns[0].FieldName :='unidad_medida'; lista.Columns[1].FieldName :='descripcion_und'; datasource2.DataSet :=adoquery2 ; // dbgrid1.DataSource:=datasource2 ; adoquery2.Close ; adoquery2.Open ; end; procedure Tmenu_principal.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin adoquery1.Close; with adoquery1 do begin with adoquery1.SQL do begin clear; add (consultaSQL); end; open; end; if adoquery1.Eof then begin '<guarda datos> 'aca deberia actualizar dbgrid1 (lista) pero no actualiza en que estoy MAL :mad: end else begin <muestra datos guardados> end; end; end; si alguien me podria ayudar lo agradeceria Saludos a Todos ;) |
veamos.
Que tal JanoRod, mira de entrada veo que tienes un adoConnection que no se para que lo utilizas si a cada adoquery le vuelves a pasar la cadena de conexion.
vamos clarificando un poco mas el código.
Espero por lo menos haberte ayudado un poco en clarificar el código.:) Saludos. Vicente López. |
Coneccion Manual Adoconnection
Cita:
conexion:=('Provider=Microsoft.Jet.Oledb.4.0;Data source='+ExtractFilePath(application.ExeName)+'\inventario.mdb;mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Encrypt Database=True;Jet OLEDB:Compact Without Replica Repair=True;Jet OLEDB:Database Password=jano2969'); Como se muestra el codigo la sintaxis de ExtractFilePath(application.ExeName) me define la ruta donde esta el ejecutable asociado a la base de dato. ahora cuando verifico los datos guardados estan ok pero no asi en el dbgrid que esta conectado en forma manual con codigo : a esto me refiero cuando es manual o a traves de puro codigo. dbgrid1.Columns[0].FieldName :='unidad_medida'; // campo 1 dbgrid1.Columns[1].FieldName :='descripcion_und'; // campo 2 datasource2.DataSet :=adoquery2 ; dbgrid1.DataSource:=datasource2 ; adoquery2.Close ; // lo cierro adoquery2.Open ; // lo vuelvo abrir para su supuesta actualizacion Vicente si sabes alguna manera de saber en que me equivoco te agradeceria la respuesta o algun comentario de antemano saludos :) |
Que pasa si lo haces de esa manera???? Ya tienes las actualizaciones del ADO ???? |
Gracias Maestro....
Cita:
Vale Saludos te pasastes. ;) solo hice los cambios que mencionas y listo. adoquery1.Connection :=adoconnection1 ; adoquery1.Open ; adoquery2.Connection :=adoconnection1 ; adoquery2.Open ; y despues actualizo al momento junto a los adoquery1.close ; adoquery1.open; |
Me alegra que se haya solucionado:) , por cierto, no soy master:o , voy aprendiendo igual que todos.;)
Saludos. Vicente López. |
La franja horaria es GMT +2. Ahora son las 18:56:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi