modifier un enregistrement d'une base de donnees en asp - ASP - Programmation
Marsh Posté le 24-07-2007 à 11:12:52
jvoulai dire j'arrive pas a voir ou est le problème.erreur de frappe
Marsh Posté le 15-08-2007 à 12:05:30
Essaye se que je te met et dit moi si cela fonctionne...moi ça marche ( si cela ne fonctionne pas, il faut que tu fasse un REQUEST de chaque chose que tu veux Enregistrer) 
 
<%connstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\personne.mdb" 
Set conn = Server.CreateObject("ADODB.Connection" ) 
conn.Open connstring%>  
 
<%  
sql = "SELECT * FROM pers WHERE (CIN='"&cin&"')" 
Set compt = Server.CreateObject("ADODB.Recordset" ) 
compt.Open sql, Connec, 3, 3 
compt.movefirst 
compt.fields("cin" )=cin 
compt.fields("Nom" )=nom 
compt.fields("prenom" )=prenom 
compt.fields("adresse" )=adresse 
compt.close 
set compt=nothing %> 
 
<html><head><title>modifier</title></head> 
<body> 
<BR><BR><BR><H1><center>Enregistrement modifié avec succès</center></H1><BR><BR><BR> 
<center><a href="http://10.0.32.99/sanaa/first.asp">Retour en première page </a></center> 
</body> 
</html> 
 
 
et voici l'erreur qu'on m'affiche: 
 
 
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) 
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'CIN ='. 
 
j'arrive a voir ou est le probleme. 
 
merci d'avance de votre aide  
[/quotemsg] 
Marsh Posté le 24-08-2007 à 11:05:49
| Code : 
 | 
Marsh Posté le 24-08-2007 à 11:15:47
 
 
 
1/ paramètre SQL non protégé : tu va te faire pulvériser ton site 
2/ n'utilise pas les fonctions de curseur dynamique, cela n'est pas supporté sur toutes les versions d'ADO, ça peut provoquer des comportements inattendus dans le cas d'une appli multi-session (et un site c'est multi-session) 
 
Donc : 
1/ Utilise des requêtes paramétrée (objets ADODB.Command et ADODB.Parameter). 
2/ Fait un UPDATE explicitement si tu veux mettre à jour des données. 
 
http://www.devguru.com/technologies/ado/8516.asp 
http://www.devguru.com/technologies/ado/8613.asp 
http://www.devguru.com/technologies/ado/8528.asp
Marsh Posté le 24-07-2007 à 11:10:27
slt j travaille sur une petite application asp avec interaction avec une base de donnees.j un probleme pour modifier un enregistrement quelconque via un un lien "modifier".svp aidez moi a resoudre mon prob si c possible voici mon code:
<%connstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\personne.mdb"
Set conn = Server.CreateObject("ADODB.Connection" )
conn.Open connstring%>
<% cin=request.querystring("cin" )
Set RS = Server.CreateObject("ADODB.Recordset" )
sql = "select * FROM pers WHERE CIN =" & cin & ""
RS.Open sql, Conn, 3, 3
RS.fields("CIN" )=request.form("cin" )
RS.fields("Nom" )=request.form("nom" )
RS.fields("Prenom" )=request.form("prenom" )
RS.fields("Adresse" )=request.form("adresse" )
RS.update
RS.Close
Conn.Close
Set Conn = Nothing%>
<html><head><title>modifier</title></head>
<body>
<BR><BR><BR><H1><center>Enregistrement modifié avec succès</center></H1><BR><BR><BR>
<center><a href="http://10.0.32.99/sanaa/first.asp">Retour en première page </a></center>
</body>
</html>
et voici l'erreur qu'on m'affiche:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'CIN ='.
j'arrive a voir ou est le probleme.
merci d'avance de votre aide