2016-10-23 3 views
0

Je dois configurer des requêtes sql.Valeur de paramètre Lazarus Pascal à partir d'une zone de texte

La commande Je veux entrer est INSERT INTO tblTest VALUES (1);

Voici mon code

SQLQuery1.SQL.text:=('INSERT INTO tblTest VALUES (' (enterid.text) ')'); 

enterid est ma zone de texte que je souhaite saisir un numéro ou un nom dans

Comment puis-je obtenir la parenthèses avant et après pour créer ma commande?

+0

Utilisez l'opérateur '' + pour concaténer Tout livre de texte vous dira que. –

Répondre

1

Je peux voir deux problèmes avec votre code. Toute l'instruction SQL est entre crochets ce qui est faux (au moins, c'est faux dans Delphi, donc je suppose que c'est aussi faux dans Lazarus.) Deuxièmement, l'instruction 'values' n'a pas besoin des parenthèses et est susceptible de stocker la chaîne littérale, "enterid.text"

Mieux vaut écrire comme ceci:..

SQLQuery1.SQL.text:= 'INSERT INTO tblTest VALUES (:p1); 
SQLQuery1.params[0].asstring:= enterid.text; 
// alternatively SQLQuery1.ParamByName ('p1').asstring:= enterid.text; 
SQLQuery1.execsql;