SQL Update语句但使用pyodbc

时间:2015-01-14 21:13:51

标签: python sql pyqt pyqt4 pyodbc

我使用pyodbc驱动程序使用SQL连接到微软访问表。有谁知道如何更换此表中的字段?我有关于删除行然后将行放回去但由于访问中的自动编号而改变了主键。

我有这个用于插入Progress表:

        cnxn = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=C:\\Users\\...............(file location)')
        cursor = cnxn.cursor()
        cursor.execute("insert into Progress(CockpitDrill,Mirrors,MoveOff,TurnLeft) values (?,?,?,?)",cockpit,mirrors,moveOff,turnLeft,)
        cnxn.commit()

那么我该如何替换这些字段呢?假设我想将CockpitDrill从'2'更改为'3',(它们都是字符串)。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:18)

您可以像现在执行INSERT一样执行UPDATE语句:

    cnxn = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=C:\\Users\\...............(file location)')
    cursor = cnxn.cursor()
    cursor.execute("UPDATE progress SET CockpitDrill = ? WHERE progress_primarykey = ?", newcockpitdrillvalue, oldprimarykeyvalue)
    cnxn.commit()

这有帮助吗? “progress_primarykey”是我给数据库表中主键字段的假定名称。这假设您只想更改一条记录而且您知道它的主键。