I have an Update and Insert scripts in IronPython, so when I run them via
ExecuteNonQuery()
it returns 1 affected row (as expected), but when I look in db (or run select
query), there's no any changes.
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;
But when I run the same code from native C#: it works well! Can anybody help me: what's the problem?
Forgot to commit changes manually (in native C# worked without commiting), and thrown exceptions, so it is necessary to
transaction.Commit()
after every execution.