traitement des apostrophes dans base de donnée Sqlserver [.NET, C#] - C#/.NET managed - Programmation
Marsh Posté le 17-10-2002 à 17:57:31
ouais... tu peux changer ton type de recordset..
et tu n'auras pas besoin de doubler tes apostrophes..
Marsh Posté le 17-10-2002 à 18:08:24
tu es en ASP ou VB ?
Parceque si tu fais ta requete sql du genre..
INSERT INTO maTAble(Champ1) VALUES ('" & VALEUR1 & "'
en ASP tu peux faire
INSERT INTO maTAble(Champ1) VALUES ('" & Replace(VALEUR1,"'","''" ) & "'
En VB. ca marche pas (ou peut etre avec SP5 et +)! alors fait une fonction qui va la recherche et qui remplace..
mais la meilleur solution est encore de créer un recordset..
Comme suit..(version ASP)
Dim Recordset
Dim StrSQL
Set Recordset = Server.CreateObject("ADODB.Recordset" )
StrSQL = "SELECT * FROM MaTable"
Recordset.Open StrSQL, MaConnexionaLaBdd, TypeDeCurseur, LockduCurseur
'on ajoute une nouvelle ligne a la table
RecordSet.AddNew
Recordset("Champ1" ) = Valeur1
Recordset("Champ2" ) = Valeur2
RecordSet.Update
RecordSet.Close
TypeDeCurseur peut prendre les valeur suivantes (si tu utilises le nom de la variable oublie pas de l'initialiser, sinon fait une recherche sur adovbs.inc)
adOpenForwardOnly = 0 ' Default
adOpenKeyset = 1
adOpenDynamic = 2
adOpenStatic = 3
adOpenUnspecified = -1
LockdUCurseur peut prendre les valeurs suivantes
adLockReadOnly = 1 ' Default
adLockPessimistic = 2
adLockOptimistic = 3
adLockBatchOptimistic = 4
adLockUnspecified = -1
Bien sur si tu veux faire l'update d'une ligne en particulier..
Ne mets pas Recordset.Addnew
Dim Recordset
Dim StrSQL
Set Recordset = Server.CreateObject("ADODB.Recordset" )
StrSQL = "SELECT * FROM MaTable WHERE ID=" & IDValue
Recordset.Open StrSQL, MaConnexionaLaBdd, TypeDeCurseur, LockduCurseur
'on modifie la ligne a la table
Recordset("Champ1" ) = Valeur1
Recordset("Champ2" ) = Valeur2
RecordSet.Update
RecordSet.Close
Marsh Posté le 15-09-2002 à 12:34:35
Lorsqu'on fait une requete de mise à jour dans une base de donnée, et que la chaine contient ', il faut doubler l'apostrophe pour que la mise à jour soit possible.
Existe - t - il une fonction pour traiter ces chaines ou une option dans Sqlserver pour accepter les apostrophes non doublées.
merci d'avance pour votre aide.