private void button1_Click(object sender, EventArgs e)
{
string name;
name = textBox5.Text;
SqlConnection con10 = new SqlConnection("con strn");
SqlCommand cmd10 = new SqlCommand("select * from sumant where [email protected]");
cmd10.Parameters.AddWithValue("@name",name);
cmd10.Connection = con10;
cmd10.Connection.Open();//line 7
SqlDataReader dr = cmd10.ExecuteReader();
}
if (textBox2.Text == dr[2].ToString())
{
//do something;
}
Cuando puedo depurar hasta la línea 7, que está bien, pero después de que el doctor se produce una excepción: Invalid attempt to read when no data is present.
Eso no es posible, ya que tengo datos de la tabla con nombre de usuario = sumant. Por favor dígame si la declaración 'si' es correcta o no .........Intento no válido para leer cuando no hay datos está presente
¿Y cómo elimino el error?
además de eso, es posible que desee para tratar de que los datos sean nulos utilizando dr.IsBDNull (0) –
Esta respuesta puede ser mejorado, el primer fragmento no toma el cuidado de la valor de retorno de 'dr.Read()'. Por lo tanto, si la consulta no devuelve registros, el error es el mismo: "Intento no válido de lectura cuando no hay datos presentes". En su lugar, use 'if (dr.Read()) {....}' (o un bucle como se muestra a continuación). –