Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
near "(": syntax error
#1
Heart 
Hi guys, I need little help with the code below. I want to edit the guest room, name or surname, but I get "near "(": syntax error".
Any help is appreciated, Thank you!

This is the table:
[Image: Screenshot-2021-06-01-at-15-25-38.png]

Code:
def editGuest():
    viewGuests()
    print("Choose room number:")
    roomNumber = input()
    print("You choose", roomNumber)
    try:
        cur = con.cursor()
        cur.execute("SELECT room,name,surname FROM Guest WHERE room = {}".format(roomNumber))
        rowz= cur.fetchone()
        print("ROOM", "\tNAME", "\tSURNAME")
        print(rowz[0],rowz[1],rowz[2])
        print("What would you like to change?")
        print("1 - Room, 2 - Guest Name, 3 - Guest Surname")
        userInput = input()
        if userInput == "1":
            print("Enter new room number")
            newRoom = input()
            cur.execute("UPDATE Guest(room) SET room = {} WHERE room = {}").format(newRoom, roomNumber)
            con.commit()
        elif userInput == "2":
            print("Enter new name")
            newName = input()
            cur.execute("UPDATE Guest(name) SET name = {} WHERE room = {}").format(newName,roomNumber)
            con.commit()
        elif userInput == "3":
            print("Enter new Surname")
            newSurname = input()
            cur.execute("UPDATE Guest(surname) SET surname = {} WHERE room = {}").format(newSurname,roomNumber)
            con.commit()
        else:
            print("Invalid Input")
    except sqlite3.Error as e:
        print(e)
Reply
#2
cur.execute("UPDATE Guest(room) SET room = {} WHERE room = {}").format(newRoom, roomNumber)
remove (room)
cur.execute("UPDATE Guest SET room = {} WHERE room = {}").format(newRoom, roomNumber)
The same applies to the other updates remove (name) and (surname)
Reply
#3
(Jun-09-2021, 02:29 PM)Yoriz Wrote:
cur.execute("UPDATE Guest(room) SET room = {} WHERE room = {}").format(newRoom, roomNumber)
remove (room)
cur.execute("UPDATE Guest SET room = {} WHERE room = {}").format(newRoom, roomNumber)
The same applies to the other updates remove (name) and (surname)

It updates the room, however, it doesn't update the name and surname. The error is :
No such column: NAME;
or
No such column: forSurname
cur.execute("UPDATE Guest SET name = {} WHERE room = roomNumber".format(newName))
cur.execute("UPDATE Guest SET surname = {} WHERE room = roomNumber".format(newSurname))
Reply
#4
Hi Maryan,
There are some things I do not understand. I believe your program or database table have changed since 2021-06-09.

(Jun-20-2021, 03:26 PM)Maryan Wrote:
Error:
No such column: NAME; or No such column: forSurname
This is weird. You never mentioned the column "forSurname" before.
And there is no column "NAME"? But then the query at line 8 ("SELECT room,name,surname FROM Guest WHERE room = {}") must also have failed.

(Jun-20-2021, 03:26 PM)Maryan Wrote:
Error:
cur.execute("UPDATE Guest SET name = {} WHERE room = roomNumber".format(newName)) cur.execute("UPDATE Guest SET surname = {} WHERE room = roomNumber".format(newSurname))
But these ar not the update statements from your program! You had:
cur.execute("UPDATE Guest(name) SET name = {} WHERE room = {}").format(newName,roomNumber)
So please show us the actual state:
  • give a description of the "Guest" table,
  • Create the smallest program to reproduce the error and show this,
  • Also show the complete error in the applicable tags.

And by the way. Using the old "format()" method is not the best way. Please study how to use bind variables in sqlite3. Like this.
cur.execute("UPDATE Guest(name) SET name = ? WHERE room = ?", (newName, roomNumber) )
Note: the second parameter must be a tuple. You should use this principle for reasons of security and performance.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Syntax error for "root = Tk()" dlwaddel 15 1,160 Jan-29-2024, 12:07 AM
Last Post: dlwaddel
Photo SYNTAX ERROR Yannko 3 374 Jan-19-2024, 01:20 PM
Last Post: rob101
  Syntax error while executing the Python code in Linux DivAsh 8 1,545 Jul-19-2023, 06:27 PM
Last Post: Lahearle
  Code is returning the incorrect values. syntax error 007sonic 6 1,206 Jun-19-2023, 03:35 AM
Last Post: 007sonic
  syntax error question - string mgallotti 5 1,297 Feb-03-2023, 05:10 PM
Last Post: mgallotti
  Syntax error? I don't see it KenHorse 4 1,243 Jan-15-2023, 07:49 PM
Last Post: Gribouillis
  Syntax error tibbj001 2 882 Dec-05-2022, 06:38 PM
Last Post: deanhystad
  Python-for-Android:p4a: syntax error in main.py while compiling apk jttolleson 2 1,830 Sep-17-2022, 04:09 AM
Last Post: jttolleson
  Mysql Syntax error in pymysql ilknurg 4 2,348 May-18-2022, 06:50 AM
Last Post: ibreeden
  Solving equation equal to zero: How to resolve the syntax error? alexfrol86 3 1,950 Feb-21-2022, 08:58 AM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020