使用System.Data.SqlClient在Ironpython中回滚

使用System.Data.SqlClient在Ironpython中回滚,sql,ironpython,rollback,Sql,Ironpython,Rollback,我无法使用以下代码段回滚,需要帮助: import clr import sys clr.AddReference('System.Data') from System.Data.SqlClient import SqlConnection, SqlParameter, SqlTransaction conn_string = "****" connection = SqlConnection(conn_string) connection.Open() createuser = connect

我无法使用以下代码段回滚,需要帮助:

import clr
import sys
clr.AddReference('System.Data')
from System.Data.SqlClient import SqlConnection, SqlParameter, SqlTransaction
conn_string = "****"
connection = SqlConnection(conn_string)
connection.Open()
createuser = connection.CreateCommand()
createuser.CommandText = "****"
try:
    reader = createuser.ExecuteReader()
    reader.Close()
except:
    reader.Rollback()
谢谢

我现在明白了,但是现在我遇到了一个问题,它需要一个字符串,但是如果我将SQL查询字符串作为参数放入,我无法执行参数化值:

createuser.CommandText = "****"
createuser.Parameters.AddWithValue("@Username", username);
usertransaction = connection.BeginTransaction(createuser)
try:
    usertransaction.Commit()
except:
    usertransaction.Rollback()

您需要使用SqlConnection.BeginTransaction方法开始事务。您将收到一个具有提交和回滚方法的事务对象。

对不起,我不明白。。您当然可以并且应该在给定场景中使用参数。是的,DbParameterCollection没有AddWithValue方法,但您可以在命令上调用CreateParameter,设置类型、名称、方向、值等,然后将其添加到命令的参数中。这有点麻烦,但一点也不难。。。还是我误解了你的意思?