I would like the program to ask the user for information (i.e. age and name) and for this information to be put into the database.
I have tried the following:
x
import sqlite3
connection = sqlite3.connect("Students.db")
cursor = connection.cursor()
sql_command = """
CREATE TABLE age_name (
age INTEGER PRIMARY KEY,
name VARCHAR(50));"""
cursor.execute(sql_command)
for s in range(0,20):
student_name=input('Students Name: ')
student_age=input(' Students Age: ')
new_data = ("""INSERT INTO age_name (student_age, student_name)
VALUES ({},{});""".format(age,name))
cursor.execute(new_data)
The error that keeps appearing is:
cursor.execute(new_data)
OperationalError: no such column: 'James'
I have Python 3.7 and I work in spyder.
Advertisement
Answer
Try this,
import sqlite3
connection = sqlite3.connect("Students.db")
cursor = connection.cursor()
sql_command = """
CREATE TABLE age_name (
age INTEGER PRIMARY KEY,
name VARCHAR(50));"""
cursor.execute(sql_command)
for s in range(0, 20):
student_name = input('Students Name: ')
student_age = input(' Students Age: ')
new_data = ("""INSERT INTO age_name (age, name)
VALUES ({},'{}');""".format(student_age, student_name))
cursor.execute(new_data)
student_name is a string and should be enclosed in single quotes.