我有一个要修改的数据库文件。因此,我将pyodbc与以下代码一起使用:
import pyodbc
myDbFile = r"D:\Users\Tobias\Documents\database.db"
myPass = u'*****'
cnx = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ=%s;PWD=%s;Charset=utf-8' % (myDbFile, myPass))
cursor = cnx.cursor()
# reading any database entry
cursor.execute('SELECT ID, Title, Tag FROM Dox')
mydata = cursor.fetchall()
print mydata[34]
# -> returns ('010CC005-4A8A-4AB3-8B98-E431D3BB328B', u'itemTitle', None)
# The following line works fine
cursor.execute('UPDATE Dox SET Tag=30 WHERE Title = ?', u'itemTitle')
# But this doesn't -> nothing is changed
cursor.execute('UPDATE Dox SET Tag=30 WHERE ID = ?', '010CC005-4A8A-4AB3-8B98-E431D3BB328B')
cnx.commit()
cnx.close()
我完全不知道为什么用“身份证”来识别不起作用。你有什么提示吗?你知道吗
在指定复制ID值时,Access可能会有点麻烦,我可以重新创建发布的问题。但是,将ID值包装在花括号中对我很有用:
相关问题 更多 >
编程相关推荐