Apostrophe dans un champ lors de l'insert

Résolu/Fermé
mirela26 Messages postés 43 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 7 janvier 2009 - 29 sept. 2008 à 20:54
 fidotools - 21 nov. 2012 à 17:03
Bonjour,
lorsque que je fais un insert avec des champs contenant des apostrophes,cela me génère des erreurs!
comment y rémedier!

8 réponses

normal... l apostophre dans le champ texte va ferme ta requete sql... qui sera donc incorrecte car incomplete.

il faut mettre un \ devant chaque appostrophe

en php tu peux utiliser la fonction addslashes
2
Rollin'Babe !!
30 sept. 2008 à 08:41
Bonjour,

Peux tu préciser ces points stp :

- Quelle est la type de ton champ de la table qui te pose problème à l'insertion ?.
- Si c'est du CHAR/VARCHAR - ca devrait po poser de pbs - tu peut y inserer ce que tu veux normalement.
- Quelle erreur SQL te remonte ton SGBD ?.

A+.
0
Rollin'Babe !!
30 sept. 2008 à 18:21
Re,

Tu effectues l'Insert toi meme à partir d'un Script ou tu le fais directement sur Access ??...(je connais pas bien Access - pardon).
Si oui - peux tu me le donner - merci.
0
Rollin'Babe !!
30 sept. 2008 à 18:27
Re,

En d'autres termes - peus tu me donner ton ordre SQL insert.
Thank's.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mirela26 Messages postés 43 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 7 janvier 2009
3 oct. 2008 à 16:59
salut
çà marche avec un replace
exemple:
'" + monchamp.Replace("'", "''") + "'
0
Non juste sur ta requete tu écrit les champs sans crochets:

values(" & sLRef & "," & lblNOM.Text & ")" au lieu de values('" & sLRef & "','" & lblNOM.Text & "')".

J'espère que c bon pour.
0
mirela26 Messages postés 43 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 7 janvier 2009
30 sept. 2008 à 18:00
bonjour
les types des champs: texte ou memo
j'utilise une base Access!
et l'erreur suivante est générée:
Erreur de syntaxe (opérateur absent) dans l"expression
en soulignant la ligne:
cmdInsert.ExecuteNonQuery()
-1
mirela26 Messages postés 43 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 7 janvier 2009
30 sept. 2008 à 20:06
oui,c'est justement çà,PEKKA ! l'apostrophe ferme mon code
je code avec vb.net
un bout de code:
sInsertSQL = "insert into Missions([Référence Employés], NomEmployés) values('" & sLRef & "','" & lblNOM.Text & "')"
Dim cmdInsert As New Data.OleDb.OleDbCommand(sInsertSQL, cnAccess)
cmdInsert.ExecuteNonQuery()

Je comprend pas mettre un \,c'est pas possible de le demander aux utilisateurs?!
-1
pekka Messages postés 3 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 30 septembre 2008
30 sept. 2008 à 20:25
non bien sur tu ne vas pas demander aux utilisateur de mettre \

je connais pas vb.net mais en php la fonction addslashes va mettre des \ devant ' et " au texte rentré par un utilisateur a travers un formulaire par ex...
-1