执行非查询返回negetive one(-1)但仍然插入

时间:2017-10-02 09:52:22

标签: c# sqlcommand executenonquery sqltransaction

根据我的理解,C#SQLCommand中的execute nonquery命令必须返回受影响记录的数量,我已经将此SQLCommand与SQL Transaction一起使用,它返回一个负数,但是当我检查数据库时,已经插入了记录。

我想要实际实现的是,只有在成功地将数据插入数据库时​​才提交,现在我试图通过检查executeNoneQuery命令的返回值来实现这一点,但就像我说它返回负数一样对我说,查询可能没有成功,但数据库记录似乎暗示不然。

我在这里缺少什么东西,我可能错误地实现了我的SQlCommand和SQLTransaction

这是我目前的代码

using (SqlConnection sqlConn = new SqlConnection(ConfigurationManager.AppSettings["SQLConnString"]))
{
    sqlConn.Open();
    using (sqlTrans = sqlConn.BeginTransaction())
    {
        using (SqlCommand command = new SqlCommand("dbo.sp_InsertWizardImport", sqlConn, sqlTrans))
        {
            command.CommandType = CommandType.StoredProcedure;

            command.Parameters.Add(new SqlParameter("@GL_ACC", GL_ACC));
            command.Parameters.Add(new SqlParameter("@DOC_REF_NUM ", DOC_REF_NUM));                                     

            int record = command.ExecuteNonQuery();
            sqlTrans.Commit();

            str2 = _reader.ReadLine();
        }
    }
}

存储的prod当然有更多的变量,但我只包括2和其他我认为有问题的代码和平

0 个答案:

没有答案