def insert(BookID,Author,BookFormatID,Title,BookStatus,Category,RedemptionCode,StudentAssignedId):
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(BASE_DIR, "AVDatabase.db")
conn=sqlite3.connect(db_path)
cur=conn.cursor()
cur.execute("INSERT INTO Books(BookID,Author,BookFormatID,Title.BookStatus,Category,RedemptionCode,StudentAssignedId) VALUES(?,?,?,?,?,?,?,?)", (BookID,Author,BookFormatID,Title,BookStatus,Category,RedemptionCode,StudentAssignedId))
conn.commit()
conn.close()
view()
此事件在按钮上调用:
def add_command():
back.insert(BookId_text.get(),Author_text.get(),Book_Format_Id_text.get(),Book_Title_text.get(),Book_Status_text.get(),Category_text.get(),Redemption_Code_text.get(),Student_Assigned_Id_text.get())
list1.delete(0,END)
list1.insert(END,(BookId_text.get(),Author_text.get(),Book_Format_Id_text.get(),Book_Title_text.get(),Book_Status_text.get(),Category_text.get(),Redemption_Code_text.get(),Student_Assigned_Id_text.get()))
所以基本的入门小部件和即时消息即将拉开我的头发。
答案 0 :(得分:1)
在insert
函数中,Title.BookStatus
应该为Title, BookStatus
。
如果您使用多行字符串,则可能会更好地避免此类错误 长时间的SQL:
cur.execute("""INSERT INTO Books(BookID
, Author
, BookFormatID
, Title
, BookStatus
, Category
, RedemptionCode
, StudentAssignedId) VALUES (?,?,?,?,?,?,?,?)""",
(BookID, Author, BookFormatID, Title,
BookStatus, Category, RedemptionCode, StudentAssignedId))