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 28-03-2013
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Question Bug en delphi? ParamsByName???

Hola buenas noches!, tengo el siguiente escenario, tengo una base de datos firebird y uso controles dbexpress. Tengo una capa con un SQLQuery donde tengo la siguiente consulta.

Código SQL [-]
SELECT ID_CLIENTE, CONCEPTO, DEBE, HABER, (DEBE - HABER) AS SALDO, FECHA
FROM TCTACTE
WHERE ID_CLIENTE = :ID_CLIENTE

En otra capa tengo un Provider y un ClientDataSet (prefio FetchParams).
Por otro lado tengo un formulario con una grilla que en el evento OnCreate tengo el siguiente codigo.

Código Delphi [-]
CDS.TCtaCte.Close;
CDS.TCtaCte.Params.ParamByName('ID_CLIENTE').AsInteger := CDS.TClientesID_CLIENTE.AsInteger;
CDS.TCtaCte.Open;

Bueno resulta que al abrir la tabla TCtaCte no devuelve nada la consulta, use un SQLMonitor y me devuelve la siguiente consulta.

Código SQL [-]
SELECT ID_CLIENTE, CONCEPTO, DEBE, HABER, (DEBE - HABER) AS SALDO, FECHA
FROM TCTACTE
WHERE ID_CLIENTE = ?

Hasta poniendo el codigo del cliente de forma manual el resultado es el mismo. Aclaro ya hice el FetchParams del lado del ClientDataSet, probe esta consulta en un editor SQL y funciona perfecta.

Espero puedan ayudarme, saludos y muchas gracias por su tiempo.
Responder Con Cita
  #2  
Antiguo 28-03-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Creo que te falta poner .Value en vez de asInteger

Código Delphi [-]
CDS.TCtaCte.Close;
CDS.TCtaCte.Params.ParamByName('ID_CLIENTE').AsInteger := CDS.TClientesID_CLIENTE.Value;
CDS.TCtaCte.Open;

Saludos
Responder Con Cita
  #3  
Antiguo 28-03-2013
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Cita:
Empezado por jafera Ver Mensaje
Creo que te falta poner .Value
Código Delphi [-]
CDS.TCtaCte.Close;CDS.TCtaCte.Params.ParamByName('ID_CLIENTE').AsInteger := CDS.TClientesID_CLIENTE.Value;CDS.TCtaCte.Open;
Saludos
Hola jafera, antes que nada gracias por tu respuesta, puse .Value, hasta probe asi

Código Delphi [-]
CDS.TCtaCte.Close;
CDS.TCtaCte.Params.ParamByName('ID_CLIENTE').AsInteger := 1;
CDS.TCtaCte.Open;

y el mismo resultado, asi lo ponga manual al parametro es lo mismo!, voy a reinstalar delphi y veo si se soluciona. Saludos.
Responder Con Cita
  #4  
Antiguo 28-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por pablonill Ver Mensaje
voy a reinstalar delphi y veo si se soluciona
¿Reinstalar Delphi?
Es lo mismo que si le pones una vela a Santa Tecla
Responder Con Cita
  #5  
Antiguo 28-03-2013
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Reinstalar Delphi?
Es lo mismo que si le pones una vela a Santa Tecla
Y bueno, ya no se que hacer!, jaja. Siempre hice asi y ahora no funciona!, o estoy loco o es un bug!, o estoy demasiado cansado como para ver la solucion!
Responder Con Cita
  #6  
Antiguo 28-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Veamos, primero abres el ibexpert, flamerobin o el que uses y escribes la sentencia a mano:
Código SQL [-]
select id_cliente, concepto, debe, haber, (debe-haber) as saldo, fecha 
from tctacte
where id_cliente=1
Lo ejecutas y miras si devuelve valores.

Esperando respuesta...
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
updatear mi codigo con paramsbyname Rofocale Varios 3 26-10-2010 01:22:06


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


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