当前位置: 代码迷 >> Web Service >> “cmm.ExecuteNonQuery();”报错!该如何处理
  详细解决方案

“cmm.ExecuteNonQuery();”报错!该如何处理

热度:745   发布时间:2012-01-03 22:16:06.0
“cmm.ExecuteNonQuery();”报错!
小弟编写了以下代码:
public   string   CH(string   usename,string   pwd,string   rights)
          {
          //         string     connStr;  
          //         connStr   = "Server=(local);database=dbTest;uid=sa;pwd= ' '; ";
          //         cnn   =   new   SqlConnection(connStr);

if(cnn.State==0)    
cnn.Open();
cmm.Parameters[ "@useid "].Value   =   usename;
cmm.Parameters[ "@pwd "].Value   =   pwd   ;
cmm.Parameters[ "@rights "].Value   =   rights   ;
cmm.ExecuteNonQuery();
    string   pasd=cmm.Parameters[ "@pass "].Value.ToString();
        cnn.Close();
return(pasd);  
}
-------------------------------------------------------
结果报错为:
cmm.ExecuteNonQuery();
System.InvalidOperationException:   ExecuteReader   需要打开的并且可用的连接。该连接的当前状态是   Closed。
-------------------------
似乎以上代码已经连接上数据库了啊,为什么会报这个错误呢,用注释掉的那段代码也不行!请大虾赐教!!!!!

------解决方案--------------------
少了 cmm.Connection = cnn?

还有,使用
if(cnn.State==ConnectionState.Closed)
------解决方案--------------------

cmm = cnn.creatCommand();
------解决方案--------------------
在cnn.Open();的时候加入一个判断
有可能是上面什么地方使用了你没有关闭


去掉if(cnn.State==0)
------解决方案--------------------
cmm.Connection = cnn,没有这个哦。按saucer(思归) 来吧
------解决方案--------------------
少了 cmm.Connection = cnn
------解决方案--------------------
在你的方法体内没有Connection对象cnn,而且cmm也见和cnn有什么关系
  相关解决方案