2015-01-14 7 views
6

pyodbcドライバを使用して、SQLを使用してMicrosoft Access Tableに接続しています。誰もがこのテーブル内のフィールドを置き換える方法を知っていますか?私は、行を削除して、行を戻しているが、アクセスの自動番号のために主キーが変更されますがあります。SQL Updateステートメントがpyodbcを使用しています

私は、進捗テーブルに挿入するためにこれを持っている:

 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'に変更したいとしましょう(すべてが文字列です)。

ご協力いただければ幸いです。

答えて

10

あなたは今、あなたの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"は、データベーステーブルのプライマリキーフィールドに与えた想定名です。つまり、レコードを1つ変更したいだけで、その主キーを知っているとします。

関連する問題