我无法使用以下代码段回滚并需要帮助:
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()
答案 0 :(得分:0)
您需要使用SqlConnection.BeginTransaction()
方法开始交易。您将收到一个包含方法Commit
和Rollback
的交易对象。