#sqlite #tkinter
Вопрос:
В настоящее время я пытаюсь ввести ряд параметров в базу данных, однако получаю вышеуказанную ошибку. Не уверен, в чем проблема с моим кодом. Я не уверен, почему нет значения, присвоенного lambda_l.get()
def Submit():
#Create or connect to Database
conn=sqlite3.connect('Model_Database.db')
#Create Cursor
c= conn.cursor()
#Insert into Table
c.execute("INSERT INTO Solvent_Parameters VALUES (:Solvent_Name, :Heat_Cap, :Ant_A,
:Ant_B, :Ant_C, :Rho_L, :H_vap, :lambda_L)",
{
'Solvent_Name': Solvent_Name.get(),
'Heat_Cap': Heat_Cap.get(),
'Ant_A': Ant_A.get(),
'Ant_B': Ant_B.get(),
'Ant_C': Ant_C.get(),
'Rho_L': Rho_L.get(),
'H_vap' : H_vap.get(),
'lambda_l': lambda_L.get()
})
#commit changes to database
conn.commit()
#close database connection
conn.close()
#create submit button
submit_btn= tkr.Button(window, text="Add Record to Database", command=Submit)
submit_btn.grid(row=8, column=0, columnspan=2, padx=15, pady=5, ipadx=100, sticky='EW')
Ответ №1:
Вам не нужны фигурные скобки, учет регистра играет подчиненную роль только в командах. (на самом деле это больше для удобства чтения). короче говоря: программа не знает, что делать.
"INSERT INTO your_table "
"(solved_1, solved_2, solved_3)"
"VALUES (%s, %s, %s) ",
(
your_entry1.get(),
your_entry2.get(),
your_entry3.get(),
))
Ответ №2:
Я считаю, что это проблема с учетом регистра.
Имя привязки «:lambda_L», но позже вы адресуете его как «lambda_l».
Заглавная буква L вызывает проблему