Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Invalid Parameter en query (https://www.clubdelphi.com/foros/showthread.php?t=6403)

Robert 06-01-2004 20:42:19

Invalid Parameter en query
 
Hola con todos.
Tengo un problema respector al query que aqui describo:
query1.close;
query1.params[0].value:=parametrofecha1;
query1.params[1].value:=parametrofecha2;
query1.open;
while not query1.eof do
begin
query2.close;
query2.params[0].value:=query1DOCTO.value;
query2.params[1].value:=query1CLIENTE.value;
query2.open;
end;

Los tipos de datos estan correctos en ambos querys, el problema me da cuando lo ejecuto para un query1 con rango de fechas grandes, llega un momento en el que se cuelga el programa, sin enbargo cuando ejecuto de vuelta desde ese mismo registro que se quedo, NO DA problemas, y asi sucesivamente cada cierto tiempo se cuelga y sale el mensage "Invalid Parameter" o "Capacity not ssuport". Ignoro a que se deba.

Si alguien me pueda ayudar le agradeceria mucho.

marcoszorrilla 06-01-2004 22:20:48

Tendrías que explicarnos si las dos consultas están conectadas a la misma tabla o a tablas diferentes y que tipo de tablas usas.

En un principio me parece que no está bien planteado, creo que con "Update" sería mucho más sencillo.

Un Saludo.

Robert 07-01-2004 00:08:11

Efectivamente las tablas son diferentes y estoy usando tablas paradox.

En el mensaje anterior no lo dije pero luego del query2 tengo que llenar una tabla auxiliar con los datos que me devuelve esta.
Pero aunque lo dudo que por aquí esté el problema o tal vez me equivoque.
garcias Marcoszorrilla.

marcoszorrilla 07-01-2004 08:16:04

Entonces no entiendo bien el planteamiento, la tabla auxiliar que relación tiene con la primera, mejor dinos que es lo que quieres hacer exactamente prescindiendo del SQL.

Un Saludo.

Robert 07-01-2004 17:03:55

Lo que sucede es que estoy haciendo una extracción de datos de diferentes tablas, pero esta extraccion no lo puedo hacer a toda la tabla por lo tanto como las tablas están relacionadas por algún campo entonces las busquedas la tengo que hacer en cadena, es decir tengo un primer query que me filtra un rango de registros de una tabla, luego alguno de estos campos pasan a ser parametros de otra query y asi puedo tener hasta 3 o 4 querys relacionados. y es por aquí que viene el error cuando le doy un rango muy grande para uno de los querys. por que solo estoy utilizando
query.close;
query.params[x]:=parametro;//los que fueran necesarios
query.open;

No se si ahora me dejo entender, Gracias

__cadetill 07-01-2004 17:34:58

mmmmm, en lugar de hacerlo de esta manera, por qué no te planteas la posibilidad de cambiar la forma de hacerlo? es decir, en lugar de lanzar 2 querys, por qué no lanzas sólo 1 con un join? Esto te daría lo que quieres de una sola atacada, luego lo único que deberías de hacer es controlar el cambio de DOCTO y CLIENTE.

No se, es una sugerencia

marcial 27-10-2015 21:04:32

El problema se da, y no se sabe bien porqué, cuando se ejecutan multiples querys (en el caso que yo he tratado cuando llega en un bucle al query 1500 salta ese error de "Invalid Parameter" aun cuando no haya parámetros). En este caso la solución es poner el "LocalShare" del DBE a FALSE


La franja horaria es GMT +2. Ahora son las 09:35:57.

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