![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Una opción que me gusta un poco más es usar parámetros:
Te olvidas de esta manera de tener que dar formato a los campos (QuotedStr, DateTimeToStr, etc...
Última edición por duilioisola fecha: 03-10-2007 a las 12:06:00. Razón: Salian caritas ... |
|
#2
|
|||
|
|||
|
Sigue igual
El siguiente codigo (retocado minimamente respecto al que me has pasado) arroja cero registros y deberia haber alguno:
Creo que saber lo que pasa pero no como arreglarlo. La variable dia es un TDateTime convertido a cadena. Por tanto tiene el siguiente formato: "01/01/2001 10:00:00" y claro, no coincide por el añadido de la hora. Lo suyo seria eliminar de alguna manera (?) el campo hora de la cadena. ¿Pero como? Gracias de antemano. |
|
#3
|
||||
|
||||
|
Cita:
Un saúdo
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) Última edición por Ivanzinho fecha: 03-10-2007 a las 13:10:36. |
|
#4
|
||||
|
||||
|
Lo malo de tratarlo como un string, son las conversiones. (dd/mm/yyyy, mm/dd/yyyy, etc.)
Puedes tratar de la siguiente manera: Dia será del tipo TDateTime. Trunc(Dia) devuelve la fecha sin hora.
|
|
#5
|
|||
|
|||
|
Para duilioisola
No entiendo bien el código que me pones:
¿Podias ser mas explicito? Muchas gracias por tu tiempo. |
|
#6
|
||||
|
||||
|
Estarás harto de usar procedimientos con parámetros de entrada ¿verdad? Por ejemplo cuando usas combo.Items.Add('un elemento más'), estas usando un parámetro de tipo texto que se lo das al método "Add". Pues eso mismo se hace aquí pero, con un TIBQuery.
En realidad, el código where debe aparecer así: (sin los emoticones jejeje):
Cuando antepones los dos puntos ":" a un nombre, éste se convierte en un parámetro de entrada, que después se asigna su valor con:
o bien:
Aquí se ha usado DESDE_ENTRADA y HASTA_ENTRADA, pero puedes poner el nombre que te venga en gana, siempre que no sea igual a una palabra reservada de SQL o nombre de un campo (eso ya es otra historia ).¿Ventajas? - Al usar parámetros el SQL queda compilado, las sucesivas ejecuciones son más rápidas, precisamente porque la expresion SQL no ha de evaluarse de nuevo. - Delphi se encarga de las conversiones de fechas (por ejemplo), ten en cuenta que paradox, Firebird, Oracle, etc pueden usar configuraciones de fecha distintas dd/mm/yyyy o bien mm/dd/yyyy o bien yyyy/mm/dd. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#7
|
||||
|
||||
|
Una cosa más sobre la explicación que te han dado:
Si Dia = 03/10/2007 16:21 Trunc(Dia)=03/10/2007 Trunc(Dia+1)=04/10/2007 El WHERE del SQL hace que 03/10/2007 <= DIA_ENTRADA < 04/10/2007. - O dicho de otra manera: que DIA_ENTRADA esté comprendido entre 03/10/2007 y 04/10/2007. - O dicho de otra manera diferente: todas las horas del día 03/10/2007. Nota: - al poner >= 03/10/2007 tomará todo lo mayor que el 03/10/2007 y este incluido. - al poner < 04/10/2007, tomará todo hasta el 04/10/2007 pero sin el 04/10/2007. O sea hasta el 03/10/2007 23:59:59 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Filtrar | miguel_figueroa | Conexión con bases de datos | 11 | 03-01-2007 23:50:48 |
| Filtrar BD | NoSv | Conexión con bases de datos | 8 | 11-10-2006 12:27:47 |
| Filtrar Dbf | userlazarus | Conexión con bases de datos | 2 | 23-05-2006 16:48:45 |
| Filtrar | pepelu1975 | OOP | 24 | 18-05-2004 09:14:57 |
| Filtrar | elloco | C++ Builder | 2 | 28-04-2004 05:12:36 |
|