Amici, quando scrivo questi codice in asp.net ottengo un errore come questo:quando mettono più comandi SQL che mostrano errore: Esiste già un DataReader aperto associato con questo comando che deve essere chiuso prima
C'è già un DataReader aperto associato con questo comando che devono essere chiusi prima
help me please
SqlConnection con = obj.getcon();
con.Open();
SqlCommand cmd = new SqlCommand("select student_id from student_details", con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
String ss=dr[0].ToString();
if (val == ss)
{
SqlCommand cmd1 = new SqlCommand("insert student_vs_testsession_details(student_id,testsession_id,testsession_status) values('" + val + "','" + Test + "','')", con);
int val1 = cmd1.ExecuteNonQuery();
}
else
{
string message = "<script language=JavaScript> alert('StudentID does not exists!'); </script>";
if (!Page.IsStartupScriptRegistered("clientScript"))
{
Page.RegisterStartupScript("clientScript", message);
}
}
}
dr.Close();
// con.Close();
}
Do * NON * fa i parametri in linea nelle tue istruzioni SQL! È il modo più rapido per avere problemi con gli attacchi di iniezione (no, sfuggire l'input non è sufficiente): dai un'occhiata a come utilizzare le query con parametri. – PhonicUK
grazie .. ma dopo la parametrizzazione ho lo stesso errore – nsds