Update d'une BD

Signaler
Messages postés
58
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
4 janvier 2008
-
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
25 mai 2005
-
Salut,
Je n'a pas trouvé où l'erreur dans cette requête SQL, veuillez m'aider:

SQL = "UPDATE admin SET password='" & nouveauMpasse & "',login='" & nouveauLogin & "',nom='" & nouveauNom & "',prenom='" & nouveauPrenom & "'"

l'erreur est:


Erreur de syntaxe dans l'instruction UPDATE.

5 réponses

Messages postés
16
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
25 mai 2005

Salut,



Moi j'aurais tendance à remplacer les & par des + :

SQL = "UPDATE admin SET password='"+nouveauMpasse+"',login='"+nouveauLogin+"',nom='"+nouveauNom+"',prenom='"+nouveauPrenom+"'"

mais je ne suis pas sure que ca change quelquechose.



Dans quel contexte utilises-tu ce code, car éventuellement tu pourrais avoir un problèmes avec les quotes, dans ce cas, essaye :

SQL = "UPDATE admin SET
password=\'"+nouveauMpasse+"\',login=\'"+nouveauLogin+"\',nom=\'"+nouveauNom+"\',prenom=\'"+nouveauPrenom+"\'"



Si ca ne marche pas, c'est peut-être un problème dans l'éxecution de ta requête.
Messages postés
58
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
4 janvier 2008

ca ne marche toujours pas
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
25 mai 2005

Pourrais-tu donner le reste de ton code, ainsi que le message d'erreur en entier ?
Messages postés
58
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
4 janvier 2008

Salut,
voici le code:
<% dim nouveauMpasse
dim nouveauLogin
dim nouveauNom
dim nouveauPrenom
nouveauMpasse=Request.Form("mpasse")
nouveauMpasse = Replace(nouveauMpasse,"'","&#39;")
nouveauLogin=Request.Form("login")
nouveauLogin = Replace(nouveauLogin,"'","&#39;")
nouveauNom=Request.Form("nom")
nouveauNom = Replace(nouveauNom,"'","&#39;")
nouveauPrenom=Request.Form("prenom")
nouveauPrenom = Replace(nouveauPrenom,"'","&#39;")

Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Mode=3
OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("bd.mdb")
SQL = "UPDATE admin SET password='" & nouveauMpasse & "',login='" & nouveauLogin & "',nom='" & nouveauNom & "',prenom='" & nouveauPrenom & "'"
OBJdbConnection.Execute (SQL) %>
.
.
.
.
Voici l'erreur:

Microsoft VBScript compilation error '800a0401'
Expected end of statement
/iisHelp/common/500-100.asp, line 11 Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^


Microsoft JET Database Engine error '80040e14'
Erreur de syntaxe dans l'instruction UPDATE.
/confirmattion changer-admin.asp, line 29
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
25 mai 2005

Je comprends pas tout dans ton code, j'ai une solution qui n'en est pas vraiment une, ca ca marche :



dim nouveauMpasse

dim nouveauLogin

dim nouveauNom

dim nouveauPrenom

nouveauMpasse=Request.Form("mpasse")

nouveauMpasse = Replace(nouveauMpasse,"'","&#39;")

nouveauLogin=Request.Form("login")

nouveauLogin = Replace(nouveauLogin,"'","&#39;")

nouveauNom=Request.Form("nom")

nouveauNom = Replace(nouveauNom,"'","&#39;")

nouveauPrenom=Request.Form("prenom")

nouveauPrenom = Replace(nouveauPrenom,"'","&#39;")

dbPath = Server.MapPath("bd.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _

& " DBQ=" & dbPath

Set RS = Server.Createobject("ADODB.Recordset")

SQL = "UPDATE admin SET password='" & nouveauMpasse &
"',login='" & nouveauLogin & "',nom='" & nouveauNom &
"',prenom='" & nouveauPrenom & "'"

response.write(sql)

rs.Open sql, conn, 3,3



Tu peux même faire comme ca :



dbPath = Server.MapPath("bd.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _

& " DBQ=" & dbPath

Set RS = Server.Createobject("ADODB.Recordset")

SQL = "UPDATE admin SET password='" & Request.Form("mpasse") &
"',login='" & Request.Form("login") & "',nom='" &
Request.Form("nom") & "',prenom='" & Request.Form("prenom")
& "'"

response.write(sql)

rs.Open sql, conn, 3,3



Bonne chance