none
Acesso a banco com LINQ + VB.Net RRS feed

  • Pergunta

  • O código abaixo é uma evolução de uma dúvida que postei anteriormente sobre como comparar o usuário e a senha digitados pelo usuário com o banco de dados. Desta vez estou fazendo utilizando o LINQ, e gostaria da ajuda de vocês para ver se está errado ou estou no caminho certo.

    Segue o código:

    Protected Sub cmdLogin_Click(sender As Object, e As EventArgs) Handles cmdLogin.Click
    
            'busca o usuário no banco para validar
            Dim contexto As New ContextoContext
            Dim usr = From usuario In contexto.Usuarios _
                     Select usuario Where usuario.Usuario = txtUsuario.Text _
                     Or usuario.Usuario = Session("usuario").ToString
    
        End Sub


    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 13 de maio de 2014 00:49

Respostas

  • Olá Marcio, eu faria direfente criaria um método e passaria o usuario como string, o que esse bloco de código faz é SELECT USUARIO FROM USUARIOS WHERE usuario = txtusuario.Text Or usuario = Session("usuario").ToString, faça encapsulado em um método !

    Public Sub EncontraUsuario(ByVal txt As String,ByVal user As String)
    
    Dim contexto as new ContextoContext()
    
    Dim usr = From usuario In contexto.Usuarios 
              Select usuario Where usuario.Usuario = txt
              Or usuario.Usuario = user
    
    
    End Sub
    
    'Eu faria assim
    Public Sub EncontraUsuario(ByVal _usuario As String)
    
    If usuario is Nothing Then
    'se string for nula sai do sub
    ExitSub
    
    EndSub
    
    Dim contexto as new ContextoContext()
    
    Dim sql = (From u in contexto.Usuario
               Select u.usuario Where u.usuario = _usuario 
               ).FirstOrDefault()
    
    If sql is Nothing Then
    ' usuario nao encontrado
    Else
    'usuario encontrado
    End If
    
    
    End Sub
    Mas é apenas uma maneira, pois vc pode ter usuario diferente na textbox e na session ?

    • Marcado como Resposta Marcio_Nogueira terça-feira, 13 de maio de 2014 12:33
    terça-feira, 13 de maio de 2014 01:42

Todas as Respostas

  • Olá Marcio, eu faria direfente criaria um método e passaria o usuario como string, o que esse bloco de código faz é SELECT USUARIO FROM USUARIOS WHERE usuario = txtusuario.Text Or usuario = Session("usuario").ToString, faça encapsulado em um método !

    Public Sub EncontraUsuario(ByVal txt As String,ByVal user As String)
    
    Dim contexto as new ContextoContext()
    
    Dim usr = From usuario In contexto.Usuarios 
              Select usuario Where usuario.Usuario = txt
              Or usuario.Usuario = user
    
    
    End Sub
    
    'Eu faria assim
    Public Sub EncontraUsuario(ByVal _usuario As String)
    
    If usuario is Nothing Then
    'se string for nula sai do sub
    ExitSub
    
    EndSub
    
    Dim contexto as new ContextoContext()
    
    Dim sql = (From u in contexto.Usuario
               Select u.usuario Where u.usuario = _usuario 
               ).FirstOrDefault()
    
    If sql is Nothing Then
    ' usuario nao encontrado
    Else
    'usuario encontrado
    End If
    
    
    End Sub
    Mas é apenas uma maneira, pois vc pode ter usuario diferente na textbox e na session ?

    • Marcado como Resposta Marcio_Nogueira terça-feira, 13 de maio de 2014 12:33
    terça-feira, 13 de maio de 2014 01:42
  • Muito obrigado pela dica!

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 13 de maio de 2014 15:22