Array
(
)

Armazenar valor em um variável public vb.net

Adriano Merett
   - 16 jan 2013

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.

Robson Robsonalves.net
   - 16 jan 2013

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.

0
|
0

Adriano Merett
   - 16 jan 2013

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 ...

0
|
0

Joel Rodrigues
   - 23 jan 2013

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

0
|
0