Problema con Parambyname
Buenas. Estaba teniendo problemas en una consulta con la que estaba usando Parambyname para pasar ciertas variables. Descubrí que el problema surge cuando le paso la misma variable varias veces. La consulta original es un poco larga asi que pongo un ejemplo con una más sencilla para ver si alguien me puede decir cual es el problema
Código:
AQ.SQL.text := 'SELECT :prueba,:prueba,:prueba'; 35,35,35 Pero sin embargo me devuelve 35,NULL,NULL Es como si sólo si cogiera la primera referencia al parámetro y el resto se lo saltara. Un saludo y gracias de antemano. |
Cita:
En todo caso sería algo así:
|
Cita:
Bueno, es obvio que cometí un error al transcribir el código Código:
AQ.SQL.text := 'SELECT :prueba,:prueba,:prueba'; El ejemplo que pones funciona correctamente, pero no es lo que pretendo tratar en este tema, ya que no se repite ningún parámetro. Un saludo y gracias por tu pronta respuesta. |
Veamos, en principio, no puedes pasar como parámetros nombres de campos y...
tampoco puedes repetir el nombre del parámetro, ¿cómo sabe mysql a cual de ellos te refieres? :confused: |
Quizás el error lo cometí al poner una consulta tan banal para simplificar la cuestión a tratar.
La razón de pasar el mismo parametro quizás se vea mejor en una consulta como esta Código:
SELECT funcion1(:ID),funcion2(:ID) Claro que se puede hacer como: Código:
SELECT funcion1(:ID1),funcion2(:ID2) Pero esto, desde mi punto de vista, es lo que no tiene mucho sentido. Sobre todo si ese valor se repite varias veces dentro de la consulta. Un saludo. |
Ya te digo, desconozco mysql, pero dudo mucho que puedas hacer eso, repito lo de antes, ¿cómo sabe mysql a cual de los parámetros te refieres?
|
A ver si alguien que conozca mejor mysql puede dar una opinión más segura.
|
Cita:
// Saludos |
El problema no es de MySQL sino del componente que usas para conectarte, yo uso Zeos y puedo utilizar sin problemas varias veces el mismo parámetro en la consulta. De hecho ni siquiera tengo que poner nada en los datos de cada parámetro, Zeos los crea automáticamente.
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 16:23:18. |
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