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

时间:2009-11-16 16:07:01

标签: 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 = 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()

1 个答案:

答案 0 :(得分:0)

您需要使用SqlConnection.BeginTransaction()方法开始交易。您将收到一个包含方法CommitRollback的交易对象。