Bonjour,
Je vais une application delphi utilisant une base de données mysql.
J'ai un probleme lorsque ma requete ne doit donner aucun résultat (c'est a dire que je cherche un element non existant dans une de mes tables).

Pour cela, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
mysql_query(mysql, pChar('SELECT * FROM agents where nom='''+
   PChar(Enom.text)+''';'));
 
Resultat:=mysql_use_result(mysql);
et ensuite je teste avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if Resultat = nil    then   showmessage('Enfin ca marche !!!');
Le probleme, c 'est que l ordi trouve que resultat est différent de nil.
Qu'est ce qui cloche ?

J'ai mis mon code complet si dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TFDonneesAgent.BEnregistrerClick(Sender: TObject);
Var
    Resultat: PMYSQL_RES;
    Compteurchamps:Longword;
    row: PMYSQL_ROW;
    I: Word;
begin
 
        mysql_query(FPrincipal.mysql, pChar('SELECT * FROM agents where nom='''+PChar(Enom.text)+''';'));
 
        Resultat:=mysql_use_result(mysql);
        if Resultat = nil    then   showmessage('Enfin ca marche !!!'); 
        //si ma requete renvoie une table vide, le message "Enfin ca marche !!!" ne s'affiche pas
 
        Compteurchamps := mysql_num_fields(Resultat);
        row:= mysql_fetch_row(Resultat);
        i:=0;
 
        while ((Compteurchamps>0) and (i<=Compteurchamps - 1)) do
            begin
            .... etc
Si vous avez un idée .. je suis preneuse.
Merci bcp!
Julie