SQL et chaines de carractères

orthodocs Messages postés 6 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 10 août 2004 - 2 déc. 2003 à 23:27
Shivan0910 Messages postés 149 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 24 novembre 2010 - 3 déc. 2003 à 08:03
Bonjour!
Je suis autodidacte en informatique et me suis lancé dans l' apprentissage de VB6 pour créer une base de donnée sous access à des fins professionnelles.
Je ne vous cache pas les embûches que j' ai rencontré et je me suis décider à suivre une petite formation de quelque heures pour l' accès d' une base de donnée avec VB. Nous avons donc créer un programme mais les finances ne m' ont pas permis de continuer cette formation et il reste des lacunes qui m' empêche de progresser.
En fait je ne comprends pas une partie du code et cela me fruste. J' espère que quelqu' un pourra m' aider ou me renseigner ver un lien qui pourra me sortir de ce "bourbier".
En fait je bute sur la manipulation des chaines de carractères dans une requête SQL.
Voilà le code de cette commande:

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

End Sub

Je ne comprends pas la syntaxe de "insert to......".
et surtout je me perds dans ces apostrophes "'" et ces guillemets "". A quoi servent ils et comment fonctionnent ils?

Un grand merci pour votre aide.

Orthodocs

2 réponses

cs_doggy Messages postés 50 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 janvier 2004
2 déc. 2003 à 23:44
Salut,

Lorsque tu veux pouvoir inscrire des guillemets ou des apostrophes dans une base de données qui supporte le langage SQL, il est nécessaire de mettre double apostrophes ou double guillemets pour que la requête soit valide. Si tu n'en mets qu'un seul, ta requête sera considérée comme :

- terminée pour les guillemets
- la suite est un commentaire pour les apostrophes.
la fonction replace utilisée ici permet de corriger la requête qui serait formulée et serait interprétée de manière incorrecte.

J'espère que c'est clair ... j'en suis pas certain en fait ... mais je vois pas comment expliquer plus simplement 8-)

Pour ce qui est de insert désolé, mais je peux pas t'aider, cette fonction ne fait pas (encore) partie de mon vocabulaire sql %-6

@++
0
Shivan0910 Messages postés 149 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 24 novembre 2010 2
3 déc. 2003 à 08:03
le insert into sert, comme son nom l'indique a inserer des enregistrement dans une table SQL...

syntaxe :

INSERT INTO NomDeLaTable ([NomChamp1], [NomChamp2])
VALUES (Valeur1, Valeur2);

NomDeLaTable = Nom de la table dans laquelle doit etre insérée l'enregistrement
[NomChamp1] [NomChamp2] = Nom des champs dans lesquels des valeurs doivent etre ajoutée, si tu insers dans tout les champs c'est facultatif, tu n'es pas non plus obligé d'inserer dans tout les champs...
Valeur1 Valeur2 = toutes les valeurs à insérer dans les champs nommés correspondant, si tu ne precises pas les noms de champs, il doit y avoir une valeur pour chaque champ... meme si il est vide il faut par exemple mettre '' pour une chaine de caracteres...

j'espere que ca t'aidera...

"la vitesse de la lumière est supérieure à celle du son, c'est pourquoi un imbécile parait intelligent jusqu'a ce qu'il parle !!"
0
Rejoignez-nous