string ID = TextBox1.Text;
string D1 = DropDownList1.SelectedItem.Value.ToString();
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["Photo-图片处理"].ToString();
SqlConnection conn = new SqlConnection(strconn);
conn.Open();
string sqlstr = "select sID,sName,sPwd,sSex,sBirth,sTel,sEmail,sAddress from Student where sID='" + ID + "'";
//SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
SqlCommand com = new SqlCommand(sqlstr, conn);
SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection);
while (dr.Read())
{
if (com.ExecuteReader() == null)
{
//conn.Close();
string scriptString = "alert('" + "没有该信息!" + "');";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "warning", scriptString, true);
}
else
{
//DataRow row = dt.Rows[0];
TextBox2.Text = dr["sID"].ToString();
TextBox3.Text = dr["sName"].ToString();
TextBox4.Text = dr["sPwd"].ToString();
D1 = dr["sSex"].ToString();
TextBox5.Text = dr["sBirth"].ToString();
TextBox6.Text = dr["sTel"].ToString();
TextBox7.Text =dr["sEmail"].ToString();
TextBox8.Text = dr["sAddress"].ToString();
}
}
在这里if (com.ExecuteReader() == null)一直提示 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
这个错误 哪位高手帮帮忙啊
string D1 = DropDownList1.SelectedItem.Value.ToString();
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["Photo-图片处理"].ToString();
SqlConnection conn = new SqlConnection(strconn);
conn.Open();
string sqlstr = "select sID,sName,sPwd,sSex,sBirth,sTel,sEmail,sAddress from Student where sID='" + ID + "'";
//SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
SqlCommand com = new SqlCommand(sqlstr, conn);
SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection);
while (dr.Read())
{
if (com.ExecuteReader() == null)
{
//conn.Close();
string scriptString = "alert('" + "没有该信息!" + "');";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "warning", scriptString, true);
}
else
{
//DataRow row = dt.Rows[0];
TextBox2.Text = dr["sID"].ToString();
TextBox3.Text = dr["sName"].ToString();
TextBox4.Text = dr["sPwd"].ToString();
D1 = dr["sSex"].ToString();
TextBox5.Text = dr["sBirth"].ToString();
TextBox6.Text = dr["sTel"].ToString();
TextBox7.Text =dr["sEmail"].ToString();
TextBox8.Text = dr["sAddress"].ToString();
}
}
在这里if (com.ExecuteReader() == null)一直提示 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
这个错误 哪位高手帮帮忙啊
解决方案 »
- Mysql中的Decimal(9, 2)或Numeric(9,2)对应Java中的哪个数据类型
- #####jxl中createWorkbook效率问题[标题醒目么?]######
- JPA的问题(寻求帮助,谢谢:))
- 如何通过字符串ID获取对应的Bean实例?
- struts2 用超链接向action中传值的奇怪问题!!!!
- 一个奇怪的java和jsp的问题
- Java连接Oracle调用存储过程提示实际返回的行数超出请求的行数异常,怎么解决,请教各位大侠帮忙?
- 关于JAVA实现汉字转码的问题?
- 请教哪位研究过MSPetShop High Marks!
- 修改功能一般采用的方式(大家过来讨论一下,互相学习)
- 用java解析带前缀的xml(高分求助)
- 引入标签库 这个咋么回事
看你的错误,应该是打开了DataReader以后没有关闭,也就是说com.ExecuteReader()会打开某个DataReader,而你放在循环中,每次循环又不去关掉DataReader,下一次循环的时候就重复打开SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection);
com.ExecuteReader() 和 dr 有什么关系?