Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-07-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
Distinto valor de retorno en storedprocedure desde delfi y desde consola sql

Pues como digo, es algo que escapa a mi comprension pues no le encuentro el sentido. El problema es que cuando llamo a un procedimiento almacenado desde la consola sql me devuelve el valor correcto pero si hago la misma invocacion con los mismo parametros desde un IBQuery desde delphi el valor me da el valor que le parece "segun como tenga de calientes los biestables", es decir que el valor que me devuelve se podria decir que es indeterminado. La consulta que hago desde la consola es la siguiente:

Código:
 select * 

from pertenece_turno(cast('30.12.1899 12:12:00' as date),

cast('30.12.1899 21:12:00' as date),'Mañana')

la cual me devuelve un 1 indicando que la segunda hora esta mal, pero si lo ejecuto desde delphi teniendo en IBPerteneceTurno.sql (Objeto IBQuery) la siguiente consulta:
Código:
select resultado from PERTENECE_TURNO(:HORAINICIO,:HORAFIN , :CTURNO)
y poniendo los valores:
Código:
	DMInsertaInformes.IBPerteneceTurno.Close;
	DMInsertaInformes.IBPerteneceTurno.ParamByName('horainicio').AsDate:=inicio;
	DMInsertaInformes.IBPerteneceTurno.ParamByName('horafin').AsDate:=fin;
	DMInsertaInformes.IBPerteneceTurno.ParamByName('cturno').asstring:=DBLCBturno.Text;
	DMInsertaInformes.IBPerteneceTurno.Open;
 ['resultado'];
	 m2:=DMInsertaInformes.IBPerteneceTurno.FieldValues['resultado'];
En m2 tengo un 0, lo cual como he visto antes no es correcto. Se que la consulta es un poco marciana pero alguien tiene alguna idea de cual puede ser la razon?, un saludo a todos
Responder Con Cita
  #2  
Antiguo 20-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
No se si es tu caso, pero error típico de cometer, es crear en la consola un juego de datos para probar algo.. en este caso puede ser tu store pertenece_turno, pero crearlo dentro de una transacción y nunca hacer el comit. Entonces lo que ejecutemos desde ese ambiente tendremos un resultado, mientras lo que ejecutemos fuera tendremos otro!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 20-07-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
En el primer caso las fechas no estan correctas, ya que en sql el formato correcto es mes/dia/año, y tu estas indicando dia/mes/año.
En el caso de delphi las fechas que pongas si estaran correctas ya que al utilizar parametros y variables TDateTime, delphi convierte las fechas de forma automatica al formato correcto.
De modo que no son comparables e iguales las dos queries, por lo que no tienen que darte el mismo resultado.

Saludos
Responder Con Cita
  #4  
Antiguo 20-07-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
La fecha me da igual pq en el procedimiento solo cojo la hora que es lo que me interesa, la parte de la fecha no la tengo en cuenta. Al utilizar interbase 6 no puedo utilizar campos de tipo hora pero, cuando he guardado otras veces desde delphi guarda la fecha por defecto que es 30/12/1899 pero voy a comprobar lo que me dicen, gracias
Responder Con Cita
  #5  
Antiguo 20-07-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
ok, ya lo he solucionado, era el cast de los datos en el codigo delphi que ponia date en lugar de datetime. Muchas gracias por todo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 17:38:38.


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