基本上,我试图更新表1中的Column1\umbgl字段数据,这些数据都是基于msaccess数据库的。脚本执行时没有任何错误,但是当检查表时没有发生任何更新。我尝试了代码中显示的两个选项,但没有成功。第二个选项是直接从msaccess查询生成的SQL代码。有人能告诉我代码里遗漏了什么吗?在
#import pypyodbc
import pyodbc
# MS ACCESS DB CONNECTION
pyodbc.lowercase = False
conn = pyodbc.connect(
r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" +
r"Dbq=C:\temp\DB_access.accdb;")
# OPEN CURSOR AND EXECUTE SQL
cur = conn.cursor()
# Option 1 - no error and no update
cur.execute("UPDATE Table1 SET Column1_mbGL = Column2_mbGL-0.3 WHERE ((Column3_name='PZ01') AND (DateTime Between #6/14/2016 14:0:0# AND #6/16/2016 12:0:0#) AND (TYPE='LOG'))");
# Option 2 - no error and no update
#cur.execute("UPDATE Table1 SET Table1.Column1_mbGL = [Table1]![Column2_mbGL]-0.3 WHERE (((Table1.Column3_name)='PZ01') AND ((Table1.DateTime) Between #6/14/2016 14:0:0# And #6/16/2016 12:0:0#) AND ((Table1.TYPE)='LOG'))");
cur.close()
conn.close()
执行更新查询后,您忘记了
conn.commit()
。Python database API指定默认情况下关闭“autocommit”打开连接,因此需要显式的commit
。在相关问题 更多 >
编程相关推荐