C#中一个很简单的执行cmd.ExecuteNonQuery() 更新数据库字段方法,在A表中执行更新语句是能够执行的,在B表中会一直超时(设置超时时间为0),后台sql server profiler也检测不到B表更新的执行,把更新语句在SQL中执行是能够成功执行的。注:原来一直是对的,不晓得什么原因现在一直不能够执行了,没任何修改。。初步怀疑是数据库的原因,重启服务,重建库,偶尔会成功执行。是否是数据库损坏?具体是哪的问题请数据库高手解答。

解决方案 »

  1.   

    语句一直没有返回值的话  超过sqlcommand 的默认执行时间30秒肯定就超时了撒,我设置的0 无限时间,然后再sql server profiler中监听执行语句,一直就没有,不晓得是什么原因造成的, 昨天尝试删库,重启服务,能够有一两次的成功,今天就再也不行了。。就是那么单独的一张表不能够执行(删除,更新,插入)方法,其他的表都可以执行的。
      

  2.   

    其它服务有没有占用数据端口,我之前也遇到一个类似的问题!事物执行一部分就不动了!最终的原因是PLsql占用了端口! 关闭了PLsql执行就OK了
      

  3.   

        SqlConnection con_str = new SqlConnection(CodeString.con_export);
                               con_str.Open();
                               SqlParameter[] parm = { 
                                              new SqlParameter("@content",byData),
                                              new SqlParameter("@piid",reader[0]),
                                              new SqlParameter("@name",reader[1]),
                                              };                           SqlCommand cme = new SqlCommand(update, con_str);
                               cme.Parameters.AddRange(parm);
                               cme.CommandTimeout = 0;
                               cme.ExecuteNonQuery();
                               con_str.Close();代码很简单。最基本的