我想知道将数据从qtablewidget
传输到SQLite数据库的最佳方法是什么,如果我在右边尝试,可以帮我找到生成一些SQL代码的方法。我正在制作一个程序来跟踪当前项目或我的公司,我有一个GUI,其中包含一个用户也将添加数据的表。我希望能够将该数据传输到数据库中。到目前为止,我能想到的最好的方法是循环遍历表以获取所有值,然后在完成后,让它生成代码以发送到数据库。我遇到的问题是我不确定如何在最后生成SQL代码。我有工作代码连接到我的数据库和我的表,但只是生成VALUE
db_filename = '.\DB\ProgramManagerDB.sqlite'
with sqlite3.connect(db_filename) as conn:
cursorProject = conn.cursor()
cursorProject.execute(""" INSERT INTO contacts(Name,Number,title,company,email,main_contact) VALUES (?,?,?,?,?,?)""",(This is what im not sure how to generate))
有更好的方法可以做到这一点,还是最有效的方法呢?感谢您的帮助和建议。
循环表格和获取值的代码
for i in range(0,self.AddProjects.tableWidget_Contacts.rowCount()):
contactName = self.AddProjects.tableWidget_Contacts.item(i,0).text()
contactNumber = self.AddProjects.tableWidget_Contacts.item(i,1).text()
title = self.AddProjects.tableWidget_Contacts.item(i,2).text()
company = self.AddProjects.tableWidget_Contacts.item(i,3).text()
email = self.AddProjects.tableWidget_Contacts.item(i,4).text()
mainContact = self.AddProjects.tableWidget_Contacts.item(i,5).text()
答案 0 :(得分:0)
假设其他一切都很好,请尝试使用"追加"这里:
cursorProject.execute(""" INSERT INTO contacts(Name,Number,title,company,email,main_contact) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')""".append(contactName, contactNumber, title, company, email, mainContact) )
注意:您可能希望首先将SQL生成为字符串,然后将其传递给.execute(),或者如果您的特定sql支持它,您可能希望将这些值作为参数传递。
注意2:可能有更有效的方法来做你正在尝试的事情,但这看起来是一个很好的开始!