Eccoci di nuovo. Questa volta devo aggiornare (modificare) il campo di un record. Mi spiego dall'inizio:
ho un modulo di registrazione che l'utente compila e parte una e-mail all'indirizzo da lui indicato. L'email contiene un link che l'utente clicca per confermare la registrazione. Il link contenuto nell'e-mail dovrebbe essere questo:
codice:
http://www.sansevero.info/public/webonline/abilita.asp?Utente=prova&abilitato=si
e, nella pagina richiamata, viene ricercato il record relativo all'utente (non possono esserci duplicati) e, individuato il record, viene cambiato il campo "abilitato" da "no" a "si" (il campo è di testo).
Il codice interessato dalla ricerca e modifica del campo è il seguente:
codice:
<%
Dim Utente
Dim abilitato
Dim Identif	
Dim Password
Dim Nome
Dim Email
Dim Datas
Utente = Request.QueryString("Utente")
abilitato = Request.QueryString("abilitato")

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\sanseveroinfo\public\webonline\data\db.mdb")
Set objRs = Server.CreateObject("ADODB.Recordset")

strSQL="SELECT * FROM Users"
set objRs = objConn.Execute(strSQL)
' cerchiamo l'utente
Do While NOT objRs.EOF
  if objRs("UserName") = Utente then
    ' da qui in poi si dovrebbe modificare il campo "abilitato"
    Identif = objRs("ID")
    Password = objRs("Password")
    Nome = objRs("Name")
    Email = objRs("Email")
    Datas = objRs("InsertDate")
    strsql = "Update Users SET (UserName = '" & Utente & "', PassWord = '" & Password & "',Name = '" & Nome & "',Email = '" & email & "', InsertDate = '" & Datas & "',abilitato = '" & abilitato & "') Where ID = " & Identif
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute(strsql)
    objConn.Update
    objRs.Update
  end if
objRs.Movenext
Loop

'chiusura database
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
%>
Il record dell'utente lo trova, ma poi mi da un errore di sintassi nell'aggiornamento del record. Poi ho pensato che l'errore mi fosse causato dal fatto che inizialmente non avevo messo nella stringa di aggiornamento tutti i campi del record, così mi sono creato le variabili e, dopo aver trovato il record, ho assegnato loro i valori dei campi e poi le ho messe in ordine nella stringa di aggiornamento... nemmeno questo ha funzionato...
Con un "response.write", richiamando nel browser il link supra dato, è possibile vedere la stringa query che il browser dice di avere errori di sintassi.
Poi ci ho messo objConn.Update e objRs.Update senza sapere che cosa in realtà serve...
Spero che qualcuno mi riesca a chiarire l'errore, cosa ho omesso, ecc.

Grazie, ciao.
Luca