Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafa 1850

[Resolvido] Percorrer um dataset e comprara com "string"

Recommended Posts

Olá galera,

uso este fórum faz um mês, nunca houve necessidade de criar tópico, pois sou basico e sempre achei tudo que precisei.

bem agora estou com dificuldades em percorrer um dataSet.

 

eis a questao , que no estágio, estou fazendo:

 

é um formulario de Login:

 

existe um Data Set que tem como colunas Nome e Senha

 

existe um txtNome aonde o usuario entra com o nome de login

 

eu preciso percorrer o dataset e ficar verificando se o Nome digitado existe no BD e se existir, verificar se a senha é válida para aquele nome!

 

parece ser simples, mas sou basico e sao eh meu 1 contato com sistema de login.;

 

espero compreensao e fico feliz por juntar-me a este forum, que tanto me ajuda.

 

o que eu pensei foi:

 

2 coisas

uma sei q estah errada pq nao funciona:

For i As Integer = 0 To Clientes2DataSet2.Tables.Item(0).Rows.Count - 1
            If Clientes2DataSet2.Tables.Item(0).Rows(i).Item("Nome") = txtNome.Text Then

                MsgBox("ACHOU")
            End If
        Next i

e a outra que eu nao sei implementar:

criar uma lista
inserir os valores das linhas do database na lista
comparar

bem é isso.

abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer seu login, há uma forma mais fácil. Tenta adaptar isso para seu código:

 

cn.open

set rs = new adodb.recordset
rs.open "select * from usuarios where nome = '" & txtnome.text & "' and senha = '" txtSenha.text & "'", cn

if rs.eof then
   msgbox "Nome de usuario ou senha incorretos",vbexclamation, "Erro"
end if

rs.close

Quanto a sua outra nessecidade, o que você chama de lista? Quer montar uma tabela com as informações? Se for, pode usar o datagrid. Basta configurar a propriedade datamember dele (se não me engano) para o seu recordset.

 

Tendo dúvidas, poste ai.

 

Ah, e seja bem vindo ao fórum. Caso ainda não tenha lido, dê uma olhada em nossas regras para melhor se familiarizar.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado camarada!

sei que sou leigo e devo ter postado atrocidades que para um expert doi só em ler, mas... estou tentando aprender! rsrs

 

amanha assim que chegar no estágio vou testar este código!

 

cn.open

set rs = new adodb.recordset
rs.open "select * from usuarios where nome = '" & txtnome.text & "' and senha = '" txtSenha.text & "'", cn

if rs.eof then
   msgbox "Nome de usuario ou senha incorretos",vbexclamation, "Erro"
end if

rs.close

surgiu uma duvida ao ler seu código colega,

o que seria "cn" na parte cn.open... e rs.eof... 'RS'

rs.open...

e new adodb.recordset

eu nunca havia visto isto...

como disse sou leigo.

 

se alguem puder postar algo que me ensine o que são essas abreviações, para melhor decora-las...

 

grande abraço e muito obrigado,

 

Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public Class frmLogin
#Region "botões"
    Private Sub bntCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        End
    End Sub

    Private Sub bntOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
        cn.open()

        rs = New adodb.recordset
rs.open "select * from usuarios where nome = '" & txtnome.text & "' and senha = '" txtSenha.text & "'", cn

        If rs.eof Then
            MsgBox("Nome de usuario ou senha incorretos", vbExclamation, "Erro")
        End If

        rs.close()


    End Sub
#End Region



#Region "LOAD FORM"
    Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        prbLogin.Hide()


    End Sub
#End Region
    
End Class

Não consigo X___X

pq nao entendo esse rs., cn. e rs = New adodb.recordset

o que ser isso?

 

meu dataset tem uma tabela para o login chamada clientes2dataset2 / tabela usuario / colunas nome e senha

 

alguem pode me ajudar?

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset

        cn = New ADODB.Connection
        cn.ConnectionString = ""
        cn.Open()
        cn.Open()

        rs = New ADODB.Recordset
rs.open "select * from usuarios where "nome" =" & txtnome.text & "'senha' = "txtSenha.text & ", cn

        If rs.EOF Then
            MsgBox("Nome de usuario ou senha incorretos", vbExclamation, "Erro")
        End If

        rs.Close()

    End Sub

Bem, estah dando erro no (

"select * from usuarios where "nome" ="
será q solucionando o erro ele funciona?

to quebrando a cabeça, o resultado final postarei aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset

        cn = New ADODB.Connection
        cn.ConnectionString = ""
        cn.Open()
        cn.Open()

        rs = New ADODB.Recordset
        rs.Open("select * from usuarios") 

        If rs.EOF Then
            MsgBox("Nome de usuario ou senha incorretos", vbExclamation, "Erro")
        End If

        rs.Close()

    End Sub

quando complio isso e aperto no OK para disparar esse procedimento da erro no OPEN e trava tudo.

e agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já eliminei os 2 Open, foi erro de ctrl V mesmo e nada =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fuji do Titulo do Post. podem fechar este. vou criar um com nome mais propicio.

abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o quintelab disse, não poste tantas vezes se o problema ainda não foi solucionado, aguarde ajuda.

Não temos o tempo todo livre a diposição do fórum para responder a hora que todo membro precisar.

 

Bom, não são abreviações, são variáveis.

 

cn é sua variável de conexão com seu banco de dados e rs é sua variável de recordset, que é onde você armazena os dados de sua tabela.

 

Como está preenchendo seu grid? É através de um banco de dados exato? Caso não seja, mostre-me como está fazendo, porque nesse caso, o código que postei não faz sentido para você.

 

Vi no outro tópico que montou uma conexão com o banco, as variáveis que usei são similares às que usou lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.