Actualizacion Bd
no puedo ver los cambios realizados sobre la bd hasta que salgo del ejecutable.
Me gustaria saber si pueden verse los cambios directamente porque tengo un grid y creo que debido a esto no se actualiza hasta que vuelvo a ejecutar el programa. Gracias |
Saludos.
Pon un poco del codigo que utilizas para realizar los cambios. Que base de datos usas? Qeu componentes usas para conectarte al mismo? |
codigo grabar
if ((modificar.Tag=0)and (controla=true)) then
begin with query do begin //tabla.Last; sql.Clear; SQL.Add('SELECT MAX(RIG) FROM VER_CABECERAS_AVI_SAT'); open; rig:=Fields.Fields[0].AsInteger; //showmessage(inttostr(rig)); sql.Clear; SQL.Add('insert into ver_cabeceras_avi_sat '); SQL.Add('(Rig,Fecha,num_serie,cliente,contacto,recepcionado,garantia,su_referencia,tarifa,serie,id_s ,averia,descripcion,observaciones)'); SQL.Add('values('); sql.Add(inttostr(rig+1)+','); SQL.Add(chr(39)+formatdatetime('dd.mm.yyyy',txtfecha.DateTime)+chr(39)+','); SQL.Add(txtnumeroserie.Text+','); SQL.Add(txtcliente.text+','); SQL.Add(txtcontactos.Text+','); sql.Add(txtrecepcionado.Text+','); sql.Add(chr(39)+txtgarantia.Text+chr(39)+','); sql.Add(chr(39)+txtsureferencia.Text+chr(39)+','); sql.Add('2,'); sql.Add('UPPER('+chr(39)+txtserie.Text+chr(39)+'),'); sql.Add('1,'); sql.Add(chr(39)+averia.Text+chr(39)+','); sql.Add(chr(39)+descripcion.text+chr(39)+','); sql.Add(chr(39)+observaciones.Text+chr(39)+')'); showmessage(sql.Text); open; SQL.Add('commit;'); showmessage('Aviso guardado'); sql.Clear; end; Esto es un poco del codigo que tengo en grabar, la tabla en la que quiero ver los cambios es VER_CABECERAS_AVI_SAT y para esto utilizo: IBDatabase:enlazado con la bd de marathon IBTable:que conecta con la tabla: VER_CABECERAS_AVI_SAT IBtransaction IBQuery:con la que hago las consultas Para el grid tengo un DataSource enlazado a otra query en la que selecciono los campos que quiero que se vean: SELECT avi.rig,avi.fecha,avi.cliente,ter.nombre_comercial,avi.num_serie,avi.recepcionado,avi.garantia,avi.s u_referencia,avi.observaciones,avi.descripcion,avi.notas,avi.averia FROM ver_cabeceras_avi_sat avi, sys_terceros ter WHERE avi.cliente=ter.tercero; Esta query a su vez esta enlazada con el IBTable y con IBTransaction ---------------------------------------------------------------------- Si quieres saber algo mas dimelo es que soy novata en este lenguaje |
Saludos.
:rolleyes:Me imagino que usas Interbase o Firebird y tambien dos Query's. Uno para hacer movimientos y otro para consultar. En el query que esta enlazado al grid donde quieres mostrar lo datos, abrelo y cierrarlo despues de grabar. Ej: Intenta esto haber si te funciona:p |
El problema es que en la bd no se guardan los cambios hasta que salgo del ejecutable, por eso no se ven los cambios en el grid.
Si yo añado datos a la tabla no los veo hasta que salgo del ejecutable y abro la tabla de nuevo. No se si me explico bien... De todas formas gracias |
Graciassssssssssssssssssssssssssssssssss
Lo he probado y si que funciona
Muchas gracias por tu ayuda |
Ya que te enviado el codigo de añadir, me sabrias decir xq no graba al final de la tabla??
|
Saludos.
Creo que porqeu en la consulto no le especificas qeu lo organize. Supongo que el campo RIG va incrementando a medida que vas granbando, entonces en la consulta, ordenalo por este campo (ascendente o descendente) a tu gusto. |
Muchas gracias, me ha servido mucho tu ayuda ;)
|
Saludos.
Tambien puedes usar Refresh despues del Commit, para refrescar los datos y poder visualizarlos. |
La franja horaria es GMT +2. Ahora son las 01:08:09. |
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