ошибка вставки Python SQLite - PullRequest
0 голосов
/ 24 августа 2018

Я использую Python 3, tkinter и sqlite У меня есть данные внутри tkinter Text Widget, а затем мне нужно разделить и сохранить их в таблице базы данных, вот мои попытки кода

data = txtReceipt.get("4.0" ,"end")

 for line in data.splitlines()[2:-2]:

     no = line.split()[2:3]
     name = line.split()[1:2]
     price = line.split()[3:4]
     series = line.split()[:1]
     print(no)
     c.execute("INSERT INTO  billed_items(item_name,billed_qty,price,item_bill_series) VALUES(?,?,?,?)",(name),(no),(price),(series))
     conn.commit()

но я получаю это сообщение об ошибке TypeError: function takes at most 2 arguments (5 given) любая помощь, пожалуйста здесь также, когда я пытаюсь читать обратно в текстовый виджет

    su=c.execute("SELECT * FROM billed_items")
    for row in su:
            text = str(row)
            txtReceipt.insert("end",str(row[0])+"  "+str(row[1])+'\t\t'+str(row[2])+'\t'+"  "+str(row[3])+"\n")

там он читает только последнюю строку в таблице, я не знаю, почему он не может прочитать все строки

1 Ответ

0 голосов
/ 24 августа 2018

Значения должны быть указаны в кортеже. Попробуйте это

query = ("INSERT INTO  billed_items(item_name,billed_qty,price,item_bill_series) VALUES(?,?,?,?)")
c.execute(query,((name),(no),(price),(series))
conn.commit()

// sqlite3.OperationalError: около "%": синтаксическая ошибка?

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