Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fiz o seguinte código de login:
namespace PizzariaVirtual.Formulario.Sistema
{
public partial class frmLogin : frmModeloCadastro
{
public frmLogin()
{
InitializeComponent();
}
private void btnConfirmar_Click(object sender, EventArgs e)
{
if (txtNome.Text == "" || txtTelefone.Text == "")
{
MessageBox.Show("Preencha os Campos Nome e Telefone");
}
else
{
BancodeDados bd = new BancodeDados();
String query = "select cl_nome, cl_telefone from Cliente where cl_nome='"+txtNome.Text+"'"+"and cl_telefone ='"+txtTelefone.Text+"'";
SqlCommand cmd = new SqlCommand(query, bd.Conecta());
SqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
MessageBox.Show(dr["cl_nome"].ToString()+" , "+dr["cl_telefone"].ToString());
}
if ((dr["cl_nome"].ToString() == txtNome.Text) && (dr["cl_telefone"].ToString() == txtTelefone.Text))
{
frmMenu mn = new frmMenu();
Close();
mn.Show();
MessageBox.Show("Login Realizado com Sucesso");
}
else
{
MessageBox.Show("Login Falhou, tente denovo");
txtNome.Text = "";
txtTelefone.Text = "";
txtNome.Focus();
}
}
}
}
}
if ((dr["cl_nome"].ToString() == txtNome.Text) && (dr["cl_telefone"].ToString() == txtTelefone.Text))
Quando chega nessa linha o visual studio exibe o seguinte erro: Invalid attempt to read when no data is present.
O mais estranho é que o while que fiz(pra testar o retorno) imprime o nome e telefone do cliente certinho mas na hora de fazer a comparação a coisa não funciona, e aí!? Vocês podem me ajudar?
Ninguém vai responder? Eu só quero saber com eu faço pra receber a suposta string que o SqlDataReader retorna.
Carregando comentários...