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,必须首先将它关闭。
这个错误 哪位高手帮帮忙啊
解决方案 »
- 环境变量classpath设置时,设置成.;表示的是当前目录。而不设置时也默认是当前目录,请问为什么还要设置。
- 刚刚学完ssh2,想做个小项目练练,谁有给一份看看?
- JSF+SPRING+HIBERNTEA 整合问题! 求救
- java安装的问题
- 求救,针对JPA的问题!
- jbuilder开发hibernate,如何在hibernate.cfg.xml中配置weblogic jndi???急!
- 有木有人在项目中使用jquery-easyUI。我发现这个UI版本更新很快
- 哪里有googleapi.jar包下载呀(google里边的下不来了)(50分)
- 求正则表达式,过滤英语标点符号。
- 如何用java语言判断出字符串“2001-2-31”是错误的日期型
- 用java解析带前缀的xml(高分求助)
- 引入标签库 这个咋么回事
看你的错误,应该是打开了DataReader以后没有关闭,也就是说com.ExecuteReader()会打开某个DataReader,而你放在循环中,每次循环又不去关掉DataReader,下一次循环的时候就重复打开SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection);
com.ExecuteReader() 和 dr 有什么关系?