Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1487 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  modifier un enregistrement d'une base de donnees en asp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

modifier un enregistrement d'une base de donnees en asp

n°1590622
alto829
Posté le 24-07-2007 à 11:10:27  profilanswer
 

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  

mood
Publicité
Posté le 24-07-2007 à 11:10:27  profilanswer
 

n°1590625
alto829
Posté le 24-07-2007 à 11:12:52  profilanswer
 

jvoulai dire j'arrive pas a voir ou est le problème.erreur de frappe

n°1599736
trabox
Posté le 15-08-2007 à 12:05:30  profilanswer
 

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]

n°1603437
Flyman30
Posté le 24-08-2007 à 11:05:49  profilanswer
 

Code :
  1. sql = "select * FROM pers WHERE CIN ='" & request.querystring("cin" ) & "'"

n°1603457
MagicBuzz
Posté le 24-08-2007 à 11:15:47  profilanswer
 

:sweat:
 
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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  modifier un enregistrement d'une base de donnees en asp

 

Sujets relatifs
Ne pas récupérer certaines données ayant un champ identiqueBesoin d'expliquer le fonctionnement d'1 base de données a 1 client
Exporter données dans une page html[SQL] Afficher les x premiers mots d'un enregistrement
Menu dans cadreUn logiciel pour administrer une base de donnée MySQL ?
Copie d'un enregistrement dans une table backup[résolu] Afficher données d'un txt en tableau
Modifier les options avancée IE6 par le code 
Plus de sujets relatifs à : modifier un enregistrement d'une base de donnees en asp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR