QSqlQueryModel和QSqlDatabase不显示tableview中的数据

-1 投票
1 回答
512 浏览
提问于 2025-04-18 16:50

这段代码在Linux系统上运行得很好,但在Windows上测试时,查询结果不会显示在表格视图里。我在Windows上没有收到任何错误提示。两个系统都是32位的,其他功能都正常。当我点击按钮来显示查询结果时,Linux会把数据填充到表格里,而Windows却没有任何反应。下面的代码中打印的getcwd()显示我在正确的数据库目录里。

def getdata():
    db = QSqlDatabase.addDatabase("QSQLITE3")
    db.setDatabaseName('ias2014.db')
    db.open()
    model = QSqlQueryModel()
    model.setQuery("select hdr,prof,clss, semester, form from header")
    w.tableView.setModel(model)

1 个回答

0

为了检查你是否成功连接到了数据库,你可以使用一些获取数据的方法,比如 model.rowCount()model.columnCount()。此外,你还可以尝试通过调用 data(model.createIndex(0,0)) 来访问数据库中的实际数据。

在不同的安装和操作系统之间切换时,你可能会发现缺少某个特定数据库的驱动程序,这样就无法使用你想要的数据库了。

撰写回答