Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   1 Query - 2 Parametros (https://www.clubdelphi.com/foros/showthread.php?t=11392)

azaagh 12-06-2004 12:47:12

1 Query - 2 Parametros
 
Editado: (DBE con paradox 7)

haber, si yo tengo un query al que se le introducen por codigo dos parametros
tal como lo hago en el ejemplo, no da error de codigo (ya que todo esta correcto) pero no funciona en ejecucion:
Código Delphi [-]
dm1.Query1.Close;
dm1.Query1.sql.clear;
dm1.Query1.sql.text:='SELECT 3pt FROM jugadores WHERE equipo= :team AND apellidos = :player';
dm1.Query1.ParamByName('team').AsString := ecasa;
dm1.Query1.ParamByName('player').AsString := kien;
dm1.Query1.Open;

bueno, como podeis ver, se le introducen 2 variables por codigo, pero al ejecutar me dice que el campo "3pt" no existe....
por lo tanto, deduzco (:rolleyes: ) que es por lo de las 2 variables....

como lo veis? hay alguna forma de hacerlo? en teoria lo estoy haciendo bien?

espero vuestras opniones :)

eduarcol 12-06-2004 18:57:25

Pues si te dice que el campo 3pt no existe debe ser por que el campo 3pt no existe, verifica bien el nombre, no creo que por un parametro mal indicado te diga que el campo que pides en la consulta no exista

Onti 12-06-2004 19:03:19

Hola azaagh:

Definitivamente el nro de parametros en una consulta sql no es limitante (por lo menos 2).

Debes verificar si existe el campo 3pt que haces referencia.


Otra opcion es que al generar tu cadena sql incluyas los parametros

Código Delphi [-]
Query1.sql.clear;
Query1.sql.add('SELECT * FROM TABLA WHERE CAMPO1='+QuotedStr(PARAMSTR1)+' AND CAMPO2='+QuotedStr(PARAMSTR2)';
Query1.open;

donde paramstr1,paramstr2 son variables string, QuotedStr sirve para incluir comillas .

Espero te ayude
Salu2

jachguate 13-06-2004 04:59:04

Por supuesto que es mucho mejor el uso de parámetros. Te evitas tener que formatear las fechas en un formato entendible con el servidor (que a veces varia incluso entre instalaciones de un mismo sistema), que si comas o puntos para separar los decimales y todo eso.

Además, si usas un motor "de verdad", y ejecutas la consulta varias veces, usando parámetros podes conseguir que el servidor la analice (parse) una sola vez, genere su plan de ejecución, y luego ejecutarla muchas veces con diferentes parámetros. Esto ayudará a un mejor desempeño de tu aplicación. Por el contrario, al meter strings en la sentencia SQL este comportamiento no es posible.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 19:55:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi