【发布时间】:2015-05-22 11:21:35
【问题描述】:
我有以下代码:
{
c = Request.QueryString["city"];
SqlConnection objConn2 = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand objCmd2;
SqlDataReader objRdr2;
// String strCmd2;
objConn2.Open();
objCmd2 = new SqlCommand("SELECT * FROM subject_details WHERE Roll_no = " +"'" + c + "'", objConn2);
objRdr2 = objCmd2.ExecuteReader();
while (objRdr2.Read())
{
Label122.InnerText = (string)objRdr2["Name"].ToString().ToUpper();
objRdr2.Close();
objConn2.Close();
}
这段代码运行得很好,突然我得到了错误:
System.InvalidOperationException:尝试调用 Read 时无效 阅读器已关闭。
谁能帮助我为什么会出现这个错误
【问题讨论】:
-
请使用sql参数传递那个城市。如果恰好包含
'(sql 注入),您的代码将失败(或更糟)