quarta-feira, 28 de janeiro de 2009

Dica C#: Como contruir uma tela de Login com acesso a dados


Bom, essa dica resolvi postar pois encontro uma poção de pessoas que tem a mesma dúvida quando começam a estudar novas tecnologias. Nesse exemplo rápido, prático e seguro, não usaremos nenhum tipo de Design Pattern justamente para facilitar o entendimento do código e da lógica usada.
--------------------------------------------------------------------
/* CONEXÃO COM SQL:
SqlConnection conn = new SqlConnection(suaStringDeConexao);
SqlCommand comm = new SqlCommand("Select count(*) From SuaTabela Where usuario = @usuario And senha = @senha", conn);
*/

//CONEXÃO COM OLEDB(ACCESS)
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=H:\Projetos\Dot Net\MinhaAgenda\MinhaAgenda.mdb");
OleDbCommand cmd = new OleDbCommand("SELECT count(*) FROM login WHERE (usuario = @usuario and senha = @senha)", conn);

cmd.Parameters.AddWithValue("@usuario", SqlDbType.Text).Value = txtUsuario.Text;
cmd.Parameters.AddWithValue("@senha", SqlDbType.Text).Value = txtSenha.Text;

conn.Open(); //Abrindo a conexão...
int i = (int)cmd.ExecuteScalar();//Verifica quantos resultados forão encontrados

//Se i form maior que 0 é pq achou user e pass, senão é pq n achou.
if (i > 0)
MessageBox.Show("Acesso liberado");
else
{
MessageBox.Show("Usuário e/ou senha inválidos");
txtUsuario.Clear(); //Limpa os TextBox de usuário e senha.
txtSenha.Clear();
}

conn.Close(); //Fecha a conexão

5 comentários:

  1. legal esse post! realmente eh um ponto fundamental em qualquer programa... e pelo jeito, parece ser bastante simples.

    ResponderExcluir
  2. interessante tico! mas o q tem exatamente nesse post me xingou toda...hahaha

    enquanto a mergulho, taí algo q tenho vontade de fazer, quem sabe um dia!!!

    e valeu pela visita! pareça sempre...

    abs
    luh d'oliveira

    ResponderExcluir
  3. Aê Tiago, estou comentando para você saber que estive por aqui. Espero que não acabe como a maior parte dos blogs: sem atualizações constantes. Um grande abraço e sucesso.

    PS: dê uma olhada nesse blog de tecnologia que gosto muito. De repente você pode se inspirar nele ( www.digitaldrops.com.br )

    ResponderExcluir
  4. valeu pela dica brunocpl. Eu tb espero o mesmo! Se o tempo n me esgotar antes pretendo continuar espalhando as maravilhas do mundo tecnológico e submarino. E o site realmente é uma maravilha.. inclusive já postei algo a respeito que peguei de lá.

    ResponderExcluir
  5. Velho, adorei a iniciativa, porém estou meio chateado com um, tal de "bombeiro risonho"; ele coloca os outros no espeto, ou seja, a invés de salvar os outros, ele é que tem que ser salvo, até se transforma no menino-pinauna, vulgo estrela do mar. Fica aí meu depoimento de indgnação. Fui.

    ResponderExcluir