Message d'erreur

Signaler
Messages postés
23
Date d'inscription
dimanche 10 octobre 2004
Statut
Membre
Dernière intervention
1 mai 2009
-
Messages postés
23
Date d'inscription
dimanche 10 octobre 2004
Statut
Membre
Dernière intervention
1 mai 2009
-
Ahmed10

Bonjour à tous,

Je demande votre aide, je reçois ce message lors du test de mon code :

Microsoft JET Database Engine error '80004005'

L'opération doit utiliser une requête qui peut être mise à jour.

de quoi il s'agit ?

Merci beaucoup

4 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Montre-nous ton code ...
Messages postés
23
Date d'inscription
dimanche 10 octobre 2004
Statut
Membre
Dernière intervention
1 mai 2009

Voici mon Code:

<%
Mega7 = "DBQ=" & Server.Mappath("db.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
'-------création de la connection et du recordset-----------
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Mega7
Set MyRs = Server.CreateObject("ADODB.Recordset")
'-------définition et exécution de la requête---------------
req="insert into tabForum (frm_par,frm_mail,frm_sujet,frm_mess) values ('" & par & "','" & mail & "','" & sujet & "','" & mess & "')"
MyRs.Open req,Conn
Response.Redirect "forum.asp"

%>
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Tu vis dangereusement, toi : fais gaffe à l'injection SQL, ça peut faire de gros dégâts.
Voilà le code, corrigé :

<%
Option Explicit

Public Function Pure(S)
 Pure = Replace(S,"'","''")
End Function

'Ouverture de la connexion vers la base de données.
Dim Conn,ConnStr
ConnStr = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("db.mdb") & ";Driverld=25"
Set Conn = Server.CreateObject("ADODB.Connection")
On Error Resume Next
Conn.Open ConnStr
On Error Goto 0
If Err Then
 Response.Write "Erreur lors de l'ouverture de la BDD ...
"
 Response.END
End If

'Exécution d'une requête d'insertion, ne nécessitant pas de recordset
Dim SQL
SQL = "INSERT INTO tabForum (frm_par, frm_mail, frm_sujet, frm_mess) "
SQL = SQL & "VALUES ('" & Pure(par) & "','" & Pure(mail) & "','" & Pure(sujet) & "','" & Pure(mess) & "');"
Conn.Execute SQL

'Fermeture de la connexion
Conn.Close
Set Conn = Nothing

'Redirection vers la page principale (je suppose ...)
Response.Redirect "forum.asp"
%>
Messages postés
23
Date d'inscription
dimanche 10 octobre 2004
Statut
Membre
Dernière intervention
1 mai 2009

Merci beaucoup