问题:
pythyon学习中,执行update语句后,想要提交事务commit()。 如果将conn.commit()放在原本的函数updatedata中是生效的,但是希望将提交做成工具里的一个按钮,所以想讲commit()封装成一个函数,如果在另外的函数中调用就不生效了。 请教我这种需求应该怎么处理。
from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
import cx_Oracle
def Ora_Cennect():
# 数据库连接封装函数
conn = cx_Oracle.connect('test/test@15.58.200.226:1521/test')
cursor = conn.cursor()
print(conn)
return cursor,conn
def updatedata():
cursor,conn= Ora_Cennect()
sql = "update test set javamm = 'test' where ddd = 'test'"
try:
cursor.execute(sql)
#conn.commit() #如果在这里进行提交,是生效的。但是封装在函数commit中想提交,是不生效的
print(conn)
except Exception as e:
print(e)
#cursor.close()
#现在想做一个专门的按钮,用来commit确认提交
def commit():
cursor, conn = Ora_Cennect()
conn.commit()
print(conn)
updatedata()
commit()