2015-01-14 14 views
6

Sto utilizzando un driver pyodbc per collegarmi a una tabella di accesso microsoft usando SQL. Qualcuno sa come faccio a sostituire i campi all'interno di questo tavolo ?? Ho però intenzione di cancellare la riga e poi rimettere la riga ma questo cambierebbe la chiave primaria a causa del numero autonome in accesso.Istruzione SQL Update ma usando pyodbc

ho questo per l'inserimento nella tabella 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() 

Così come dovrei sostituire questi campi. Diciamo che volevo cambiare CockpitDrill da '2' a '3', (Sono tutte stringhe).

Qualsiasi aiuto sarebbe molto apprezzato.

risposta

10

È possibile eseguire un'istruzione UPDATE proprio come ora eseguire il vostro INSERT:

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() 

fa questo aiuto? "progress_primarykey" è il nome presunto che ho dato al campo chiave primaria nella tabella del database. Supponiamo che tu voglia solo cambiare un record e tu conosci la sua chiave primaria.