gpt4 book ai didi

python - pypyodbc 不提交

转载 作者:行者123 更新时间:2023-12-01 01:34:56 25 4
gpt4 key购买 nike

我有一个 SQLServer TSQL 查询,其中包含多个 INSERT 语句,这些语句的范围从非常基本到有些复杂。

此查询适用于 SQLServer Management Studio。

当我使用 Python pypyodbc 包并运行脚本时,脚本运行但不提交。我尝试过使用和不使用 commit() 函数。

BUT 如果我在末尾指定 SELECT 语句,脚本将提交插入。

所以这一切都很好,因为它有效,但我在所有脚本的末尾放置了一个不适用的 SELECT 语句。

有谁知道如何在最后没有 SELECT 语句的情况下提交这些内容?我不想将查询拆分为多个查询。

谢谢!

    def execute_query(self,
query,
tuple_of_query_parameters,
commit=False,
return_insert_id=False,
return_results=True):
self.open_cursor()

try:
self.connection_cursor.execute(query,
tuple_of_query_parameters)

result_set = None
if return_results:
if return_insert_id:
result_set = self.connection_cursor.fetchone()[0]
else:
result_set = self.connection_cursor.fetchall()

if commit:
self.connection_cursor.commit()

except pypyodbc.Error as e:
print('Check for "USE" in script!!!')
raise
finally:
self.close_cursor()

return result_set

最佳答案

试试这个:

self.connection_cursor.execute(query,
tuple_of_query_parameters)
if commit:
self.connection_cursor.commit() #put commit here, immediately after execute

认为这样就可以了。

关于python - pypyodbc 不提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52480036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com