23 messaggi dal 05 gennaio 2006
www.megacine.it
Qualcuno sa dirmi perchè questa funzione (dericata dalla MembershipProvider), associata ad un normale controllo ChangePassword mi da sempre risultato negativo anche se le credenziali sono giuste?

Public Class AccessMembershipProvider
Inherits MembershipProvider
.
.
Public Overrides Function ChangePassword(ByVal username As String, ByVal oldPassword As String, ByVal newPassword As String) As Boolean
Dim conn As New OleDb.OleDbConnection(connStr)
Try
conn.Open()
Dim sql As String = "UPDATE [Clienti] SET [Password] = @newPassword WHERE " & _
"[username] = @username AND [password] = @oldPassword"
Dim comm As New OleDb.OleDbCommand(sql, conn)
comm.Parameters.AddWithValue("@newPassword", newPassword)
comm.Parameters.AddWithValue("@username", username)
comm.Parameters.AddWithValue("@oldPassword", oldPassword)
If comm.ExecuteNonQuery() <> 1 Then
Return False
Else
Return True
End If
conn.Close()
Catch ex As Exception
Console.Write(ex.ToString)
Return False
End Try
conn.Close()
End Function
.
.
mi sembra abbastanza banale.. ma non capisco perchè da sempre false!

ci vedete qualche errore?

Grazie

Micky
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Penso che sia un database Access, vero?

Non utilizzare la definizione dei parametri della query nello stesso formato di Sql Server (@nome_parametro), ma usa il "?". Per verificare che sia quello il problema, prova a scrivere un comando sql senza parametri e verifica che non sia lì il problema.

Ciao

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.