Ir para o conteúdo
the one

Login em VB

Mensagens Recomendadas

the one    0
the one

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
the one    0
the one

        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:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

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()

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
the one    0
the one

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:

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade