17 messaggi dal 01 luglio 2003
Ciao,
uso un metodo rapido per raccogliere i valori passati da una form ed usarli per inserire un record nel DB.

Riesco a farlo se posto con metodo GET ma non ci riesco se lo faccio col POST.
Questo è il codice:
...
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/" &dbname),,dbpassword
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open tablename, conn, 3, 3
rs.AddNew
'call metpost
call metget
rs.Update

Sub metpost
for i = 1 to (Request.Form.Count() -1)
strTemp = "rs("""&Request.Form.Key(i)&""")="&Request.Form.Item(i)
Response.write strTemp&"-"&rs(i)&"<br>"
Execute(strTemp)
next
End sub

Sub metget
For Each Item In Request.querystring
strTempb = "Itemb = Request.querystring(""" & Item & """)"
Execute(strTempb)
if Itemb<>"" then
strTemp = "rs("""&Item&""")= Request.querystring(""" & Item & """)"
Execute(strTemp)
End if
Next
End sub
...

Se lo uso così funziona, se invece uso la sub "metpost" e ovviamente setto la form su METHOD=POST lo script non inserisce il record e non visualizza la pagina.

Se però controllo cosa c'è in "strTemp" trovo i valori corretti, esempio:
rs("name")=gabriele

Sembra che "Execute(strTemp)" funzioni solo con GET e con POST mi dia errore, ma mi sembra assordo.
Dove sto sbagliando?
3.122 messaggi dal 16 maggio 2002
Prova così:

for each key in Request.Form
strTemp = "rs(""" & Key & """) = " & Request.Form(key)
Execute(strTemp)
next
End sub

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao, credo che funzioni anche senza execute:

for each key in Request.Form
rs(key) = Request.Form(key)
next

attenzione però quando fai questo ciclo perchè potrebbero esserci delle chiavi che non sono campi del recordset.
Ad esempio il tasto submit...

Enjoy learning and just keep making
17 messaggi dal 01 luglio 2003
Grazie ragazzi, ho risolto con:

for each key in Request.Form
rs(key) = Request.Form(key)
next

utilizzando Execute non funziona, vorrei proprio capire perchè!
L'importante comunque è che ora funziona. Grazie

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.