![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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'; AQ.Parameters.ParamByName('str').DataType := ftinteger; AQ.Parameters.ParamByName('str').Value := 35; AQ.open; 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. |
#2
|
||||
|
||||
Cita:
En todo caso sería algo así:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Cita:
Bueno, es obvio que cometí un error al transcribir el código Código:
AQ.SQL.text := 'SELECT :prueba,:prueba,:prueba'; AQ.Parameters.ParamByName('prueba').DataType := ftinteger; AQ.Parameters.ParamByName('prueba').Value := 35; AQ.open; 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. |
#4
|
||||
|
||||
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? ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
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. |
#6
|
||||
|
||||
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?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
A ver si alguien que conozca mejor mysql puede dar una opinión más segura.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
||||
|
||||
Cita:
// Saludos |
#9
|
||||
|
||||
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.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#10
|
||||
|
||||
Yo tengo el MISMO problema con MS SQL Server, y después de mucho trastear, tuve que poner el mismo valor en tres parámetros diferentes (refiriéndome a tu caso, por ejemplo). Si por mí fuera, elegiría usar ZEOS, pero donde manda capitán...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con el ParambyName | giancarlorc | SQL | 1 | 23-10-2011 19:27:06 |
Sobre el uso de ParamByName | salvica | SQL | 11 | 24-11-2008 18:28:50 |
ParamByName en ADO | silviodp | Tablas planas | 5 | 12-01-2008 12:50:01 |
Problema con Parambyname y dataset | Rockin | Firebird e Interbase | 4 | 12-10-2007 00:10:47 |
Insert y parambyname | Dantael | SQL | 1 | 17-11-2003 08:50:24 |
![]() |
|