FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Mensaje Conflicto entre tablas, Migración Query a ADOQuery
Buen dia .. tengo un detalle .... anterior mente usaba el siguiente código con el componente Query y me funcionaba muy bien sin problemas, usando en aquel entonces tablas paradox..
Código PHP:
Ahora el mismo código lo intenté migrar al componente ADOQuery ya que ahora estoy trabajando con tablas Mysql y lo tengo de esta forma: Código PHP:
"Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otro" El compilador no marca error y prácticamente estoy usando el mismo código con el que si me funcionaba, saben cual podría ser el error? EL error del mensaje lo genera en esta línea: Código PHP:
Última edición por koalasoft fecha: 31-01-2017 a las 17:59:32. |
#2
|
|||
|
|||
Hola,
En el Where indica a que tabla se refiere el campo CL si es la tabla cliente, CTRL si esta en CTRLON o ONT si esta en ONTs |
#3
|
|||
|
|||
Gracias por responder ..
Hice lo que mencionas, lo cambié por esto... Código PHP:
|
#5
|
|||
|
|||
Cita:
Código PHP:
Código PHP:
|
#6
|
||||
|
||||
Buen día.
... información de interés ~ Using parameters with ADO Query (mysql/MyConnector) - StackOverflow -
__________________
"constructive mind, destructive thoughts" |
#7
|
||||
|
||||
Una pregunta...
el campo BOARD_ONT es de la tabla CTRLONT ? Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#8
|
|||
|
|||
Gracias por el dato .. intenté con esto ...
Código PHP:
Una pregunta tendrá algo que ver el tipo de datos que tenga definida en la BD, ya que el campo BOARD_ONT es de tipo Int(11) en la BD Mysql. |
#9
|
|||
|
|||
Asi es estimado !! es un campo de la Tabla CTRLONT de tipo INT [int(11)] de la BD Mysql.
|
#10
|
||||
|
||||
Hola, lo normal es asignar la sql y luego dar valor a los parámetros, es decir, después de hacer query.Sql.Add(), defines el valor del parámetro. Yo creo que no hace falta declararlo, solamente asignarle el valor.
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#11
|
|||
|
|||
Revisa si tienes los parametros creados puesto que estas asignando el Query en runtime deberias de crear los parametros ya que no existen aun.
En las propiedades del TQuery te das cuenta en Parameters si tienes dados de alta alguno. Saludos. |
#12
|
||||
|
||||
Tal y como respondi en DelphiAccess:
El componente internamente interpreta la sentencia SQL y crea automaticamente los parametros; no hace falta que invoques para nada al metodo Parameters.AddParameter Osea por ejemplo, con un SQL asi:
Se crea automaticamente un objeto TParameter con nombre o "identificador" 'Param'. Si por algun motivo te interesa desactivar esto ultimo y encargarte vos mismo de crear los parametros, debes setear la propiedad ParamCheck a False El problema son los parametros pero por ambiguedad; internamente la coleccion TParameters del TADOQuery va a tener dos parametros llamados igual y uno va a quedar sin un valor definido y por eso tiene conflicto de datos Prueba de concepto (necesario que el ADOQuery tenga su propiedad Connection seteada a una conexion "valida")
|
#13
|
|||
|
|||
Bueno no se si sea la forma mas elegante o teng consecuencia a futuro .. pero al menos de esta forma me funcionó..
Puse los valores en una variable .. Código PHP:
Código PHP:
|
#14
|
|||
|
|||
No es la forma adecuada, puedes llegar a tener problemas con los tipos de datos o cadenas con comilla simple, lo ideal es usar los params ya que con ellos te evitas esos temas.
Revisando lo que comenta Agustin es correcto, al agregar a la setencia ":valor" el parametro es creado automaticamente, revisa si el prefijo de params esta como caracter ":" , en algunso caso viene como "@" (en algun componente lo llegue a ver) y la otra es el params check que se encuentr en false, por ultimo te recomendaria (si tu sentencia es fija y siempre usa los mismos parametros) setearla desde diseño y ahi podras ver si se crean los parametros y asignarle valores en diseño para pruebas. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
conflicto entre aplicaciones | zajoma | Tablas planas | 3 | 27-05-2008 18:48:58 |
Conflicto entre puertos | jsanchez | API de Windows | 2 | 07-09-2007 01:37:17 |
Conflicto entre nospE y eagS | marcoszorrilla | La Taberna | 3 | 09-01-2007 19:34:23 |
Query entre dos tablas de distintas databases | tefots | Firebird e Interbase | 2 | 06-11-2006 16:28:29 |
Conflicto entre Query y Tabla filtrada | Michael | Varios | 2 | 20-05-2004 22:37:43 |
|