【问题标题】:PYQT from Table widget to SQLite Database从表小部件到 SQLite 数据库的 PYQT
【发布时间】:2017-11-08 03:15:31
【问题描述】:

我想知道将数据从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()

【问题讨论】:

标签: python python-3.x sqlite pyqt pyqt5


【解决方案1】:

假设一切顺利,请尝试在此处使用“附加”:

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:可能有更有效的方法来做您正在尝试的事情,但这看起来是一个很好的开始!

【讨论】:

  • 第二个想法:如果您需要传递字符串,您可能需要在 'ie/VALUES ('{0}', '{1}', '{2}' ....等等当然,如果是数字,你不需要担心撇号。
  • 感谢您的建议!我只需要稍作修改,但这似乎奏效了。
猜你喜欢
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多