21 messaggi dal 06 settembre 2002
www.xhtmlstrict.it
Ciao a tutti.
Sto creando un webservice e ho bisogno di confrontare alcuni dati recuperati da database e restituire un parametro boolean.

<%@ WebService language="VB" class="autenticazione" %>

Imports System
Imports System.Web.Services
Imports System.Xml.Serialization


Public Class autenticazione

    Function Database(ByVal usr As String, ByVal psw As String) As Boolean
        Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=D:\Web\Tiw\messenger\messenger.mdb"
        Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)

        Dim queryString As String = "SELECT [utenti].[psw], [utenti].[usr], [utenti].[nickname] FROM [utenti] WHERE (("& _
        "[utenti].[usr] = @usr) AND ([utenti].[psw] = @psw))"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection

        Dim dbParam_usr As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
        dbParam_usr.ParameterName = "@usr"
        dbParam_usr.Value = usr
        dbParam_usr.DbType = System.Data.DbType.String
        dbCommand.Parameters.Add(dbParam_usr)
        Dim dbParam_psw As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
        dbParam_psw.ParameterName = "@psw"
        dbParam_psw.Value = psw
        dbParam_psw.DbType = System.Data.DbType.String
        dbCommand.Parameters.Add(dbParam_psw)

        dbConnection.Open()

        if dbConnection.usr = usr and dbConnection.psw = psw then
            Return True
        Else
            Return False
        End If

    End Function


    <WebMethod> Public Function Autenticazione(usr As String, psw As String) As Boolean
        Return Database(usr, psw)
    End Function

End Class


Io e ASP.NET non andiamo molto d'accordo... forse perché sono abituato ad ASP Classic. Il punto che non va, almeno credo, è quello in grassetto: io ho bisogno di confrontare i valori dati alla funzione Database (quindi USR e PSW) con i campi del database (che sono USR e PSW o chiamateli come volete ). Mi potete aiutare?

Non riesco a capire come leggere i campi!!
Grazie

Stefano Pessina
575 messaggi dal 06 settembre 2002
Contributi
nella query i parametri vengono passati con il ? e non @ questo vale solo per access.
Nei parametri però li devi passare cosi
cmd.Parameters.Add(new OleDbParameter("@descrizione", descrizione ));
cmd.Parameters.Add("@descrizione", System.Data.DbType.String
, 40).Value ="Testo da inserire"
ciao
21 messaggi dal 06 settembre 2002
www.xhtmlstrict.it
Grazie per la risposta. Però... mi sa che mi sono spiegato male
Il codice errato è questo:

if dbConnection.usr = usr and dbConnection.psw = psw then 
Return True 
Else 
Return False 
End If 


Avrei bisogno di recuperare dal database i campi USR e PSW per confrontarli con quelli delle variabili della funzione. E non riesco a capire come si faccia  !

Stefano Pessina

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.