Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2005
sara sara is offline
Miembro
 
Registrado: may 2005
Posts: 20
Poder: 0
sara Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 17-05-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos.

Pon un poco del codigo que utilizas para realizar los cambios.

Que base de datos usas?
Qeu componentes usas para conectarte al mismo?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 17-05-2005
sara sara is offline
Miembro
 
Registrado: may 2005
Posts: 20
Poder: 0
sara Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 17-05-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos.
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:
Código Delphi [-]
if ((modificar.Tag=0)and (controla=true)) then
 Begin
 
  //tu Codigo para grabar
   ...
   ...
   ...
   Querydbgrid.close;
   Querydbgrid.Open;
 end;
Intenta esto haber si te funciona
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 17-05-2005 a las 21:11:59.
Responder Con Cita
  #5  
Antiguo 18-05-2005
sara sara is offline
Miembro
 
Registrado: may 2005
Posts: 20
Poder: 0
sara Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 18-05-2005
sara sara is offline
Miembro
 
Registrado: may 2005
Posts: 20
Poder: 0
sara Va por buen camino
Talking Graciassssssssssssssssssssssssssssssssss

Lo he probado y si que funciona
Muchas gracias por tu ayuda
Responder Con Cita
  #7  
Antiguo 18-05-2005
sara sara is offline
Miembro
 
Registrado: may 2005
Posts: 20
Poder: 0
sara Va por buen camino
Ya que te enviado el codigo de añadir, me sabrias decir xq no graba al final de la tabla??
Responder Con Cita
  #8  
Antiguo 18-05-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 19-05-2005
sara sara is offline
Miembro
 
Registrado: may 2005
Posts: 20
Poder: 0
sara Va por buen camino
Muchas gracias, me ha servido mucho tu ayuda
Responder Con Cita
  #10  
Antiguo 19-05-2005
Nelson Polanco Nelson Polanco is offline
Miembro
 
Registrado: abr 2005
Ubicación: Provincia Espaillat, Rep. Dom.
Posts: 15
Poder: 0
Nelson Polanco Va por buen camino
Saludos.

Tambien puedes usar Refresh despues del Commit, para refrescar los datos y poder visualizarlos.
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


La franja horaria es GMT +2. Ahora son las 20:01:49.


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