TypeError: объект 'str' не может быть вызван или insert_new_user () отсутствует 2 обязательных позиционных аргумента: 'newname' и 'newemail' - PullRequest
0 голосов
/ 29 сентября 2019

TypeError: объект 'str' не может быть вызван

Попытка добавления -def insert_new_user (newname, newemail), но затем я получаю: TypeError: insert_new_user () отсутствует 2 обязательных позиционных аргумента:'newname' и 'newemail'

conn = sqlite3.connect('data.db')
c = conn.cursor()
d = conn.cursor()

def create_table():
    c.execute('CREATE TABLE IF NOT EXISTS usersdata(name TEXT,reason TEXT,startDate TEXT,endDate TEXT)')
    d.execute('CREATE TABLE IF NOT EXISTS usersname(name TEXT,email TEXT)')

def insert_new_user():
    newname = str(entry_new_name.get())
    newemail = str(entry_new_email.get())
    d.execute('INSERT INTO usersname(name, email) values (?,?)' (newname,newemail))
    conn.commit()


create_table()

label_new_name = Label(tab4,text="New Full Name", padx=5, pady=5)
label_new_name.grid(column=0, row=1)
new_name_raw_entry = StringVar()
entry_new_name = Entry(tab4, textvariable=new_name_raw_entry, width=60)
entry_new_name.grid(row=1, column=1)

label_new_email = Label(tab4,text="New Email", padx=5,pady=5)
label_new_email.grid(column=0, row=2)
new_email_raw_entry = StringVar()
entry_new_email = Entry(tab4, textvariable=new_email_raw_entry, width=60)
entry_new_email.grid(row=2, column=1)  

Я бы хотел написать новое имя и адрес электронной почты для базы данных username.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Оказывается, я пропустил запятую после '' 'значений (?,?)' '', Так что она смотрела на все как единое целое.Мне также не нужна строка для '' 'newname = str (entry_new_name.get ())' ''

0 голосов
/ 29 сентября 2019

Похоже, вы ранее уже называли строковый объект str, переопределяя объект типа.Итак, теперь вы вызываете строку, которая, как следует из сообщения об ошибке, невозможна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...