Fix sqlite error sqlite3.OperationalError: incomplete input

Viewed 74

This method is responsible for inserting values for a certain course via GUI. After inserting the values this error is prompted.

  def submit():
        con = sqlite3.connect('data.db')
        cur = con.cursor()
        # Creation of Key Value pairs
        cur.execute("INSERT INTO data VALUES(:subj1, :cour1, :sect1, :cred1, :seme1, :year1",
                    {
                        'subj1': subj1.get(),
                        'cour1': cour1.get(),
                        'sect1': sect1.get(),
                        'cred1': cred1.get(),
                        'seme1': seme1.get(),
                        'year1': year1.get()
                    }
                    )
    
        con.commit()
        con.close()
# Clears text fields
subj1.delete(0, END)
cour1.delete(0, END)
sect1.delete(0, END)
cred1.delete(0, END)
seme1.delete(0, END)
year1.delete(0, END)
1 Answers

You're missing the closing ) of the insert statement:

cur.execute("INSERT INTO data VALUES(:subj1, :cour1, :sect1, :cred1, :seme1, :year1)",
            # ")" was missing here ------------------------------------------------^
            # Dictionary of bind variables omitted for brevity's sake
Related