beegeezzz
Messages postés152Date d'inscriptionmardi 4 novembre 2008StatutMembreDernière intervention10 avril 2017
-
11 avril 2009 à 18:13
beegeezzz
Messages postés152Date d'inscriptionmardi 4 novembre 2008StatutMembreDernière intervention10 avril 2017
-
11 avril 2009 à 18:43
Bonsoir tout le monde,
J'ai un problème avec ma chaine sql en VB :
Set rsTable BDOuvrirTable("SELECT * FROM clients WHERE login "" " & login & " "" AND mdp = "" " & mdp & """, True)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 11 avril 2009 à 18:23
Salut
En fait, le problème est dans l'utilisation des " à l'intérieur d'une chaine elle-même délimitée par des ".
Dans ta chaine, tu doubles bien les " pour insérer, mais regarde le résultat :
Ta chaine "SELECT * FROM clients WHERE login "" " & login & " "" AND mdp "" " & mdp & "" "va donner (avec login toto et mpd pass) "SELECT * FROM clients WHERE login " toto " AND mdp " pass "
Il y a un problème : Tu as ajouté un espace devant et derrière les textes, normal qu'il ne les trouve pas.
Pour simplifier les choses, SQL accepte le symbole ' comme délimiteur de chaine.
Comme ça, l'usage des doubles " est inutile et simplifie l'écriture :
"SELECT * FROM clients WHERE login = '" & login & "' AND mdp = '" & mdp & "'"
Mais fait bien attention à ne pas ajouter d'espace dans une zone que SQL reconnaitra comme une chaine.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)