Fórum Parametros oracle com CSharp #593024
07/05/2018
0
Estou com dificuldade em utilizar os parametros do Oracle com o c#.
private void queryentar()
{
string query = "SELECT * FROM solicitacao_recurso.USUARIO WHERE CHAVE_REDE=:CHAVE and SENHA=:SENHA";
string queryperfil = "select PERFIL from solicitacao_recurso.USUARIO where CHAVE_REDE=:CHAVE and SENHA=:SENHA";
Conexao conexao = new Conexao();
conexao.Conectar();
string senha, chave;
senha = txtsenha.ToString();
chave = txtchave.ToString();
//Comando para verificar o login
OleDbCommand comando = new OleDbCommand(query, conexao.cn);
comando.Parameters.Add("CHAVE", OleDbType.VarChar);
comando.Parameters[0].Value = chave;
comando.Parameters.Add("SENHA", OleDbType.VarChar);
comando.Parameters[0].Value = senha;
//Verifica os dados do login
OleDbDataReader dr = comando.ExecuteReader();// Erro acontece nessa linha
if (dr.Read())
{
Autenticacao.login(dr["CHAVE_REDE"].ToString(), dr["SENHA"].ToString(), Convert.ToInt32(dr["PERFIL"]));
}
else
{
MessageBox.Show("Usuario ou senha invalidos");
}
//Comando para verificar o perfil de usuario que esta logando
OleDbCommand comandoperfil = new OleDbCommand(queryperfil, conexao.cn);
comandoperfil.Parameters.Add(new OleDbParameter("CHAVE", chave));
comandoperfil.Parameters.Add(new OleDbParameter("SENHA", senha));
//Passa valor do select para a variavel
int perfil;
OleDbDataReader rd = comandoperfil.ExecuteReader();
if (rd.Read())
{
perfil = rd.GetInt32(0);
//Se o codigo de perfil for igual a 1 abre o formulario de TI
if (perfil == 1)
{
TImenu abre = new TImenu();
abre.Show();
}
if (perfil == 2)
{
GAaprova abre = new GAaprova();
abre.Show();
}
if (perfil == 3)
{
GTImenu abre = new GTImenu();
abre.Show();
}
if (perfil == 4)
{
SPmenu abre = new SPmenu();
abre.Show();
}
if (perfil == 5)
{
SOmenu abre = new SOmenu();
abre.Show();
}
}
conexao.Desconectar();
}
Felipe Santos
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)