2017-06-21 8 views
0

Immer wenn ich versuche, den folgenden Code auszuführen, bekomme ich eine Fehlermeldung, dass es keine solche Spalte "title_data" gibt, ich bin wirklich verwirrt, weil "TITLE" die Spalte nicht "title_data"Wie man Variable in die Datenbanktabelle einfügt sqlite3 - Python

ist
def insertData(self): 
    title_Data = self.edit_title.text() 
    year_Data = self.edit_year.text() 
    rating_Data = self.edit_rating.text() 


    connection = sqlite3.connect('films.db') 
    try: 
     connection.execute("INSERT INTO FILMS (TITLE,YEAR,RATING) VALUES(title_Data,year_Data,rating_Data)") 


    except sqlite3.IntegrityError: 
     print("You have already stored this data") 
    connection.commit() 
    connection.close() 

Antwort

1

Sie übergeben Ihre Variablen nicht korrekt. Statt

connection.execute("INSERT INTO FILMS (TITLE,YEAR,RATING) VALUES(title_Data,year_Data,rating_Data)") 

sollten Sie verwenden

connection.execute("INSERT INTO FILMS (TITLE,YEAR,RATING) VALUES(?,?,?)", (title_Data,year_Data,rating_Data)) 

die Dokumentation Siehe execute() für weitere Informationen.

+0

Vielen Dank, ich bin relativ neu bei sqlite3 danke. – Noob

+0

@Noob das ist ok! Wenn Ihnen das weiterhilft, können Sie es als Antwort markieren und/oder mit den Schaltflächen auf der linken Seite abstimmen. – asongtoruin

+0

Kannst du mir noch mit einer weiteren Sache helfen? – Noob

Verwandte Themen