IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de donn�es Delphi Discussion :

probleme avec requete sql aime pas les strings


Sujet :

Bases de donn�es Delphi

  1. #1
    Membre chevronn�
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Par d�faut probleme avec requete sql aime pas les strings
    Salut, j'ai un probleme depuis maintenant quelques jours que j'arrive pas � r�soudre, voil�, quand je fais une requete SELECT xxx FROM yyy WHERE zzz avec un "zzz" numerique, tout va bien par contre quand le "zzz" est alphanumerique, la requete plante, voil� le code en cause, si qqn peut me venir en aide.
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    {Initialisation des variables de connection à la base de donnée} 
     
    user:='root'; 
    pwd:=''; 
    host:='127.0.0.1'; 
    port:=3306; 
     
    {Initialisation de la connection base de donnée} 
     
    MySQL := mysql_init(nil); 
    mysql_options(mysql,MYSQL_OPT_COMPRESS,nil); 
     
    {Connection base de donnée} 
     
    if mysql_real_connect(mysql, pChar(host), pChar(user), pChar(pwd), nil, port, nil, 0)= nil then showmessage('Connection impossible'); 
     
    {Selection de la base de donnée} 
     
    if mysql_select_db(mysql, pChar(dbname))<>0 then showmessage('Selection base impossible') ; 
     
    {Controle remplissage combo} 
     
    if combobox1.Text = '' then 
    begin 
    showmessage('Spécifier le mode de recherche!'); 
    end; 
     
    {Requete de recherche} 
     
    try 
    if ComboBox1.Text='Code rayon' then 
    begin 
    if mysql_query(mysql, pChar('SELECT * FROM '+table+' WHERE code = '+Edit2.Text ))<>0 then 
    ShowMessage('requête selection plantée'); 
    resultat:=mysql_use_result(MySQL); 
    row := mysql_fetch_row(Resultat); 
     
    {Remplissage des cellules avec les données} 
     
     
    for i := 1 to 6 do 
    begin 
    StringGrid1.Cells[i,1]:= row[i]; 
    end; 
     
    {Affichage du nombre d'article en stock} 
     
    if mysql_query(mysql, pChar('SELECT COUNT(*) FROM '+table+' WHERE code = '+Edit2.Text )) <> 0 then showmessage('requete compteur plantée'); 
    article:=mysql_use_result(MySQL); 
    nombre := mysql_fetch_row(article); 
    Edit1.Text := nombre[0]; 
    end
    Donc je r�sume, si le contenu de mon Edit2.text est numerique "123559" tout fonctionne par contre quand c'est de l'alphanumerique "SZOF5547", �a plante.
    Je vois vraiment pas o� je me suis plant� et pourquoi �a marche pas.
    Au fait, j'ai delphi 7 personnel et je g�re ma partie sql avec mysql.pas et la librairie officielle libmysql.dll.

    Merci de votre aide.

  2. #2
    Membre �clair� Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activit� : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Par d�faut
    c'est logique, il faut faire �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    WHERE code = "' +Edit2.Text + '"'

  3. #3
    Membre confirm�
    Inscrit en
    Mars 2003
    Messages
    106
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Par d�faut
    En SQL standard le code c'est plut�t:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    WHERE code = ''' +Edit2.Text + ''''
    avec des ' au lieu de "

  4. #4
    Membre chevronn�
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Par d�faut
    merci pour vos reponses, j'ai fais avec quotedstr() qui remplace les quotes, �a marche

Discussions similaires

  1. [MySQL] probleme avec requete SQL
    Par hi-wave dans le forum PHP & Base de donn�es
    R�ponses: 9
    Dernier message: 01/03/2012, 21h03
  2. probleme avec requete SQL dans code VB6
    Par captainamerica75 dans le forum VB 6 et ant�rieur
    R�ponses: 4
    Dernier message: 30/05/2007, 21h36
  3. Telnet n'aime pas les String ?
    Par Nasky dans le forum D�veloppement
    R�ponses: 4
    Dernier message: 02/03/2007, 13h57
  4. [C# 2.0] Probleme avec requete SQL
    Par Sion_Sempai dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 18/09/2006, 23h45
  5. probleme avec requetes SQL contenant des dates dans la clause WHERE
    Par reeda dans le forum Requ�tes et SQL.
    R�ponses: 3
    Dernier message: 18/09/2006, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo