运算符“!=”无法应用于“ConnectionState”和“方法组”类型的操作

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 CS0019 运算符“!=”无法应用于“ConnectionState”和“方法组”类型的操作数 DBUtility E:\海吉亚集团文件\开发中心\网站开发\HygeiaGroup\DBUtility\DbHelperSQL.cs 61 活动的

private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
        {
            if (conn.State != SqlConnection.Open)
                conn.Open();
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            if (trans != null)
                cmd.Transaction = trans;
            cmd.CommandType = CommandType.Text;//cmdType;
            if (cmdParms != null)
            {
                foreach (SqlParameter parm in cmdParms)
                    cmd.Parameters.Add(parm);
            }
        }

这个怎么修改,在线急等!!!!

md.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction

!((conn.State == SqlConnection.Open)这样写呢?

conn.State==ConnectionState.Closed

conn.State取到的是具体的代表状态的数,右边不应该是SqlConnection.Open,你应该看下conn的源码里面的state的属性,看他是属于哪个集合里面
public override ConnectionState State { get; }这是我这边的,所以用的时候就是 connection.State != ConnectionState.Open