cmdinsert.ExecuteNonQuery();语句出错!

黑暗的救赎 2003-10-18 10:10:58
代码如下:(部分代码省略了)
string strcmd="select * from userinf where username='"+this.TextBox_uid.Text+"'";
try
{
SqlCommand cmd=new SqlCommand(strcmd,this.myconnect);
System.Data.SqlClient.SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
this.msg.InnerHtml+="该用户名已经存在"+"<br>";
}
else
{

string strinsert="insert into userinf(username,password) values('ffff','dsfdfs')";
//我随便写的 SqlCommand cmdinsert=new SqlCommand(strinsert,this.myconnect );
cmdinsert.ExecuteNonQuery();
this.msg.InnerHtml+="户名注册成功"+"<br>";
this.msg.InnerHtml+="您的用户名是:"+this.TextBox_uid.Text +"<br>";
}
}
catch(SqlException ee)
{
this.msg.InnerHtml+=ee.Message;
}
...全文
132 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoyan19811021 2003-10-19
  • 打赏
  • 举报
回复
同意webdiyer(陕北吴旗娃) 。
不能公用一个打开的连接
webdiyer 2003-10-19
  • 打赏
  • 举报
回复
在System.Data.SqlClient.SqlDataReader dr=cmd.ExecuteReader();这句前,应该先打开数据连接,而在SqlDataReader执行完后,需要立即关闭连接,然后在用 cmdinsert.ExecuteNonQuery();之前,需要重新打开数据库连接。
webdiyer 2003-10-19
  • 打赏
  • 举报
回复
试了一下,xxdneu(xxd)说得对,确实不需要在用ExecuteReader()后关闭连接再重新打开,原来读取数据和不读取数据有这么大的差别,谢谢!
afxucamd 2003-10-19
  • 打赏
  • 举报
回复
同意xxdneu(xxd) ,在使用cmdinsert.ExecuteNonQuery();之前必须先调用dr.Close()
xxdneu 2003-10-19
  • 打赏
  • 举报
回复
这个我也知道,可是现在楼主的reader只是用来判断是否有这个用户,判断完毕就可关闭这个reader了,而不再用了,关闭reader以后就可以用目前打开的数据库连接执行更新sql了,你说不是这样吗?当然我也知道,如果仍然要从reader中读取数据的话,那么它必须占用一个连接。现在reader不用了,难道有必要先关闭数据库连接,然后再打开她吗?
这个我用了无数回了,不用再试了
webdiyer 2003-10-19
  • 打赏
  • 举报
回复
to : xxdneu(xxd)

DataReader是一个数据指针,一个DataReader必须单独占用一个打开的数据库连接!!你可以自己试试看。
xxdneu 2003-10-19
  • 打赏
  • 举报
回复
不同意webdiyer(陕北吴旗娃)
可以公用一个打开的连接,你只需把DataReader关闭就可以执行ExecuteNonQuery()了
ddangerous169 2003-10-18
  • 打赏
  • 举报
回复
跟踪一下。
sql语句输出出来在sqlServer中试一下
dongbeiren 2003-10-18
  • 打赏
  • 举报
回复
具体的错误提示是什么?
rgbcn 2003-10-18
  • 打赏
  • 举报
回复
跟踪一下。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