Message d'erreur

10ahmed10 Messages postés 23 Date d'inscription dimanche 10 octobre 2004 Statut Membre Dernière intervention 1 mai 2009 - 1 mai 2009 à 02:21
10ahmed10 Messages postés 23 Date d'inscription dimanche 10 octobre 2004 Statut Membre Dernière intervention 1 mai 2009 - 1 mai 2009 à 12:43
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

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
1 mai 2009 à 08:00
Montre-nous ton code ...
0
10ahmed10 Messages postés 23 Date d'inscription dimanche 10 octobre 2004 Statut Membre Dernière intervention 1 mai 2009
1 mai 2009 à 10:14
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"

%>
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
1 mai 2009 à 11:25
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"
%>
0
10ahmed10 Messages postés 23 Date d'inscription dimanche 10 octobre 2004 Statut Membre Dernière intervention 1 mai 2009
1 mai 2009 à 12:43
Merci beaucoup
0
Rejoignez-nous