![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
No se si todavia le sirve a alguien, pero le paso "una" solución por las dudas.
No interesa en que database o path o aliases se ubiquen las tablas e incluso los queries (consultas) el programa en el directorio del ejecutable, la cuestion es que cuando se ejecutan los queries se crean archivos temporales sucesivamente (repito: en el directorio del ejecutable), comenzando con _QSQL000.DBF, luego _QSQL001.DBF, y así hasta llegar al _QSQL999.DBF, momento en el cual ya no genera el temporal _QSQL1000.DBF sino que produce un error de "invalid parameter", aunque no tengamos ningún parametro, primero se bloquen algunos queries y luego ya ni el programa se ejecuta. Esos archivos se pueden abrir con el BDE, tienen cabecera o campos pero no registros (hasta donde vi). Como son temporales se borran y listo, ya soluciona el problema. Se podría hacer una pequeña rutina para que borre automaticamente dichos archivos al salir del programa por ejemplo. Ahora porque se produce eso no me pregunten. Saludos. Francisco. [email protected] Ojalá les sirva todavia. |
|
#2
|
|||
|
|||
|
Llegue a este tema dado que actualmente se me ha presentado el caso, pero bueno ya han pasado de esto vario añitos, y con ellos varias versiones de Delphi- Hoy en dia voy en Delphi Alexandria y las conexiones comunes o son con los Zeos o con Firedac, en todo caso el error es el mismo "Invalid parameter." sin mas informacion al respecto. en mi caso me tomo tiempo hasta que empece a probar cada uno de los campos que recupero en mi consulta, pues tengo campo que reemplazo por ser de un origen diferente al de mi base de datos. estos campo son de tipo texto y los reemplazao haciendole quotedstr(valor):
los parametros nombre y telefono los reemplazo con una funcion personal de nombre "cambiaen":
cuando los parametros tiene infomacion se asigna la sql como :
pero si el dato viene vacio al hacer el cambiaen queda:
y aca nacio en mi caso el error "Invalid parameter." , la solucion fue que cuando la variable sea vacia, reemplazarla por un espacio de modo la sql quede como;
Bueno, espero les sirva este analisis del caso que me trajo hasta esta link. Última edición por Casimiro Noteví fecha: 27-03-2023 a las 12:29:16. |
|
#3
|
||||
|
||||
|
El problema es que cualquier parte de una SQL NO PUEDE ser un parámetro.
Es decir, puedes hacer esto:
Pero no puedes hacer esto:
Creo que lo que estás haciendo tú es lo segundo y no está permitido. En este último caso, como en el tuyo, debes crear la SQL concatenando valores.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|