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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2003
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Un poco extraño

buenas


Veran dentro de un procedimiento llamo a otro, vale y esto es lo extraño.

...
...
...

for select nota,nombre from alumnos where fecha >=:dfecha
and fecha <= :hfecha into :mnota,:mnombre
do beginn

if (mnota < 5 ) !!! sin vacaciones
.....
if (mnota > 5)
......
etc.

Pues no hace nada, sin embargo

for select nota,nombre from alumnos
into :mnota,:mnombre
do beginn

if (fecha >=:dfecha and fecha <= :hfecha)
then begin
if (mnota < 5 ) !!! sin vacaciones
.....
if (mnota > 5)
......
end.

Lo he comprobado y lo que me j... el procedure es la fecha, los parametros de pasada no estan mal, ya que como esta dentro de otro procedure que usa los mismos valores de fecha y el otro hace lo que debe.

A alguien se le ocurre algo.
Responder Con Cita
  #2  
Antiguo 11-07-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

En ese código ¿ donde llamas a un procedimiento dentro de otro ?.

Los dos códigos llevan beginn en lugar de begin.

El primer código no tiene las asignación de campos a variables, o sea la linea into :mnota,:mnombre

La verdad es que deberías explicar un poco mejor el problema, y quizá poner el código entero de tus procedimientos.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 11-07-2003
murci murci is offline
Miembro
 
Registrado: jul 2003
Ubicación: Murcia
Posts: 43
Poder: 0
murci Va por buen camino
Creo que el pb lo tienes en que las fechas en interbase si trabajas con el SQL DIALECT = 1, en realidad son TimeStamp. En ese caso debes usar la funcion extract e ir comparando la fecha campo por campo o definir los parametros de la sql como datetime y asignarle valores a la hora:
00:00:00 para la menor y
23:59:59 para la mayor.

Espero que te sirva de algo.
__________________
J. Adolfo Núñez
Responder Con Cita
  #4  
Antiguo 14-07-2003
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Gracias por vuestras respuestas

guillotmarc lo de beginnnn es una errata al escribir, si no me daria error en la sentencia al compilar. Claro que tiene asignacion me llevo dos dias saber que me devolvia valores raros si no se le asignaban.

murci las fechas estan bien, es mas he usado una tabla auxiliar para grabarlas y verificarlas.

Solo que es raro que en la select si le paso como valores de acotacion los campos fecha no haga nada.

En breve pondre el codigo, ahora no lo tengo delante.
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 03:27:09.


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