May-12-2020, 04:58 AM
(This post was last modified: May-12-2020, 05:09 AM by scratchmyhead.)
I have a program with a sqlite database and I'm trying to update a record by using place holders. I'm not sure why but I'm getting the following error: TypeError: function takes at most 2 arguments (3 given) So here is a sample of my code if anyone can figure out what I'm doing wrong.
I found out the correct code to use. The correct way is the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
conn = sqlite3.connect( 'roominventory.db' ) c = conn.cursor() c.execute( "SELECT * FROM rooms" ) records = c.fetchall() for record in records: if record[ 0 ] = = roomget: break t = ( "N" ,) rm = (roomget,) c.execute( "UPDATE rooms SET vacant = ? WHERE number = ?" , t, rm) c.fetchall() conn.commit() conn.close() |
I found out the correct code to use. The correct way is the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
conn = sqlite3.connect( 'roominventory.db' ) c = conn.cursor() c.execute( "SELECT * FROM rooms" ) records = c.fetchall() for record in records: if record[ 0 ] = = roomget: break t = "N" rm = roomget c.execute( "UPDATE rooms SET vacant = ? WHERE number = ?" , (t, rm)) c.fetchall() conn.commit() conn.close() |