Ciao a tutti gente,
E' due mesi che sto cercando di costruire un sito
Purtroppo avevo solo una piccola base di studio sul HTML ,così ,per esigenze del sito in progettazione , ho dovuto cimentarmi nello studio di asp VBScript che mi permette ,oltre la dinamicità, l'implementazione di un database Access.
Ma adesso sono bloccato nella creazione dell'ultima pagina (Edit.asp) che dovrebbe consentirmi di modificare i record della tabella degli utenti registrati (utentireg):Ma veniamo al sodo ,vi riporto il codice che ho fatto ,commentandolo nei vari passaggi.
La prima cosa che c'è e il blocco alla visualizzazione della pagina se non si è loggatiMa qua non mi da problemi funziona tuttocodice:<% ' *** Restrict Access To Page: Grant or deny access to this page MM_authorizedUsers="" MM_authFailedURL="errore.asp" MM_grantAccess=false If Session("MM_Username") <> "" Then If (true Or CStr(Session("MM_UserAuthorization"))="") Or _ (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then MM_grantAccess = true End If End If If Not MM_grantAccess Then MM_qsChar = "?" If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&" MM_referrer = Request.ServerVariables("URL") if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString() MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer) Response.Redirect(MM_authFailedURL) End If %>
qua specifico dovè il file conn.asp dove c'è la stringa di connessione al database
Dopo di che ho creato il collegamento con un recordset alla tabella utentireg
e anche questo funzionacodice:<% Dim Recordset1__MMColParam Recordset1__MMColParam = "1" If (Session("MM_ID") <> "") Then Recordset1__MMColParam = Session("MM_ID") /*gli dico che ID deve essere uguale al ID di sessione memorzzato al login */ End If %> <% Dim Recordset1 Dim Recordset1_cmd Dim Recordset1_numRows Set Recordset1_cmd = Server.CreateObject ("ADODB.Command") Recordset1_cmd.ActiveConnection = MM_conn_STRING Recordset1_cmd.CommandText = "SELECT * FROM utentireg WHERE ID = ?" /*vado a richiamare la fnzione */ Recordset1_cmd.Prepared = true Recordset1_cmd.Parameters.Append Recordset1_cmd.CreateParameter("param1", 5, 1, -1, Recordset1__MMColParam) ' adDouble Set Recordset1 = Recordset1_cmd.Execute Recordset1_numRows = 0 %>
adesso arriva il form che mi crea problemi
Quando vado ad eseguire la pagina nel momento in cui invio i dati per la modifica, il browser mi riporta questo errore nella riga 58 che sopr ho segnatocodice:<% Dim MM_editAction MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit Dim MM_abortEdit MM_abortEdit = false %> <% ' IIf implementation Function MM_IIf(condition, ifTrue, ifFalse) If condition = "" Then MM_IIf = ifFalse Else MM_IIf = ifTrue End If End Function %> <% If (CStr(Request("MM_update")) = "form1") Then If (Not MM_abortEdit) Then ' execute the update Dim MM_editCmd Set MM_editCmd = Server.CreateObject ("ADODB.Command") MM_editCmd.ActiveConnection = MM_conn_STRING MM_editCmd.CommandText = "UPDATE utentireg SET ID = ?, password = ?, utenti = ? WHERE ID = ?" MM_editCmd.Prepared = true MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5, 1, -1, MM_IIF(Request.Form("ID"), Request.Form("ID"), null)) ' adDouble MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 255, Request.Form("password")) ' adVarWChar MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 255, Request.Form("utenti")) ' adVarWChar MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 5, 1, -1, MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"), null)) ' adDouble MM_editCmd.Execute /*RIGA 58*/ MM_editCmd.ActiveConnection.Close ' append the query string to the redirect URL Dim MM_editRedirectUrl MM_editRedirectUrl = "index.asp" If (Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If Response.Redirect(MM_editRedirectUrl) End If End If %>a questo unto non trovo l'errorecodice:Microsoft Office Access Database Engine error '80040e14' Errore di sintassi nell'istruzione UPDATE. /admin/add.asp, riga 58![]()

Rispondi quotando