我在使用pyodbc进行update操作时总是失败,没有报错
问题代码
import pyodbc
# 连接数据库
cnxn = pyodbc.connect(
'DRIVER={SQL Server};SERVER=IP地址;DATABASE=数据库名;UID=用户名;PWD=密码')
# 获取游标
updateCursor = cnxn.cursor()
updateCursor.execute(
"UPDATE JCXX SET JCXX.JCXM = NULL WHERE JCXX.ID =2010135042")
print(updateCursor.rowcount, 'products updated')
updateCursor.commit()
if not cnxn.autocommit:
cnxn.commit()
# 关闭
updateCursor.close()
cnxn.close()
本地开发环境
操作系统: windows 10 64-bit 企业版 LTSC 2019
python: Python 3.6.6rc1 (v3.6.6rc1:1015e38be4, Jun 12 2018, 07:51:23) [MSC v.1900 32 bit (Intel)] on win32
pyodbc: 4.0.30
现象描述
在执行这个 update 操作时,无论是使用游标的 commit 方法,还是使用连接的 commit 方法,都无法改变数据库中的数据。 print(updateCursor.rowcount) 的值为 1,表示确实有一行被更新。
debug 过程
在查阅了 stack overflow、百度、bing 等的搜索结果后比较迷惑,所有的地方都是告诉我要么使用 conn.commit() ,要么使用 cursor.commit() ,但是我用了以后怎么尝试都无法更新表中的数据,希望遇到类似问题的朋友可以指点一下。
推荐文章: