gpt4 book ai didi

sql - PyQt - 直接使用 SQL 和 QSqlTableModel

转载 作者:搜寻专家 更新时间:2023-10-30 20:29:30 27 4
gpt4 key购买 nike

我正在编写一个简单的学生成绩管理器,用于在 PyQt 上练习编程(我不想再使用糟糕的 Visual Basic 了)。但是我在选择数据模型时遇到了一个大问题。

我首先找到了QSqlTableModel,它是一个很棒的自动更新模型。麻烦的是,我需要使用大量的 SQL (JOIN, WHERE) 从数据库中选择数据。 QSqlTableModel 只有 select()filter()

然后我找到了QSqlQueryModel,但是它是只读的。所以我重写了它的setData()方法。所以它现在是可读写的。不幸的是,QSqlQueryModel 不如 QSqlTableModel 有用。

如您所见,如果我可以将 SQL 与 QSqlTableModel 一起使用,我就可以解决所有问题。

那么……?

最佳答案

QSqlTableModelsetQuery 方法,您可以使用它来设置自定义查询,例如:

model = QSqlTableModel()
query = QSqlQuery(your_query)
model.setQuery(query)

然而,Qt documentation状态:

This function simply calls QSqlQueryModel::setQuery(query). You should normally not call it on a QSqlTableModel. Instead, use setTable(), setSort(), setFilter(), etc., to set up the query.

关于sql - PyQt - 直接使用 SQL 和 QSqlTableModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14027676/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com