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 27-09-2007
LProject LProject is offline
Registrado
 
Registrado: sep 2007
Posts: 5
Poder: 0
LProject Va por buen camino
Error Consulta Con TClientDataSet...

Hola, Como Esta?..
mi pregunta es la siguiente; Como puedo resolver un error que me da al consultar con un TClientDataset, yo estoy haciendo lo siguiente;

Yo tengo configurado Un TQuery, en su propiedad tengo esta consulta:

Select
*
from
prestamos
where
codigo =:codigo

este TQuery lo tengo conectado a un TDatasetProvider Y este a un TClientDataSet, estoy intentado consultar un prestamo pasandole parámetro atraves del TClientDaset haciendo esto;

ModuloDatos.cdsPrestamos.Close;
ModuloDatos.cdsPrestamos.Params[0].value := Prestamo {Prestamo es la variable que almacena el prestamo a buscar}
ModuloDatos.cdsPrestamos.Open;

El problema es que en el momento en que se abre el TClientDataset Me dice que esta operación no se puede aplicar a un dataset cerrado. he intentado Abriendo el TQuery y no Funciona.

Gracias, Me seria de gran ayuda su respuesta.
Responder Con Cita
  #2  
Antiguo 27-09-2007
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Hola,
Mira el error te lo da porque no debes de pasar el valor de parametro al CDS sino a tu query, ejemplo:
Query.ParamByName("PARAMETRO").AsIntenger=100
antes de abrir el CDS.
Saludos
Responder Con Cita
  #3  
Antiguo 27-09-2007
LProject LProject is offline
Registrado
 
Registrado: sep 2007
Posts: 5
Poder: 0
LProject Va por buen camino
Gracias, Juanelo. Lo intentaré de esta forma.
Responder Con Cita
  #4  
Antiguo 29-09-2007
LProject LProject is offline
Registrado
 
Registrado: sep 2007
Posts: 5
Poder: 0
LProject Va por buen camino
Hola como estan?.. Bueno Juanelo he probado de esta forma, y realmente no funciona, creo que debe haber una forma en que se le pase el parámetro al TClientDataset, para realizar la busqueda..
Responder Con Cita
  #5  
Antiguo 29-09-2007
maro maro is offline
Miembro
 
Registrado: sep 2003
Ubicación: Sevilla
Posts: 104
Poder: 21
maro Va por buen camino
Hola,

Has ejecutado Fetch Params en el ClientDataset?

Imagino que sí. Si no lo hubieras hecho el problema sería que el ClientDataset no tendría configurado el parámetro.

Un Saludo.
__________________
Maro. OutSourcing de programación con Delphi.
Responder Con Cita
  #6  
Antiguo 01-10-2007
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por LProject Ver Mensaje
Hola como estan?.. Bueno Juanelo he probado de esta forma, y realmente no funciona, creo que debe haber una forma en que se le pase el parámetro al TClientDataset, para realizar la busqueda..
Hola, ya intentaste ejecutar la query directamente?, tendrias que editar los parametros de la query y asignarle tipo y valor a tu parametro (por cierto a lo mejor lo que te hace falta es indircarle el tipo de parametro (si es entero, cadena, flotante, etc), pero intenta ejecutar tu query, no creo que sea problema del CDS.
Saludos
Responder Con Cita
  #7  
Antiguo 03-10-2007
LProject LProject is offline
Registrado
 
Registrado: sep 2007
Posts: 5
Poder: 0
LProject Va por buen camino
Si, he dado estos pasos. Realmente me funciona pasando parámetro a TClientDataset, pero cuando hago lo mismo en una relacion maestro detalle. Me dice que esa operación no se puede realizar en un dataset cerrado. Por ejemplo tengo todas las conexiones correctas, inserto registro y funciona bien, el problema esta en que cuando voy a buscar un registro le paso parámetro TClientDataset y al momento de abrir me da el error.

Tengo estos componentes.
cdsPrestamos TClientDataset
cdsGarantias TClientDataset
dstPrestamos TIBDataset
dstGarantias TIBDataset
srcPrestamos TDataSource

cdsGarantias abro este en el evento afteropen del cdsPrestamos
dstGarantias en el evento afertopen del dstPrestamos

todo perfecto... Todos los parámetros perfectamente configurados,
en los TClientDataset y en los TIBDataset, ahora bien yo inserto perfectamente y funciona, pero al momento de buscar, cuando paso parámetro, asi:


cdsPrestamos.Close;
cdsPrestamos.params[0].value:= Prestamo;
cdsPrestamos.open;

me da este error:
Esta Operación no se puede realizar en un dataset Cerrado.

quisiera saber cual es el dataset cerrado porque he probado de todas formas y no he logrado descubrir cual es ese dataset que esta cerrado.
Responder Con Cita
  #8  
Antiguo 04-10-2007
maro maro is offline
Miembro
 
Registrado: sep 2003
Ubicación: Sevilla
Posts: 104
Poder: 21
maro Va por buen camino
Hola,

¿Tienes un ejemplo que se pueda ver?

Si quieres, envíamolo y le echo un vistazo.

Un Saludo.
MCF.
mcf.22@terra.es
__________________
Maro. OutSourcing de programación con Delphi.
Responder Con Cita
  #9  
Antiguo 05-10-2007
LProject LProject is offline
Registrado
 
Registrado: sep 2007
Posts: 5
Poder: 0
LProject Va por buen camino
ok, maro, te enviaré un ejemplo para que chequees..
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
TClientDataset en ADO trex2000 Conexión con bases de datos 1 08-09-2006 17:34:33
Error “unassigned code” Maestro/Detalle con TClientDataSet jmlifi Conexión con bases de datos 1 21-06-2006 16:10:05
TClientDataset Uso samantha jones Varios 1 09-03-2005 21:22:20
TClientDataSet carlomagno Firebird e Interbase 0 09-09-2004 11:29:23
TClientDataSet y el SO tgsistemas OOP 4 02-08-2004 15:01:20


La franja horaria es GMT +2. Ahora son las 02:47:39.


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