Como fica esse codigo em C#

15/03/2006

0

Gente é o seguinte...

estou fazendo um controle de acesso ao banco de dados do usuário, ja fiz a seleção do usuario digitado na tabela de usuarios, porem agora precisso saber se a senha digitada esta correta...
todos os exemplos que achei, trabalha da seguinte forma: fazem o select com o parametro para usuario e senha e depois conta um cursor para saber se algo foi achado, só que isso fica muito suspeito....

oque to querendo é fazer um select na tabela de usuário e depois verificar se o usuario existe e se a senha esta correta.

o código que ja tenho é esse:
try
{
fbComm_atual.CommandText = ´select * from dbf_usuario where (usuario = @p_usu) and (senha = @p_senha)´;
fbComm_atual.Parameters.Clear();
fbComm_atual.Parameters.Add(´@p_usu´, edt_usuario.Text.ToString());
fbComm_atual.Parameters.Add(´@p_senha´, edt_senha.Text.ToString());
fbConnection.Open();
FirebirdSql.Data.FirebirdClient.FbDataReader usuario = fbComm_atual.ExecuteReader();

if (!usuario.Read())
{
System.Windows.Forms.MessageBox.Show(´Não foi possível encontrar o Usuário´, ´Harp ERP´);
usuario.Close();
fbConnection.Close();
edt_usuario.Clear();
edt_senha.Clear();
edt_usuario.Focus();
return;
}
//if (ds_usuario.Tables[´usuario´].Rows[1][´usuario´] == edt_usuario.Text.ToString())
//{
//System.Windows.Forms.MessageBox.Show(´aaaaaaaaa´, ´Harp ERP´);
//}

if (USUARIO.ColumnName[2].ToString() == edt_usuario.Text.ToString())
{
System.Windows.Forms.MessageBox.Show(´o usuario não é igual´, ´Harp ERP´);
}
else
{
System.Windows.Forms.MessageBox.Show(´não é igual o usuario´, ´Harp ERP´);
}

usuario.Close();
System.Windows.Forms.MessageBox.Show(´Achou algo´, ´Harp ERP´);
fbConnection.Close();

}
catch
{
fbConnection.Close();

System.Windows.Forms.MessageBox.Show(´´catch´ Não foi possível acessar ao ´Banco de Dados´´, ´Harp ERP´);
}

-------------------------------------
gostaria de um exemplo facil e bom ou somente do codigo.... e como se abre um novo form se o usuario e senha estiver ok... ?

esse é o codigo que tenho no delphi:
TClientDataSet(ds_Consulta_Usuario.DataSet).Close;
TClientDataSet(ds_Consulta_Usuario.DataSet).Params.ParamByName(´USUARIO´).AsString := Edit_Usuario.Text;
TClientDataSet(ds_Consulta_Usuario.DataSet).Open;
if TClientDataSet(ds_Consulta_Usuario.DataSet).IsEmpty then
begin
// Usuario não cadastrado

// Chamada da Regra para Mensagem Personalizada
RegraNegocio := TRegraNegocio.Create;
RegraNegocio.RN_Mensagem_Usuario_Invalido;
FreeAndNil(RegraNegocio);
end
else
begin
// Achou Usuario, testar data e senha

// Testando a Data de Exclusão
if TClientDataSet(ds_Consulta_Usuario.DataSet).FieldByName(´DATA_EXCLUSAO´).AsString <> ´´ then
begin
// Chamada da Regra para Mensagem Personalizada
RegraNegocio := TRegraNegocio.Create;
RegraNegocio.RN_Mensagem_Usuario_Bloqueado;
FreeAndNil(RegraNegocio);
end
else
begin
// Testando a Senha
if TClientDataSet(ds_Consulta_Usuario.DataSet).FieldByName(´SENHA´).AsString <> Edit_Senha.Text then
begin
// Chamada da Regra para Mensagem Personalizada
RegraNegocio := TRegraNegocio.Create;
RegraNegocio.RN_Mensagem_Senha_Incorreta;
FreeAndNil(RegraNegocio);
end
else
begin
// Usuário Aceito

