Problème de requête SQL dans un prog. en VB

Problème de requête SQL dans un prog. en VB - VB/VBA/VBS - Programmation

Marsh Posté le 03-12-2003 à 17:41:49    

Bonjour,
 
Je suis un autodidacte dans la programmation. Après un an de galère seul, je me suis décidé à prendre quelque heures de cours pour l' accés d' une base de donnée avec VB6 (très chère soit dit en passant...).
Nous avons créer un programme et je ne comprends pas une requête.
La voici:
Private Sub Command1_Click()
If Trim(Text1.Text) <> "" And Trim(Text2.Text) <> "" Then
    Cxn.Execute ("insert into codeinami ([N°INAMI], intitule) values ('" & Replace(UCase(Trim(Text2.Text)), "'", "''" ) & "','" & Replace(UCase(Trim(Text1.Text)), "'", "''" ) & "')" )
    MsgBox ("donnée ajoutée!" )
    List1.Clear
    Text2.Text = ""
    Text1.Text = ""
    IniList
    Else
    MsgBox ("Aucun texte n'a été encodé" )
End If
 
Mon problème se situe à ce niveau: ('" & Replace(UCase(Trim(Text2.Text)), "'", "''" ) & "','" & Replace(UCase(Trim(Text1.Text)), "'", "''" ) & "')" )
Pourquoi toutes ces apostrophes et ces guillemets??? Pourriez vous éclairer ma lanterne même sur une simplification de cette requête. Je ne comprends pas l' utilisation de l' esperluette "&". Je cherche juste à comprendre le fonctionnement et la raison de leur utilisation afin de pouvoir appliquer cela dans d' autres programmes sans devoir bêtement faire des copiers/coller.
 
Merci d' avance pour la réponse.
 
Orthodocs
End Sub

Reply

Marsh Posté le 03-12-2003 à 17:41:49   

Reply

Marsh Posté le 03-12-2003 à 18:31:52    

Je suppose que tu fais une requête vers Access, c'est typique de cet environnement (les [] ont d'ailleurs trahi Access). Tu remarqueras que dans la requête définitive, les valeurs de type chaîne sont encadrées de simples guillemets.  Mais que se passera-t-il si une des chaînes en question contient elle-même un guillemet? Ca plantera la requête, donc on les redouble. On appelle cette technique échapper une chaîne (escape a string en anglais).
 
En MySQL par exemple, c'est le caractère slash remplit ce rôle.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed