nou366
Messages postés92Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention10 octobre 2010
-
17 févr. 2006 à 12:00
nou366
Messages postés92Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention10 octobre 2010
-
23 févr. 2006 à 17:29
Bonjour
J'essaie de faire un query en passant une valeur d'un edit
mais , il me dit "erreur de syntaxe, opérateur non présent"
mon code :
adoQuery1.Close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Nom ='+edit1.Text );
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 22 févr. 2006 à 23:19
arrette pardon ....
je te suit dans l'erreur pourquoi tu met ça : +')'
enleve les '' qui est on dernier.
voici comment les ecris
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num='+IntToStr(N));
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num='+edit2.Text);
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num='+quotedstr(Datetimetostr(Datefield));
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 20 févr. 2006 à 22:29
les champs chaine de carectere ,date ...on les met avec quoted ''''
mais champs numerique sans les ''''
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num='+IntToStr(edit2.Text)+')';
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 22 févr. 2006 à 23:14
SQL est une suite de chaine de carectere. donc
pour un numerique exemple:
Var N:Integer;
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num= '+IntToStr(N)+')';
si ce numerique lu a partir d'un edit :
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num='+edit2.Text+')';
pour un type chaine de carectere :
on le met entre "" (on utilisant le QuotedStr).
Pour un type Tdatetime:
Var DateField:TdateTime;
on transtype d'abord en string et lui ajoute des """;
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num ='+quotedstr(Datetimetostr(Datefield)+')';
Resumé:
On utilise toujours un transtypage vers une chaine de carectere pour le transmetre au moteur de base de donnée
Numerique -----> string
String------>quotedString
date---->string---->quotedstring...
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 22 févr. 2006 à 23:27
Je demande pardon parfois on vois pas les petit erreur meme ds ma premier reponce j fais une erreur fatale
Inttostr(edit1.text) !!!! et pour la deusieme j pas controller ça
adoQuery1.SQL.Add( 'SELECT * FROM table1 WHERE Num='+IntToStr(N)+')';
La property SQL est un Objet derivé de Tstrings (suite de chaines)
a chaque entrée on utilise la methode ADD qui reçoit comme parametre un string : SQL.ADD(Variable string);
je te conseille d'abord de construire ta chaine et aprés tu l'intoduise a la blace de la variable pour ne pas se trompé d'ecriture .
Je demande de me pardonner de cette erreur , et je te souhaite une bonne chance