Avatar billede disco_keld Nybegynder
03. juni 2003 - 14:23 Der er 10 kommentarer og
1 løsning

Login spm?

Hejsa....

Sidder her med et lille login problem! Jeg for en følgende error: Object reference not set to an instance of an object

Kan ikke finde ud af hvor det går galt!

Min kode er nedenfor.

User Dbaccess class
-----------------------------------------------------------

Public Function ValidateUser(ByVal sEmailAddress As String, ByVal sPassword As String) As Boolean
            Dim oDataAccess As New DbObject()
            Dim oConnection As SqlConnection = oDataAccess.GetConnection()
            Dim oCommand As New SqlCommand()
            Dim oDataReader As SqlDataReader
            Try
                With oCommand
                    .CommandText = "sp_ValidateLogin"
                    .CommandType = CommandType.StoredProcedure
                    .Parameters.Add("@EmailAddress", sEmailAddress)
                    .Parameters.Add("@Password", sPassword)
                    .Connection = oConnection
                    .ExecuteReader()
                End With
                If oDataReader.Read = False Then
                    ValidateUser = False
                Else
                    ValidateUser = True
                End If
            Finally
                oConnection.Close()
            End Try
        End Function

-----------------------------------------------------------
User Business class

Public Function ValidateUser(ByVal sEmailAddress As String, ByVal sPassWord As String) As Boolean
            Dim oData As New DataCollection.User()
            If oData.ValidateUser(sEmailAddress, sPassWord) = True Then
                ValidateUser = True
            Else
                ValidateUser = False
            End If
        End Function

-----------------------------------------------------------
event handler på code-behind siden

Public Sub cmdLogin_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdLogin.Click
           
            Dim oValidate As New Library.User()
            If oValidate.ValidateUser(txtEmailAddress.Text, txtPassword.Text) Then
                lblLoginResult.Text = "Login correct for " & txtEmailAddress.Text
                lblLoginResult.Visible = True
            Else
                lblLoginResult.Text = "Login failed for " & txtEmailAddress.Text
                lblLoginResult.Visible = True
            End If
        End Sub


Mvh

DK
Avatar billede alundsgaard Nybegynder
03. juni 2003 - 14:46 #1
i hvad linie går det galt?
Avatar billede disco_keld Nybegynder
03. juni 2003 - 15:07 #2
LoginModule.ascx.vb:59

her:  If oValidate.ValidateUser(txtEmailAddress.Text, txtPassword.Text) Then

altså i event handler coden
Avatar billede alundsgaard Nybegynder
03. juni 2003 - 15:12 #3
når jeg har fået den slags fejl er det som regl, fordi der er en stavefejl.
Avatar billede disco_keld Nybegynder
03. juni 2003 - 15:44 #4
jeg har tjekket det igennem!

Der er ingen stave fejl!
Avatar billede burningice Nybegynder
03. juni 2003 - 17:46 #5
well.. det kan vel kun være tre ting?

enten er det oValidate, txtEmailAddress eller txtPassword som der er nogen i vejen med
Avatar billede chron Nybegynder
03. juni 2003 - 20:57 #6
bruger man ikke kun "then" hvis eventen kun omhandler en ting?
Jeg plejer bare at skrive
If oValidate.ValidateUser(txtEmailAddress.Text, txtPassword.Text)
lblLoginResult.Text = "Login correct for " & txtEmailAddress.Text
                lblLoginResult.Visible = True
            Else
                lblLoginResult.Text = "Login failed for " & txtEmailAddress.Text
                lblLoginResult.Visible = True
            End If

men okay, jeg er ikke ligefrem ekspert :) et forsøg værd eh?
Avatar billede alundsgaard Nybegynder
04. juni 2003 - 00:06 #7
Har du husket at erklære dine textboxe i toppen af din klasse? Det kan godt være det den brokker sig over...
Avatar billede burningice Nybegynder
04. juni 2003 - 17:31 #8
der er et lille problem med din datareader, kan jeg se... du sætter den aldrig til noget...

prøv den her kode istedet

            Dim oDataReader As SqlDataReader
            Try
                With oCommand
                    .CommandText = "sp_ValidateLogin"
                    .CommandType = CommandType.StoredProcedure
                    .Parameters.Add("@EmailAddress", sEmailAddress)
                    .Parameters.Add("@Password", sPassword)
                    .Connection = oConnection
                    oDataReader = .ExecuteReader()
Avatar billede burningice Nybegynder
04. juni 2003 - 17:31 #9
og det skulle have været svar
Avatar billede odegaard Nybegynder
04. juni 2003 - 19:03 #10
Den fejl kommer altid når du forsøger at kalde methods eller properties på et objekt der er nothing. Hvis jeg ikke tager meget fejl indeholder oValidate ikke noget.
Avatar billede disco_keld Nybegynder
23. juni 2003 - 14:03 #11
Cyberfessor!

Du har ret den var tom!

points for you........ :-)

Og mange tak for hjælpen til jer andre også.

:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester