![]() |
![]() |
| 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
|
|||
|
|||
|
Gracias por tu atención, Lepe
Realmente el error me viene por el casteo de un registro 'Sin emitir', dado que me devuelve un error "Overflow occurred during data type Conversion error from string "itir/ e/Si" (en realidad la cadena del registro es 'Sin emitir', no 'No date') El tema del formato lo hice finalmente así, porque era como lo requería la base de datos. Lo único que necesitaría sería hacer una primera consulta sin los registros 'Sin emitir', y después hacer una consulta sobre esos resultados. He probado el crear una vista, y luego hacer una consulta sobre esa vista, pero me sigue dando el mismo error. Me imagino que esto será porque la vista llama a la table en cuestión y aplica todas las condiciones. |
|
#2
|
||||
|
||||
|
Si en el where estamos diciendo "WHERE MyDATE_VARCHAR <> 'Sin emitir' " todos esos registros no los procesa el update que puse, por tanto, ese error no debe producirse. Prueba mi sql en un TIbquery y usa "ibquery1.ExecSql" en lugar de "ibquery1.Open".
En la condición WHERE no puedes poner ese cast, porque entonces SI procesa los registros 'Sin emitir', y obviamente da el error. En las consultas, el Sistema Gestor, primero evalúa la condición where, para saber los registros que debe seleccionar, posteriormente, los selecciona y ejecuta la parte Select / Update / Insert etc. Como ves en mi parte where no se hace ningún moldeo de tipos. Edito: No necesitas 2 consultas, en una sola (la que puse anteriormente) lo hace todo. Pruébala ![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#3
|
||||
|
||||
|
Cita:
![]() ![]() O no quiere leerme, o me tiene ignorado.... no sé.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
|||
|
|||
|
Vamo amigo Lepe, no te sientas mal, no te ignoran, simplemente que ya se aferraron a una solución, verás que ahora si reaccionan
![]() ![]() Yo mejor me callo la boca, no puedo dar una solucion ![]() Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#5
|
|||
|
|||
|
No amigo Lepe, no te ignoro, solo que la consulta a la que te refieres conlleva añadir una columna a la tabla, y no puedo hacer dicha operación. Tenemos aproximadamente 500 bases de datos a las que habría que añadirles esa columna, y eso sería demasiado arriesgado.
Has probado la consulta que puse antes?. No entiendo como puede funcionar para un servidor de firebird, y para otro no.. |
|
#6
|
||||
|
||||
|
ahh bueno, si es eso pues se dice y listo, no pasa nada
.En Firebird 1.5, cuando he puesto una fecha como string he tenido que hacerlo en formato mm/dd/aaaa, no sé si haciendo el cast de esa forma te lo acepte. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#7
|
|||
|
|||
|
No me refería al tema del casteo, sino a hacer una consulta anidada simple, como por ejemplo
Código:
SELECT * FROM (SELECT * FROM TABLA WHERE Condicion <> 'VAL 1') WHERE Condicion = 'valor' ![]() |
|
#8
|
||||
|
||||
|
Hola, porque en vez de guardar como cadena 'Sin emitir', simplemente lo guardas como null, porque cuando es null si funciona, al final igual significara para ti que los registros que tengan ese campo como nulo son los 'sin admitir', dos detallitos que he visto en el formato de la fecha lo estas concatenando 'aaa/mm/dd' cuando deberia ser 'mm/dd/aaaa' y en tu comparación ambos estan con > (mayor), supongo que se te ha ido.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. Última edición por Caro fecha: 27-09-2007 a las 15:55:14. |
|
#9
|
|||
|
|||
|
Hm.. y qué os parecería el hacer una consulta anidada?:
Esta consulta hace perfectamente lo que estaba buscando... pero solamente en el ordenador de uno de mis compis de trabajo!!!!. En el resto de ordenadores no funciona, ni tampoco en el servidor!. Estoy mirando la razón por la que pueda suceder esto. Tenemos todos el Firebird 1.5 instalado. El ordenador en el cual esta consulta funciona tiene un par de dll's de Firebird 2.0 instaladas en la GAC. No obstante he desinstalado el 1.5 y he instalado el 2.0 y me sigue sin funcionar este tipo de sentencias. Tenéis una idea del porque de esto?. Tal vez hay algún paquete que se pueda instalar, que añada la posibilidad de usar estas consultas a Firebird? |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta con TIMESTAMP no devuelve nada | subzero | Firebird e Interbase | 10 | 12-09-2007 04:51:06 |
| Consulta dentro de otra consulta | judit25 | Conexión con bases de datos | 1 | 25-06-2007 15:52:15 |
| Saber si una consulta no devuelve datos | rafita | SQL | 4 | 18-09-2006 10:00:26 |
| Limitar los registros que devuelve una consulta | roman | Conexión con bases de datos | 1 | 03-09-2004 09:08:45 |
| Realizar una consulta a otra máquina | lore | Conexión con bases de datos | 2 | 02-10-2003 16:29:23 |
|