该操作对事务的状态无效

本文关键字:状态 无效 事务 操作 作对 | 更新日期: 2023-09-27 18:29:26

下面是代码,我在打开连接时出错。执行此操作时的连接状态为关闭状态。

        using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
        {
            using (SqlCommand cmd = con.CreateCommand())
            {
                cmd.CommandType = cmdType;
                cmd.CommandText = CommandName;
                //cmd.Parameters.AddRange(pars);
                if (pars != null)
                {
                    cmd.Parameters.AddRange(pars);
                }
                try
                {
                    **if (con.State != ConnectionState.Open)
                    {
                        con.Open();
                    }**
                    result = cmd.ExecuteNonQuery();
                }
                catch
                {
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }

该操作对事务的状态无效

这一切都在您的IF条件中。

即使ConnectionStatebreaked,您的IF语句也可能为真,因为它不等于open[/strong>。

然后它会去尝试打开连接,但它已经打开并断开了。因此,它将无法再次打开它。

只要去掉IF条件并尝试执行它。