首页 > 解决方案 > Pythonista 3 将 sqllite3 数据库连接到表视图

问题描述

尝试以 ui 形式(在我的 iPad 上)将 sqlite3 数据库连接到我的 tableview。用过很多案例,但没有结果。

      import ui
      import sqlite3

      def loadData (self):
      connection = sqlite3.connect('pythonsqlite.db')
      query = "SELECT * FROM projects"
      result = connection.execute(query)
      self.tableview1.setRowCount(0)
      for row_number, row_data in enumerate(result):
      self tableview1.insertRow(row_number)
      for column_number, data in enumerate(row_data):
      self.tableview1.setItem(row_number, column_number)
      connection.close()

      ui.load_view('MyForm').present('sheet')

它给了我

     self tableview1.insertRow(row_number)
              ^
     SyntaxError: invalid syntax

任何人都可以给我任何方向吗?

标签: pythonsqlitetableviewpythonista

解决方案


     import ui
     import sqlite3 as db


     tv = ui.TableView('tableview1')
     conn = db.connect('pythonsqlite.db')
     conn.row_factory = lambda cursor, row: row[0]
     c = conn.cursor()
     ids = c.execute('SELECT name FROM projects').fetchall()
     print(ids)

     tv.data_source = ui.ListDataSource(ids)
     tv.present('fullscreen') 

     ui.load_view('MyForm').present('sheet')

我可以创建自定义表视图,但不能将数据传递给我的 ui 表单中的现有表视图。


推荐阅读