![]() |
![]() |
| 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
|
|||
|
|||
|
Bueno de todos modos muchas gracias por dedicar tiempo a los n problemas que se me presentan, en mi camino por el aprendizaje de delphi y Firebird
Después de dar muchas vueltas probando la alternativa de utilizar EXECUTE STETEMENT. Y revisando con un compañero la sintaxis tanto en delphi como en firebird, no logramos hacer uso de esta característica que me ayudaría a solucionar muchos problemas. Solucioné el problema utilizando like y pasando solo el valor del parametro
Pero no sé que tan eficiente sea el like. Saludos!! |
|
#2
|
||||
|
||||
|
Hola.
En mi opinión tu problema no tiene que ver con el comando EXECUTE STATEMENT. El problema está en que no estas construyendo una sentencia SQL válida. Solucionarlo tendría que ser bastante sencillo. Solo tienes que utilizar un depurador de procedimientos almacenados (hay varios disponibles pero solo conozco los comerciales, como el IB-Expert en la versión completa). Depura tu procedimiento, hasta llegar al EXECUTE STATEMENT, y comprueba cual es la sentencia exacta que se va a lanzar (para ello quizá sea conveniente ponerla primero en una variable). Una vez tengas la sentencia que se va a ejecutar, pruébala directamente en el IBConsole, IB-Expert, ... o tu herramienta favorita. Va a fallar, solo tienes que corregirla hasta conseguir que funcione correctamente. Una vez funcione, ya solo tienes que modificar el procedimiento, para que construya la sentencia, en el formato probado. NOTA: Si no consigues hacer funcionar la sentencia, indícanos cual es exactamente la sentencia que se lanza, y probaremos de ayudarte. PD : Efectivamente, el Like no es muy eficiente. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#3
|
|||
|
|||
|
Hola!
Ya estoy dudosa, acerca de si la brutalidad me esta invadiendo!! Hice las pruebas que me aconsejaste (con IBadmin 4), pero nada. Te envío la estructura de las tablas y el procedimiento que utilizo, por si los necesitas para probar
|
|
#4
|
|||
|
|||
|
y el procedimiento
|
|
#5
|
||||
|
||||
|
Hola.
Sin el valor que se asignan a los parámetros del procedimiento, no se puede estimar como será la sentencia construída dinamicamente, y por tanto, porqué falla. La verdad es que seria mucho más simple que nos pasaras directamente el valor de :SQL_INS, así como el mensaje de error que te sale actualmente. Puesto que aquí es donde debe buscarse el error. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#6
|
|||
|
|||
|
Esta es la consulta:
los parametros son
y sale el error : column unknown 09/16/2004 , cuando llamo al SP desde delphi. lo que quiere decir que si solo se va a filtrar por rango de fechas y empresa la consulta que daría de la siguiente manera
Lo que se traduce en que solo quiero pasar los filtros (que aparecen coloreados en la primera consulta) sólo cuando sea necesario. Muchas gracias por tu paciencia!! Última edición por aurafern fecha: 17-09-2004 a las 17:33:44. |
|
#7
|
||||
|
||||
|
Hola.
Lo primero que salta a la vista, es que tienes fechas sin delimitar. Es decir :
Eso debería quedar en :
Si aún no te funciona, haz explicitamente la conversión de cadena a fecha :
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|