Pb insert en asp
Snatch
-
snatch -
snatch -
Bonjour,
je dois dans une page web recuperer des donnees dans un formulaire pour ensuite les inserer dans ma base de données
j'utilise pour cela une page asp et j ecris ma requete a l'interieur d'une fonction. J'arrive a ajouter des enregistrement mais le probleme vient du fait que j'ai deux champs (lib1 et lib2) ou les utilisateurs sont susceptibles d'ecrire du texte avec des apostrophes ce qui provoque des erreurs.
A noter que normalement lib1 et lib 2 sont codés de la meme maniere meme si ici ils sont differents car j ai essaye plusieurs manieres
if trim(cCode) = "" then
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" + trim(oForm.pa_code.value) + "','"
strSQL = strSQL + trim(oForm.pa_zone.value) + "','"
strSQL = strSQL + trim(oForm.pa_lib1.value) + "'," + chr(39)
strSQL = strSQL + trim(oForm.pa_lib2.value) + chr(39) + ",'" + trim(oForm.pa_com1.value) + "','" + trim(oForm.pa_com2.value) + "')"
msgbox (strSQL)
dbCxGti.execute strSQL
else
est ce que quelqu'un pourrait m'aider svp???
je dois dans une page web recuperer des donnees dans un formulaire pour ensuite les inserer dans ma base de données
j'utilise pour cela une page asp et j ecris ma requete a l'interieur d'une fonction. J'arrive a ajouter des enregistrement mais le probleme vient du fait que j'ai deux champs (lib1 et lib2) ou les utilisateurs sont susceptibles d'ecrire du texte avec des apostrophes ce qui provoque des erreurs.
A noter que normalement lib1 et lib 2 sont codés de la meme maniere meme si ici ils sont differents car j ai essaye plusieurs manieres
if trim(cCode) = "" then
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" + trim(oForm.pa_code.value) + "','"
strSQL = strSQL + trim(oForm.pa_zone.value) + "','"
strSQL = strSQL + trim(oForm.pa_lib1.value) + "'," + chr(39)
strSQL = strSQL + trim(oForm.pa_lib2.value) + chr(39) + ",'" + trim(oForm.pa_com1.value) + "','" + trim(oForm.pa_com2.value) + "')"
msgbox (strSQL)
dbCxGti.execute strSQL
else
est ce que quelqu'un pourrait m'aider svp???
A voir également:
- Pb insert en asp
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- Logiciel asp - Télécharger - Gestion de données
- Reboot and select proper boot device or insert boot media in selected boot device and press a key - Forum Windows
2 réponses
Salut,
tout premièrement tu dois remplacer tes "+" par des esperluettes "&"!
Et pour gérer le probleme des apostrophes je te conseilles d'utiliser la fonction replace comme ceci:
nouvelle_chaine=replace(ancienne_chaine," ' "," ") par exempl pour modifier ton caractere ' en espace..
tout premièrement tu dois remplacer tes "+" par des esperluettes "&"!
Et pour gérer le probleme des apostrophes je te conseilles d'utiliser la fonction replace comme ceci:
nouvelle_chaine=replace(ancienne_chaine," ' "," ") par exempl pour modifier ton caractere ' en espace..
Je sais pas si le problème vient de là mais dans ton replace ta pa a metre de trim g penC
value_pa_lib1 = replace(oForm.pa_lib1.value," ' "," ")
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" & trim(oForm.pa_code.value) & "','"
strSQL = strSQL & trim(oForm.pa_zone.value) & "','"
strSQL = strSQL & value_pa_lib1 & "','" &chr(34) &""
strSQL = strSQL & trim(oForm.pa_lib2.value) &""& chr(34) &"','" & trim(oForm.pa_com1.value)& "','" & trim(oForm.pa_com2.value) & "')"
msgbox (strSQL)
dbCxGti.execute strSQL
voila et si la ca marche pas ben fodra demander à quelqu'un d'autre ^^
(Tu peu aussi essayer sans les trim...)
value_pa_lib1 = replace(oForm.pa_lib1.value," ' "," ")
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" & trim(oForm.pa_code.value) & "','"
strSQL = strSQL & trim(oForm.pa_zone.value) & "','"
strSQL = strSQL & value_pa_lib1 & "','" &chr(34) &""
strSQL = strSQL & trim(oForm.pa_lib2.value) &""& chr(34) &"','" & trim(oForm.pa_com1.value)& "','" & trim(oForm.pa_com2.value) & "')"
msgbox (strSQL)
dbCxGti.execute strSQL
voila et si la ca marche pas ben fodra demander à quelqu'un d'autre ^^
(Tu peu aussi essayer sans les trim...)
je te remercie c'est ok!
j'ai finalement utilise la forme
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" & trim(oForm.pa_code.value) & "','"
strSQL = strSQL & trim(oForm.pa_zone.value) & "','"
strSQL = strSQL & replace(trim(oForm.pa_lib1.value),"'","''") & "','"
strSQL = strSQL & replace(trim(oForm.pa_lib2.value),"'","''") & "','" & trim(oForm.pa_com1.value) & "','" & trim(oForm.pa_com2.value) & "')"
bonne continuation!!
j'ai finalement utilise la forme
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" & trim(oForm.pa_code.value) & "','"
strSQL = strSQL & trim(oForm.pa_zone.value) & "','"
strSQL = strSQL & replace(trim(oForm.pa_lib1.value),"'","''") & "','"
strSQL = strSQL & replace(trim(oForm.pa_lib2.value),"'","''") & "','" & trim(oForm.pa_com1.value) & "','" & trim(oForm.pa_com2.value) & "')"
bonne continuation!!
j'ai applique ce que tu m'as dit mais la fonction replace me renvoie vrai au lieu de ma chaine!
strSQL = "insert into ec_pays ( pa_code,pa_zone, pa_lib1,pa_lib2,pa_com1, pa_com2) values ('" & trim(oForm.pa_code.value) & "','"
strSQL = strSQL & trim(oForm.pa_zone.value) & "','"
strSQL = strSQL & (trim(oForm.pa_lib1.value) = Replace((trim(oForm.pa_lib1.value))," ' "," ")) & "','" + chr(34)
strSQL = strSQL & trim(oForm.pa_lib2.value) & chr(34) + "','" & trim(oForm.pa_com1.value) & "','" & trim(oForm.pa_com2.value) & "')"
msgbox (strSQL)
dbCxGti.execute strSQL
y'aurait il une erreur dans la syntaxe?
merci d'avoir repondu si vite ! ;D