3 messaggi dal 06 settembre 2002
Salve a tutti e grazie in anticipo per qualsiasi suggerimento.
Il mio problema è quasi banale...
Devo aprire un database .mdb leggere le info contenute e modificare il campo password con una nuova pass generata con randomize.
Fin qui tutto ok ma ho problemi a fare registrare le modifiche ...
In pratica o riesco a far modificare o il primo record o l'ultimo quelli nel mezzo non me li memorizza(scive nel database).
Qui il codice ....


<% session("referer")= session("pagina")
session("pagina")= "http://"&request.ServerVariables("HTTP_HOST")&request.ServerVariables("PATH_INFO")&"?"&request.QueryString()
Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&server.mappath("/database/miodb.mdb")


%><%
Dim caratteri, passgen, carattere, ecc. ecc.
SQL = " SELECT * FROM Utenti Where Confermato=true "
Set RS = Conn.Execute, SQL, 2, 2
If Not RS.EOF Then RS.MoveFirst
Do While Not RS.EoF
ID = RS("ID")
Nome = RS("Nome")
ecc. ecc.
UserID=RS("UserID")
Password=RS("Password")
Confermato=RS("Confermato")
response.Write("La vecchia pass è : ")
response.Write RS("Password")
caratteri = "0123456789abcdefghijklmnopqrstuvwxyz"
Randomize ' inizializza il generatore di numeri casuale
Do Until len(passgen) = 10 ' lunghezza della password
carattere = Int((37 * Rnd) + 1) ' Genero valore casuale compreso tra 0 e z.
passgen = passgen & Mid(caratteri,carattere,1)
Loop
Password=passgen
response.Write(" La nuova pass random è: ")
response.Write(Password)
response.Write("<br>")
passgen=0000000000
rs.update
RS.MoveNext
Loop
SQL = " UPDATE Utenti Set Nome = '" & Nome & "', Cognome = '" & Cognome & "', Via = '" & Via & "', Civico = '" & Civico & "', CAP = '" & CAP & "', Citta = '" & Citta & "', Provincia = '" & Provincia & "', Stato = '" & Stato & "', Telefono = '" & Telefono & "', RagioneSociale = '" & RagioneSociale & "', CodiceFiscale = '" & CodFiscale & "', PartitaIva = '" & PIva & "', Mail = '" & EMail & "', Password = '" & Password & "', UserID = '" & UserID & "' , Confermato = " & Confermato & " , Rivenditore = " & Rivenditore & " WHERE ID = " & id
Set RS = Conn.Execute(SQL)
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>

Suppongo che il problema sia di mia ignoranza sull'uso della funzione update dato che con questo codice dopo aver modificato la prima pass mi da errore dicendo che non posso apportare altre modifiche essendo la connessione chiusa.
Ancora grazie a tutte le anime buone che avranno voglia di rispondermi...
3 messaggi dal 06 settembre 2002
dopo prova e riprova e qualche anima buona che mi ha indirizzato ecco il nuovo codice che tuttavia non soddisfa il requisito di modificare tutti i record ma agisce solo sull'ultimo in elenco...
<% session("referer")= session("pagina")
session("pagina")= "http://"&request.ServerVariables("HTTP_HOST")&request.ServerVariables("PATH_INFO")&"?"&request.QueryString()
Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&server.mappath("/database/miodb.mdb")


%>
Dim caratteri, passgen, carattere, ecc. ecc.
SQL = " SELECT * FROM Utenti Where Confermato=true "
'Set RS = Conn.Execute (SQL)
Set RS = server.createobject("adodb.recordset")
RS.Open sql, Conn, 2, 2
If Not RS.EOF Then RS.MoveFirst
Do While Not RS.EoF
ID = RS("ID")
Nome = RS("Nome")
ecc. ecc.
UserID=RS("UserID")
Password=RS("Password")
Confermato=RS("Confermato")
response.Write("La vecchia pass è : ")
response.Write RS("Password")
caratteri = "0123456789abcdefghijklmnopqrstuvwxyz"
Randomize ' inizializza il generatore di numeri casuale
Do Until len(passgen) = 10 ' qui imposti la lunghezza della password
carattere = Int((37 * Rnd) + 1) ' Genera un valore casuale compreso tra 0 e z.
passgen = passgen & Mid(caratteri,carattere,1)
Loop
Password=passgen
response.Write(" La nuova pass random è: ")
response.Write(Password)
response.Write("<br>")
passgen=0000000000
rs.update
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
'Conn.Execute sql
'Conn.Close
'Set Conn = Nothing
SQL = " UPDATE Utenti Set Nome = '" & Nome & "', Cognome = '" & Cognome & "', Via = '" & Via & "', Civico = '" & Civico & "', CAP = '" & CAP & "', Citta = '" & Citta & "', Provincia = '" & Provincia & "', Stato = '" & Stato & "', Telefono = '" & Telefono & "', RagioneSociale = '" & RagioneSociale & "', CodiceFiscale = '" & CodFiscale & "', PartitaIva = '" & PIva & "', Mail = '" & EMail & "', Password = '" & Password & "', UserID = '" & UserID & "' , Confermato = " & Confermato & " , Rivenditore = " & Rivenditore & " WHERE ID = " & id
Conn.Execute(SQL)
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>

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.