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 11-10-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
DBGrid en blanco después de consulta SQL.

Buenas.

Hago una idea general... tenemos el form Clientas... y uno llamado Ventas. Al pulsar el botón de compra en el form Clienta, sale la ventana Ventas para pedir los datos y tal...

Pues bien, en frmDatosClientas (el form este) tengo un DBGrid.. donde muestro todas las ventas mediante una consulta SQL. Se muestran perfectamentes al cargar el form. El problema está después de dar de alta o modificar algo en la tabla Ventas, que el puñetero TAdoQuery o algo se me desconecta, y el DBGrid no pilla... ¬¬'

El código que uso para la consulta en el OnCreate del frmDatosClientas o después de hacer el post o edit..
Código Delphi [-]
procedure TfrmDatosClienta.Consultar();
begin
  dm.VentasSQL.Close;
  dm.VentasSQL.SQL.Clear;
  dm.VentasSQL.SQL.Text := 'SELECT Cantidad, Fecha, Vendedora FROM Ventas WHERE Clienta='+QuotedStr(eNombre.Text);
  dm.VentasSQL.Active := True;
  dm.DVentasSQL.Enabled := True;
  dm.VentasSQL.Open;
  DBGrid1.DataSource := dm.DVentasSQL;
  DBGrid1.Columns.Items[0].Width := 50;
  DBGrid1.Columns.Items[1].Width := 100;
  DBGrid1.Columns.Items[2].Width := 150;
end;

Pego unos cuantos screenshots aclaratorios

DataModule:


frmDatosClienta:


frmVentas:
__________________
:)
Responder Con Cita
  #2  
Antiguo 11-10-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
procedure TfrmDatosClienta.Consultar();
  begin
    dm.VentasSQL.Close;
    dm.VentasSQL.SQL.Clear;
    dm.VentasSQL.SQL.Text := 'SELECT Cantidad, Fecha, Vendedora FROM Ventas WHERE Clienta='+QuotedStr(eNombre.Text);
    dm.VentasSQL.Active := True;//Aquí abres la consulta
    dm.DVentasSQL.Enabled := True;
    dm.VentasSQL.Open;//Este te sobra
    DBGrid1.DataSource := dm.DVentasSQL;
    DBGrid1.Columns.Items[0].Width := 50;
    DBGrid1.Columns.Items[1].Width := 100;
    DBGrid1.Columns.Items[2].Width := 150;
  end;
En cuanto a que la rejilla esté vacia, has comprobado si realmente devuelve datos la consulta?

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-10-2005
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 216
Poder: 21
Fita Va por buen camino
Verifica también el nivel de islamiento de las transacciones (botón derecho sobre el componente Ttransaction).

Saludos
Responder Con Cita
  #4  
Antiguo 11-10-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
No tengo ningún componente TTransaction :S
__________________
:)
Responder Con Cita
  #5  
Antiguo 11-10-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Cita:
Empezado por marcoszorrilla
En cuanto a que la rejilla esté vacia, has comprobado si realmente devuelve datos la consulta?

Un Saludo.
Claro, mira el evento OnCreate...

Código Delphi [-]
procedure TfrmDatosClienta.FormCreate(Sender: TObject);
begin
  Consultar;
end;

Si aquí devuelve datos... significa que funciona, el problema es después de todo
__________________
:)
Responder Con Cita
  #6  
Antiguo 11-10-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Por si ayuda...

Código Delphi [-]
procedure TfrmVenta.GrabarVenta(Clienta, Vendedora, Modelo, Fecha, Cantidad, Regalo:string);
begin
  dm.Ventas.Open;
  If Editar Then dm.Ventas.Edit;
  If not Editar Then dm.Ventas.Insert;
  dm.VentasClienta.Value := Clienta;
  dm.VentasVendedora.Value := Vendedora;
  dm.VentasModelo.Value := Modelo;
  dm.VentasFecha.Value := Fecha;
  dm.VentasCantidad.Value := Cantidad;
  dm.VentasRegalo.Value := Regalo;
  dm.Ventas.Post;
  dm.Ventas.Refresh;
end;
__________________
:)
Responder Con Cita
  #7  
Antiguo 11-10-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

Código Delphi [-]
procedure TfrmVenta.GrabarVenta(Clienta, Vendedora, Modelo, Fecha, Cantidad, Regalo:string);
begin
with db do begin
  Ventas.Open;
  If Editar Then 
    Ventas.Edit
  else 
    Ventas.Insert;
...
...
...
Qué tal.???
__________________
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
  #8  
Antiguo 12-10-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
¿Cúal es la diferencia? Esa es una manera diferente de poner el código que escribe las miasmas lineas... lo que necesito es saber qué cambio puede conseguir que no se me quede en blanco.. no otras maneras diferentes de presentar el código.

Muchas gracias
__________________
:)
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 19:57:29.


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