8 messaggi dal 17 marzo 2001
Non riesco a farmi aggiornare una tabella di un db,
qualcuno può dirmi dove sbaglio?
Grazie in anticipo.
<%
vnomeris = request.form("nomeris")
vnomedom = request.form("nomedom")
vrisposta = request.form("risposta")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".\arch\discussioni.mdb")

sql = "UPDATE forum SET nomeris='vnomeris', risposta='vrisposta' WHERE nomedom='vnomedom'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
%>

In alternativa ho provato anche la seguente sql:

dim sql_UpDate
sql_UpDate = "UPDATE forum SET nomeris='vnomeris', risposta='vrisposta' WHERE nomedom='vnomedom'"
obyConn.execute(sql_UpDate)

nel primo caso ho il seguente msg di errore:
Microsoft OLE DB Provider for ODBC Drivers errore "80040e10'
[Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.
/web/insrisp.asp, riga 42 (riga 42=rs.Open sql, conn, 3, 3)
L'altra stringa produce invece:
Errore di run-time di Microsoft VBScript errore "800a01a8'
Necessario oggetto: ''
/web/insrisp.asp, riga 36 (riga 36=objConn.execute(sql_UpDate))


Carla Cardia

Carla Cardia
128 messaggi dal 06 settembre 2002
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>

&lt;%
vnomeris = request.form("nomeris")
vnomedom = request.form("nomedom")
vrisposta = request.form("risposta")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".\arch\discussioni.mdb")

sql = "UPDATE forum SET nomeris='vnomeris', risposta='vrisposta' WHERE nomedom='vnomedom'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
%&gt;

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>
vnomeris e nomedom sono variabili quindi devono stare fuori dall'sql

sql = "UPDATE forum SET nomeris='"&vnomeris&"', risposta='"&vrisposta&"' WHERE nomedom='"&vnomedom&"'"

Ciao  )

7 messaggi dal 06 settembre 2002
Tu usi il comando sql "UPDATE" che personalmente non ho mai utilizzato ed in questo senso non ti posso aiutare, ma le istruzioni che seguono funzionano di sicuro:

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".\arch\discussioni.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")

sql = "SELECT * FROM TuaTabella WHERE (nomedom = '" & nomedom & "') "

rs.Open sql, conn, 1, 3, 1

IF Not rs.EOF THEN
rs.("campo1") = valore 1
rs.("campo2") = valore 2
rs.update
IF ERR.Number &lt;&gt; 0 THEN
Modifica non eseguita
ELSE
modifica eseguita
END IF
END IF

Fai Attenzione al tipo di cursore ecc. ecc.
(Ormai lavoro per copie e quindi non ricordo piu' nemmeno il loro significato)

rs.Open sql, conn, 1, 3, 1 &lt;===== funziona
rs.Open sql, conn, 2, 3, 1 &lt;===== funziona

NON tutti consentono Update e/o Delete.

Fammi sapere, Enrico
8 messaggi dal 17 marzo 2001
Grazie a tutti per le prziose informazioni

Carla Cardia

Carla Cardia

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.