python - Python - 更新 SQL 数据库成功,但数据库中没有更新
问题描述
我在循环中使用更新语句(Python)来更新 SQL 数据库,调试和执行没有显示任何错误,但是当我检查 SQL 数据库时,没有任何变化。你能指出我哪里做错了吗?以下是部分代码
query = """ select A from Table """
pyodbc.lowercase = False
conn_str= (
r'Driver={ODBC Driver 11 for SQL Server};'
r'Server=MYLAPTOP;'
r'Database=Access;'
r'Trusted_Connection=yes;'
r'CHARSET=UTF8;'
)
#open cursor
crsr1 = cnxn.cursor()
crsr2 = cnxn.cursor()
#Execute SQL to update
crsr1.execute(query)
aList = [item[0] for item in crsr1.fetchall()]
for row in crsr1.fetchall():
crsr2.execute("""UPDATE Table SET A=(?) WHERE ID =(?)""", (row_list, row))
cnxn.commit()
crsr1.close()
crsr2.close()
row_list
包含我想用来更新 SQL 数据库中的行的值行。基于Use UPDATE in a loop,我制作了 2 个不同的游标,因为数据库很大,但我不确定我是否做对了。
Process finished with exit code 0
谢谢!
编辑: 目的是从 SQL 中获取数据(A 列),其中包含 HEX 值的行,
(0xC209BF09BF09BA09B509B409B209B209B209B509BE09D209F2091A0A4A0A7D0AB40AE20A0A0B2A...)
varbinary (max)
在 SQL中具有数据类型。然后在 Python 中使用编程,我获得了这样的浮点转换(对于每一行)
1999.0,1998.0,1998.0,2005.0,2021.0,2047.0,2077.0,2111.0,2145.0,2177.0,2205.0,2231.0,2253.0,2270.0,2285.0,2295.0,2301.0,......
上面是只有一行的浮点数。是上述row_list
值的附加列表,其中包含许多行。
计划是更新 SQL 中的行HEX to Float
。更新后,我会将 SQL 数据库转换为 .txt。ID 是从 1 到 num of data (1,2,3...) 的订单号。
解决方案
推荐阅读
- android - 如何正确获取传感器管理器的实例或将其替换为 Android NDK 中的等效项?
- javascript - 如何将价格和名称两个数组推入具有键值对的单个数组中
- bash - Bash - 将存储在变量中的文本作为参数时无法识别
- rust - main.rs 和 lib.rs 共存时无法链接 C 库
- java - 使用 HQL 急切加载嵌套关联
- google-cloud-platform - 为什么我会收到“所选时间范围内没有可用数据”?
- amazon-web-services - 使用 Net::Amazon::Attribute::Review 获取客户评论
- flutter - 在颤振中如何改变FAB(Floating Action Button)自定义动画图标
- html - 更改 html 样式的背景,也更改大小
- python - Python十进制精度