Delphi Pb recherche dans BD avec Tquery

Fermé
Chardy - 2 sept. 2004 à 21:45
 chat - 15 janv. 2008 à 14:40
Bonjour,
J'ai utilisé Tquery dans Delphi pour effectuer des recherches dans une table après avoir entré mon texte de recherche dans un objet Edit.Text comme ceci:
Query1.SQL.Add('Select champ');
Query1.SQL.Add('FROM matable');
Query1.SQL.Add('WHERE macolonne=Edit1.Text');

L'ennui est qu'il ne reconnait pas Edit1.Text. Quelle est la bonne syntaxe sur la dernière ligne?

4 réponses

Ravachol Messages postés 566 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
2 sept. 2004 à 22:18
Salut.
C'est normal car en fait c'est la chaine Edit1.Text qui est insérée dans la clause WHERE de la requête et non pas le contenu de la propriété Text.

Il faut plutôt faire une requête paramétrée et tu affectes Edit1.Text à ton paramètre comme ceci :
Query1.Params[0].AsString := Edit1.Text;

Tout cela de mémoire car ça va bien faire 2 ans que je n'ai pas retouché à Delphi et comme je n'ai plus Windows je ne peux pas vérifier pour être plus précis.

En éspérant d'avoir un peu aidé

A++

La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
1
-marie- Messages postés 7 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 7 septembre 2004 1
7 sept. 2004 à 11:24
salut
il faut utiliser la finction quotedStr, voilà la syntaxe :
Query1.SQL.Add('Select champ'); 
Query1.SQL.Add('FROM matable'); 
Query1.SQL.Add('WHERE macolonne= ('+quotedStr(Edit1.Text)+' )'); 
1
Salut à tous!
Et est ce que ces lignes peuvent m'aider à faire un tri: à partir de TEDit je tape un nom de champ et ce qui y correspond dans le DBGrid est pointé ?
0
Bonjour à tous

je veux faire une recherche avec date, mais je ne sais comment procéder

merci de m'avoir aider
0