2015-01-14 18 views
6

Tôi đang sử dụng trình điều khiển pyodbc để kết nối với bảng truy cập microsoft bằng SQL. Có ai biết làm thế nào tôi đi về thay thế các lĩnh vực trong bảng này ?? Tôi có mặc dù về việc xóa hàng và sau đó đặt hàng trở lại nhưng điều đó sẽ thay đổi khóa chính do autonumber trong truy cập.Câu lệnh SQL Update nhưng sử dụng pyodbc

Tôi có điều này để chèn vào bảng 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() 

Vì vậy, làm thế nào tôi sẽ thay thế các lĩnh vực này. Hãy nói rằng tôi muốn thay đổi CockpitDrill từ '2' thành '3', (Họ là tất cả các chuỗi).

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

10

Bạn có thể thực hiện một câu lệnh UPDATE cũng giống như bây giờ bạn thực hiện INSERT của bạn:

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

Điều đó giúp đỡ? "progress_primarykey" là tên giả định mà tôi đã cung cấp cho trường khóa chính trong bảng cơ sở dữ liệu của bạn. Đó là giả sử bạn chỉ muốn thay đổi một bản ghi và bạn biết khóa chính của nó.

Các vấn đề liên quan