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 24-04-2008
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Poder: 0
delphijm Va por buen camino
Problema al abrir y cerrar un TClientDataSet

Hola,

Estoy realizando un proyecto con Delphi 2007 y MySQL...

Tengo un DataModule en el que tengo los componentes:l SQLConection, SQLDataSet, DataSetprovider,TClientDataSet i TDataSource...

El SQLDataSet es una Query con parametros, para leer los registros de una tabla con Desde-Hasta...

Ademas tengo un formulario, en el que en el evento OnCreate hago un open del TClientDataSet y lo hace correctamente llenandome todos los campos de la pantalla cuando abro el formulario...

En el evento OnClose del formulario, hago un close del TClientDataSet para que al volver a entrar me refresque los datos (al volver a hacer el open en el OnCreate)...

El problema esta en que al volver a entrar i hacer el open del TClientDataSet no me devuelve ningun registro... dejando todos los campos en blanco?

Tengo otros formularios trabajando de la misma forma y funcionan bien, la diferencia esta en que en esos el DataSource esta en el propio formulario y no en el DataModule... Pero en este caso necesito tener el DataSource en el propio Datamodule... No se si esto puede estar relacionado...

Alguien sabe que puede estar pasando?

Gracias de antemano!!
Responder Con Cita
  #2  
Antiguo 24-04-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Poder: 19
santus Va por buen camino
raro lo que te sucede.

nose si te servirá, pero yo en mi caso tambien tengo todo en un datamodulo y tambien abro todas los dataset en el momento de mostrar el formulario. La única dif es que al momento de cerrar el formulario dejo todos los datasets abiertos, y para actualizarlos uso ClientDataSet1.Refresh ... nose si te servirá... por lo menos ami me funciona bien así.

Suerte.
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates.
Responder Con Cita
  #3  
Antiguo 24-04-2008
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Poder: 0
delphijm Va por buen camino
Cita:
Empezado por santus Ver Mensaje
raro lo que te sucede.

nose si te servirá, pero yo en mi caso tambien tengo todo en un datamodulo y tambien abro todas los dataset en el momento de mostrar el formulario. La única dif es que al momento de cerrar el formulario dejo todos los datasets abiertos, y para actualizarlos uso ClientDataSet1.Refresh ... nose si te servirá... por lo menos ami me funciona bien así.

Suerte.
Hola Santus...

Si, tambien he probado dejandolos abiertos y haciendo un refresh al volver... Y me pasa lo mismo... La primera vez que hago el open todo va bien pero parece que cualquier operacion que haga a partir de entonces con el DataSet no funciona... Demasiado raro...
Responder Con Cita
  #4  
Antiguo 24-04-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Poder: 19
santus Va por buen camino
Cita:
Empezado por delphijm Ver Mensaje
Hola Santus...

Si, tambien he probado dejandolos abiertos y haciendo un refresh al volver... Y me pasa lo mismo... La primera vez que hago el open todo va bien pero parece que cualquier operacion que haga a partir de entonces con el DataSet no funciona... Demasiado raro...
la verdad que si. Dijistes que era un Query lo que llamabas??, en ese caso no seria problema del Clientdataset sino directamente del SqlDataSet...

Si es un query, como le pasas el CommandText? ... lo escribes en el codigo, o directamente lo armas con el Query Builder en tiempo de diseño??.. te pregunto esto porque quiza ahi esta el tema....

Si es que usas el TSqlDataSet, quiza te convenga probar usando un TSQLQuery que creo que es para ese fin especifico. Despues al momento de abrir el form ejecutas tu consulta y refrescas tu clientdataset... ahi no puede fallar!!!!
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates.
Responder Con Cita
  #5  
Antiguo 28-04-2008
Angel Vicente Angel Vicente is offline
Miembro
 
Registrado: may 2006
Posts: 15
Poder: 0
Angel Vicente Va por buen camino
Hola....

A mi me esta pasando lo mismo con Delphi 6 y TADODataSet para conectar con base de datos Access, la primera apertura me devuelve datos, despues cierro, modifico parametros (si procede), y al volver a abrir, no me devuelve nada. Lo curioso es que tengo otro proyecto muy similar, y este proceso si funciona correctamente; estoy comparandolos para buscar diferencias, pero no veo nada diferente.

Saludos
Responder Con Cita
  #6  
Antiguo 30-04-2008
Angel Vicente Angel Vicente is offline
Miembro
 
Registrado: may 2006
Posts: 15
Poder: 0
Angel Vicente Va por buen camino
Hola....

He conseguido que me funcione el TADODataSet, he establecido la propiedad Prepared a true, y ya me funciona.
Responder Con Cita
  #7  
Antiguo 30-04-2008
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
Cita:
Empezado por delphijm Ver Mensaje
Hola Santus...

Si, tambien he probado dejandolos abiertos y haciendo un refresh al volver... Y me pasa lo mismo... La primera vez que hago el open todo va bien pero parece que cualquier operacion que haga a partir de entonces con el DataSet no funciona... Demasiado raro...
liberas el formulario en el onclose ?.
a ver si no liberas el formulario y como ya esta creado , la 2º vez no entra en el create y no hace el open.

saludos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
formulario abrir, cerrar arespremium OOP 3 14-08-2007 09:06:21
Problema con TClientDataSet y Transacciones dieleo Conexión con bases de datos 0 01-09-2006 02:06:32
Cerrar un Form MDI al abrir otro MDI David OOP 7 17-08-2006 18:14:37
como abrir y cerrar unidades CDROM JoseQ API de Windows 4 13-12-2004 19:30:46
Abrir y cerrar MDI MaJeSTiC Varios 2 03-08-2004 21:00:29


La franja horaria es GMT +2. Ahora son las 17:59:41.


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