Apostrophe dans un champ lors de l'insert

Résolu
mirela26 Messages postés 44 Statut Membre -  
 fidotools -
Bonjour,
lorsque que je fais un insert avec des champs contenant des apostrophes,cela me génère des erreurs!
comment y rémedier!
Configuration: Windows XP
Firefox 2.0.0.17

8 réponses

  1. pekka
     
    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
  2. Rollin'Babe !!
     
    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
  3. Rollin'Babe !!
     
    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
  4. Rollin'Babe !!
     
    Re,

    En d'autres termes - peus tu me donner ton ordre SQL insert.
    Thank's.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mirela26 Messages postés 44 Statut Membre
     
    salut
    çà marche avec un replace
    exemple:
    '" + monchamp.Replace("'", "''") + "'
    0
  7. fidotools
     
    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
  8. mirela26 Messages postés 44 Statut Membre
     
    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
  9. mirela26 Messages postés 44 Statut Membre
     
    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
    1. pekka Messages postés 4 Statut Membre
       
      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