Avatar billede Weedfald Juniormester
10. juni 2019 - 20:04 Der er 3 kommentarer

Login Admin/user role

Hej Eksperter!
Jeg er ved at lave et login med Vb.net og Sql database.
Dog løber jeg panden mod muren, da jeg i tilfælde af korrekt login kun får eksekveret koden efter finally og adminhome.vb ikke åbner! :-(

Jeg ligger min kode herunder og håber på at en venlig sjæl har lyst til at skimme den og komme med et godt råd.
På forhånd tak!

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If TextBox1.Text = “” Or TextBox2.Text = “” Then
            MessageBox.Show(“Please Fill in Username and password!”)
        Else
            Dim con As SqlConnection = New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\KbData\KbData.mdf;Integrated Security=True;Connect Timeout=30")
            Dim cmd As SqlCommand
            Dim Reader As SqlDataReader

            Try
                con.Open()

                Dim query As String
                query = "select UserStatus from Users where Username='" + TextBox1.Text + "' and Password='" + TextBox2.Text + "'"
                cmd = New SqlCommand(query, con)
                Reader = cmd.ExecuteReader

                Dim count As Integer
                count = 0
                While Reader.Read
                    count = count + 1
                End While

                If count = 1 Then
                    Dim userstatus = Reader.GetString("UserStatus")
                    If userstatus = "1" Then
                        MsgBox("Velkommen!")


                        adminhome.Show()


                        Me.Hide()
                        con.Close()
                        con.Dispose()
                    Else

                        MsgBox("Velkommen!")
                        userhome.Show()
                        Me.Hide()

                    End If
                Else
                    MsgBox("Brugeren eksistere ikke!")
                    TextBox1.Text = ""
                    TextBox2.Text = ""

                End If
            Finally
                MsgBox("Oops got problems!")
            End Try
        End If
    End Sub
End Class
Avatar billede Weedfald Juniormester
10. juni 2019 - 20:06 #1
Jeg får pt. (Exception unhandled) på linie 35 altså:

Dim userstatus = Reader.GetString("UserStatus")
                    If userstatus = "1" Then
Avatar billede arne_v Ekspert
10. juni 2019 - 20:13 #2
1)  Du boer not catche og udskrive exception.
Avatar billede arne_v Ekspert
10. juni 2019 - 20:16 #3
2) Jeg formoder at fejlen skyldes denne konstruktion:

While Reader.Read
        count = count + 1
End While
...
Dim userstatus = Reader.GetString("UserStatus")

while loekken laeser alle raekker og placerer sig efter den sidste raekke - og saa kan man ikke bruge Reader.GetXxxx
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
Kurser inden for grundlæggende programmering

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



IT-JOB