// Crio o menu principal
Usuario := TUsuario.Create;
Usuario.Seta_Usuario(Edit_Usuario.Text,
TClientDataSet(ds_Consulta_Usuario.DataSet).fieldbyname(´cod_pessoa´).AsFloat);

FrmMenuPrincipal := TFrmMenuPrincipal.Create(Self);

FrmMenuPrincipal.StatusBar1.Panels[0].Text := ´Usuário.: ´ + Edit_Usuario.Text;

FrmControleAcesso.Hide;
FrmMenuPrincipal.ShowModal;
FreeAndNil(FrmMenuPrincipal);
FreeAndNil(Usuario);
FrmControleAcesso.Show;
end;
end;
end;

---------------------------------------
meu e-mail: djcacao@gmail.com

por favor, alguem me ajude...


Djcacao

Djcacao

Responder

Posts

15/03/2006

Martins

Para abrir um form é só fazer isso:

        private void fornecedoresToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 mForm = new Form2();
            mForm.Show();
        }


Desculpe se entendi errado o q vc quer.


Responder

15/03/2006

Djcacao

Certo Martins, isso me ajudou....

mas referente a consulta de senha, e outros dados, qual o conceito que é empregado no C?

Tipo, como posso fazer a verificação dos registros selecionados.


Responder

16/03/2006

Martins

Certo Martins, isso me ajudou.... mas referente a consulta de senha, e outros dados, qual o conceito que é empregado no C? Tipo, como posso fazer a verificação dos registros selecionados.


Nesse caso senha / usuário estariam armazenados no BD - Firebird não é isso?

Então, monte sua consulta Sql e retorne o valor dela para ser comparado com a informação prestada no login.

Vou ver se monto algo com código C e posto aqui.


Responder

16/03/2006

Emerson Nascimento

veja se assim funciona:
try 
{ 
  fbComm_atual.CommandText = "select DATA_EXCLUSAO, SENHA from dbf_usuario where (usuario = @p_usu)"; 
  fbComm_atual.Parameters.Clear(); 
  fbComm_atual.Parameters.Add("@p_usu", edt_usuario.Text.ToString()); 
  fbConnection.Open(); 
  FirebirdSql.Data.FirebirdClient.FbDataReader usuario = fbComm_atual.ExecuteReader();

  vazio = !usuario.Read();

  if (!vazio)
  {
    dataexclusao = usuario.ColumnName[0].ToString();
    senha = usuario.ColumnName[1].ToString();
  }
  else
  {
    dataexclusao = "";
    senha = "";
  }

  usuario.Close(); 
  fbConnection.Close(); // vai mesmo fechar a conexão?

  if (vazio) 
  { 
    // Usuario não cadastrado 
    System.Windows.Forms.MessageBox.Show("Não foi possível encontrar o Usuário", "Harp ERP"); 
    edt_usuario.Clear(); 
    edt_senha.Clear(); 
    edt_usuario.Focus(); 
    return; 
  }
  else
  {
    // Achou Usuario, testar data e senha 

    // Testando a Data de Exclusão 
    if (dataexclusao <> ´´)
    { 
      System.Windows.Forms.MessageBox.Show("Usuario bloqueado", "Harp ERP"); 
    } 
    else 
    { 
      // Testando a Senha 
      if (senha <> edt_senha.Text)
      {
        System.Windows.Forms.MessageBox.Show("Senha inválida", "Harp ERP");
      }
      else
      {
        // Crio o menu principal 
        FrmMenuPrincipal FrmMnuPrincipal = new FrmMenuPrincipal();
        FrmMnuPrincipal.Show();
      }
  } 

} 
catch 
{ 
  fbConnection.Close(); 
  System.Windows.Forms.MessageBox.Show("Não foi possível acessar o banco de dados", "Harp ERP"); 
}



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