IronPython SqlCommand 影响行,但不保存更改

IronPython SqlCommand affects rows, but doesn't save changes

我在 IronPython 中有一个更新和插入脚本,所以当我 运行 它们通过 ExecuteNonQuery() 它 returns 1 受影响的行(如预期的那样),但是当我查看数据库(或 运行 select 查询)时,没有任何变化。

def update(pConnection, transaction, serialName, serial_counter):
    query = """ UPDATE [EM_DEMO].[dbo].[tblCounter]
                    SET [Counter] =  @counter
                WHERE [ChiaveTabella] = @serial_column
            """;

    print 'query: ', query; # DEBUG INFO

    cmd = pConnection.CreateCommand();
    cmd.Transaction = transaction;
    cmd.CommandText = query;
    cmd.Parameters.AddWithValue('@counter', serial_counter.ToString());
    cmd.Parameters.AddWithValue('@serial_column', serialName);

    rowsAffected = cmd.ExecuteNonQuery();

    if not rowsAffected == 1:
        print 'Error during update! rows affected:', rowsAffected;
        return False;
    else:
        print 'Complete!';
        return True;

但是当我 运行 来自本机 C# 的相同代码时:它运行良好! 谁能帮帮我:有什么问题吗?

忘记手动提交更改(在本机 C# 中无需提交即可工作),并抛出异常,因此有必要在每次执行后 transaction.Commit()

# ...

rowsAffected = cmd.ExecuteNonQuery();

transaction.Commit();

# ...