Problème d'insertion d'une chaine contenant des cotes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 501 fois - Téléchargée 65 fois

Contenu du snippet

Ce problème ne se pose que lorsqu'on insère dans la base de données à l'aide de INSERT INTO.
La solution c'est d'éviter INSERT INTO.
voir code

Source / Exemple :


<%
Set DBConn=server.CreateObject("ADODB.Connection")
DBConn.open("DataBase")
Set DBrs=server.CreateObject("ADODB.Recordset")
DBrs.open "Table",DBConn,3,3
DBrs.AddNew
DBrs.Fields("Champs1")="Chaine1 contenant ' reste de la chaine"
DBrs.Fields("Champs2")=valeur2
DBrs.Fields("Champs3")=valeur3
'reste des champs de la table
DBrs.update
DBrs.close
Set DBrs=NoThing
DBrs.close
Set DBConn= NoThing
DBConn.close
%>

Conclusion :


Le problème ne se pose pas à l'insertion au moins
Happy Programming from Djo

A voir également

Ajouter un commentaire

Commentaire

Un peu compliqué comme solution quand on a commencer a programmer avec des requetes SQL et que l'on a pas envie de tout refaire!!!
Il suffit alors de doubler les cotes avec une fonction du style :
Function Double_les_Apostrophe(chaine As String) As String
'============================================================================
' Auteur : Philippe Conte
' Fonction : fonction permettant de doubler les apostrophes dans une chaine de type string
' Parametres : chaine de type string
' Valeur de retour : chaine passée en entrée avec les doubles apostrophes
' Date : 12/01/2001
' Commentaires :
'============================================================================

If InStr(chaine, "'") <> 0 Then
Double_les_Apostrophe = Replace(chaine, "'", "''")
End If

End Function

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.