• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

the one

Login em VB

6 mensagens neste tópico

Boa tarde .

Tenho um form para fazer login em VB com o seguinte codigo .

Dim myConnectionString As String = _
"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\escola.mdf';" & _
";Integrated Security=True;User Instance=True"


        Dim SQL As String = "SELECT count(*) From utilizadores where username = @utilizador and password = @password;"

        Dim connection As New SqlConnection(myConnectionString)

        Dim command As New SqlCommand(SQL, connection)

        command.Parameters.Add("@utilizador", SqlDbType.VarChar).Value = txtuser.Text

        command.Parameters.Add("@password", SqlDbType.VarChar).Value = txtpass.Text

        connection.Open()



        x = command.ExecuteNonQuery()

O valor de x , caso acerte ou erre na password será sempre "-1" .

Como faco a validação para a verificação da password ? :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

        Dim myConnectionString As String = _
"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\escola.mdf';" & _
";Integrated Security=True;User Instance=True"


        Dim SQL As String = "SELECT count(*) From utilizadores where [username] = @utilizador and [password] = @password;"

        Dim connection As New SqlConnection(myConnectionString)

        Dim command As New SqlCommand(SQL, connection)

        command.Parameters.Add("@utilizador", SqlDbType.VarChar).Value = txtuser.Text

        command.Parameters.Add("@password", SqlDbType.VarChar).Value = txtpass.Text

        connection.Open()


        Dim reader As SqlDataReader = command.ExecuteReader()


        If reader.HasRows Then


            While reader.Read()

                MsgBox("Sucesso")
            End While



        End If

        connection.Close()
        connection = Nothing
        command = Nothing

Mantem-se o mesmo problema .

Alguma ajuda ?  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O valor de x , caso acerte ou erre na password será sempre "-1" .

Como faco a validação para a verificação da password ? :s

ExecuteNonQuery() é para executar um comando Transact SQL e retornar o número de registos afectados. Um comando T-SQL é um INSERT, UPDATE ou DELETE e não um SELECT.

Se queres o valor da contagem tens de usar o método ExecuteScalar()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Perfeito , para quem tiver o mesmo problema, fica aqui o codigo :

Dim SQL As String = "SELECT count(*) From utilizadores where username = @utilizador and password = @password;"

        Dim connection As New SqlConnection(myConnectionString)

        Dim command As New SqlCommand(SQL, connection)

        command.Parameters.Add("@utilizador", SqlDbType.VarChar).Value = txtuser.Text

        command.Parameters.Add("@password", SqlDbType.VarChar).Value = txtpass.Text

        connection.Open()



        x = command.ExecuteScalar

        MsgBox(x)
        If x > 0 Then
            MsgBox("Login Efectuado com sucesso")
        Else

        End If

        connection.Close()
        connection = Nothing
        command = Nothing

Já agora Jpaulino , bom tutorial http://vbtuga.blogspot.com/2008/04/vbnet-gesto-de-dados-em-sql-server_16.html

Muito obrigado :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora