Armazenar valor em um variável public vb.net

16/01/2013

0

Ola pessoal do DevMedia, 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.
Adriano Merett

Adriano Merett

Responder

Posts

16/01/2013

Robson Alves

Não trabalho com vb, vou te dar a luz na minha experiência com C#.

Você tem duas opções, primeiro a ruim:

Crie uma Sessão (Session) no seu sistema que armazena o retorno do banco e então vc utiliza ele para consultar. (C# possui Linq ou Lambda que permite isso).

A melhor (um pouco mais difícil):

Crie uma classe static que irá armazenar todos os dados nela de forma static, isso garante que as informações sejam armazenadas em memória e acessada pela aplicação.


Não sei o que é possível ou não no VB, acredito que a segunda opção é possível.
Responder

16/01/2013

Adriano Merett

Ola amigos resolvi desta maneira assim, criei um módulo ai dentro do modulo criei minha variável publica

Module qualquercoisa

public varialvel As String

End module

e la na ação do frm logim fiz assim

qualquercoisa.variavel = 1

Valewsss ...
Responder

23/01/2013

Joel Rodrigues

Show de bola, Adriano, obrigado por compartilhar conosco a solução.
Nesse caso vou encerrar o tópico.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar