none
Armazenar valor em um variável public vb.net RRS feed

  • Pergunta

  • Ola pessoal boa noite a todos, preciso muito de uma ajuda de vocês, é o seguinte gostaria de saber como armazenar o valor de uma busca feita em um banco de dados em uma variável pública para eu poder acessar ela de qualquer parte da minha aplicação. quero fazer isso para fazer um controle de usuário pois quando faço logim no sistema busco o nível deste usuário então gostaria de saber como eu faço para armazenar este valor nesta variável.

    Aqui esta o código:

    Imports System.Data
    Imports System.Data.SqlClient

    Imports System.Data
    Imports System.Data.SqlClient

    Public Class Form1

    Public _IdUsuario As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim VarNome As String = CampoNome.Text
    Dim VarSenha As String = CampoSenha.Text
    Dim I As Integer = 0
    Dim Connect As New SqlConnection("Data Source=SERVIDOR;Initial Catalog=SGC;User ID=sa;Password=321456")
    Dim Sql As String = "SELECT id_user, nome, senha, nivel FROM tb_usuarios WHERE nome = '" & VarNome & "' "
    Dim Ds As New DataSet

    Try
    Connect.Open()
    Dim Adapter As New SqlDataAdapter(Sql, Connect)
    Adapter.Fill(Ds)
    Connect.Close()

    If Ds.Tables(0).Rows.Count > 0 Then
    Dim SenhaDb As String = Ds.Tables(0).Rows(I)("senha").ToString()

    If VarSenha <> SenhaDb Then
    MsgBox("Atenção sua senha esta incorreta", MsgBoxStyle.MsgBoxHelp = MsgBoxStyle.Exclamation, "Tela de logim")
    Else

    Dim Nivel As String = Ds.Tables(0).Rows(I)("nivel").ToString()
    'Aqui esta o problema gostaria de armazenar o valor desta variável Nivel Na variável global _IdUsuario

    _IdUsuario = Nivel
    'Fiz desta forma mas não deu certo 

    Me.Hide()
    FrmPrincipal.Show()
    End If

    Else
    MsgBox("Atenção nome de usuário esta incorreto", MsgBoxStyle.Exclamation, "Tela de logim")
    End If
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    End Sub

    End Class

    Gente desde ja muito obrigado mesmo aguardo resposta de vocês, um grande abraço a todos.
    • Editado adrianomerett quarta-feira, 16 de janeiro de 2013 02:48
    quarta-feira, 16 de janeiro de 2013 02:47

Respostas

  • Para atribuir um valor para a variável dentro do módulo faz assim:

    MeuModulo.MinhaVariavel = Nivel

    Mas se o valor não estiver sendo passado pode ser algum problema na parte dos dados. Eu particularmente nunca usei o .ToString() enquanto obtinha um valor de uma célula do row...


    Herbert Lausmann

    Gerenciador de Logins

    • Marcado como Resposta adrianomerett quarta-feira, 16 de janeiro de 2013 16:14
    quarta-feira, 16 de janeiro de 2013 14:40

Todas as Respostas

  • Você pode adicionar um Módulo(Module) ao seu projeto e declarar a variável dentro dele:

    Module MeuModulo
    Friend Variavel As String = "Sei lá..."
    End Module

    Dessa forma a variável ficará visível em todo o projeto, mas não fora dele.


    Herbert Lausmann

    Gerenciador de Logins

    quarta-feira, 16 de janeiro de 2013 09:49
  • Olá Herbert  obrigado pela atenção, Até ai eu entendi tipo criar o modulo e criar uma variável dentro deste modúlo o que eu quero saber é como passar o valor daquela variável  local com nome de nivel que esta dentro do envento click do botao de logar para esta variável Friend que esta dentro do modulo.

    Dim Nivel As String = Ds.Tables(0).Rows(I)("nivel").ToString()

    Aguardo respostas obrigado.

    quarta-feira, 16 de janeiro de 2013 12:21
  • Para atribuir um valor para a variável dentro do módulo faz assim:

    MeuModulo.MinhaVariavel = Nivel

    Mas se o valor não estiver sendo passado pode ser algum problema na parte dos dados. Eu particularmente nunca usei o .ToString() enquanto obtinha um valor de uma célula do row...


    Herbert Lausmann

    Gerenciador de Logins

    • Marcado como Resposta adrianomerett quarta-feira, 16 de janeiro de 2013 16:14
    quarta-feira, 16 de janeiro de 2013 14:40
  • Valeu amigão deu certinho era isso mesmo que eu precisava muito obrigado !!!!
    quarta-feira, 16 de janeiro de 2013 16:16