Forum de discussion
Forum « Programmation ASP » (archives)
Suite insert into
Envoyé: 23 septembre 2003, 10h41 par Rital
MM_Pycna_STRING = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:/inetpub/wwwroot/Pycna_Multimedia/DataBase/MaBase.mdb"
Les liaisons de données sont OK
J’ai fait une page liste des enregistrements, une page Modifier l’enregistrement où mes champs montent normalement, une page suppression de l’enregistrement qui fonctionne
Et une page ajouter un enregistrement (voir début du code ci-dessous)
La page Ajout passe en erreur avec le message :
Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO.
/Pycna_Multimedia/ExtraNet/TMP28iwwlo89f.asp, ligne 90
La page modif passe également en erreur avec le message :
Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction UPDATE.
/Pycna_Multimedia/ExtraNet/Modif_Actu.asp, ligne 89
Début du code page Ajout
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../Connections/Pycna.asp" -->
<%
' *** Edit Operations: declare variables
MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) <> "") Then
MM_editConnection = MM_Pycna_STRING
MM_editTable = "T_Actualites"
MM_editRedirectUrl = "Liste_Actu.asp"
MM_fieldsStr = "Tri|value|Date|value|Type|value|Titre|value|STitre|value|Desc1|value|Desc2|value|Ph1|value|Ph2|value"
MM_columnsStr = "Ordre_de_tri|',none,''|Date|#,none,NULL|Type|',none,''|Titre|',none,''|Sous_titre|',none,''|Descriptif_1|',none,''|Descriptif_2|',none,''|Photo_1|',none,''|Photo_2|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End if
MM_tableValues = MM_tableValues & MM_columns(i)
MM_dbValues = MM_dbValues & FormVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<html>
<head>
<title>Formulaire de mise à jour</title>
Réponses
|