问题标签 [qsqlquerymodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

c++ - 通过 QLineEdit 过滤查询并更新 QSqlQueryModel

我有一个 lineExdit 和一个 tableView,我希望基于在 lineEdit 中输入文本来实时更新 tableView。

0 投票
0 回答
1024 浏览

python - 在可编辑的 QSqlQueryModel 中实现 setEditStrategy

这是对这个问题的跟进。在那里,我们创建了 QSqlQueryModel 的可编辑子类,用于复杂查询。现在我需要添加 QTableModel 的 setEditStrategy 之类的功能,这样我就可以缓存所有更改并使用按钮接受或恢复它们。PyQt 显然不允许多重继承,我找不到足够的文档来在我的自定义模型中重新实现此方法,因此这里有一个问题:

如何在可编辑的 QSqlQueryModel 中重新实现 QSqlTableModel.setEditStragety(或类似的东西),包括 RevertAll() 和 SubmitAll()?

这是一个 CVME:(我已经对我想开始工作的示例类的部分进行了注释)

编辑以澄清:

我需要一个可编辑的 QSqlQueryModel,我可以在其上使用submitAll()and revertAll(),以便模型数据的更改仅在单击接受按钮后才被接受,或者可以使用“拒绝”按钮恢复。

0 投票
1 回答
432 浏览

qt - 使用 QTableview 中显示的 QSqlQueryModel 添加 CheckBox 其他列为空

我正在使用此答案中的代码在表格视图中添加复选框。我想在第一列中显示它。

这是我的代码:

mysqlquerymodel.h

mysql查询模型.cpp

管理.cpp

当我单击按钮时,只有第一列显示一个复选框,其他列为空。但是行数是正确的,可以点击复选框。当我只使用QSqlQueryModel时,这不会是一个问题。

另一个问题是我的select结果应该是 16 列,但第一列是用复选框填充的。当我添加model->insertColumn(0);时,tableview显示 17 列。

为什么会发生以及如何解决?

0 投票
1 回答
2284 浏览

c++ - 如何在 QML 中显示 QSqlQueryModel?

我想在 qml TableView 中显示 QSqlQueryModel 但我不想为每个新查询创建单独的 QML 文件,因为我无法创建这里给出的无限 qml 文件。对于动态列数,问题也不适用于我(可能是版本差异,因为我使用的是 5.11)。我只想要类似的东西:-

在 QML 中。

我是qml的新手。到目前为止,我能够按照第一个链接中的指导显示 QSqlQueryModel,但我的用户可以输入任何 SQL 查询。

0 投票
1 回答
1170 浏览

qt - 带有 QSqlModel 的 QML 组合框

我目前面临QML ComboboxQSqlTableModel.

示例数据库:

我想显示一个表格,QML Combobox按名称选择客户。
因此,我将组合框模型设置为QSqlTableModelwithtable="customer"textRole="name"

我的问题现在在于Combobox.currentindex将数据库设置为正确的值,当然还要selected ID从组合框中读取返回值。
文档指出,Comboboxes每当组合框填充新模型时,其当前索引设置为1.
我尝试使用Component.onCompleted来自组合框及其父级的 Signal 设置 currentindex,但所选索引始终设置为1.

所以我想我在实现模型或QML-file.

有谁知道何时以及如何使用 c++ 模型中的给定值预先设置 QML 组合框的建议方法?

0 投票
1 回答
111 浏览

python - 在不同的表上使用多个 QSqlQueryModel 时 QSqlQueryModel::clear() 崩溃

在 PyQT5 项目中,我在表“A”上使用 QSqlQueryModel 来填充 ListView 和映射到某些 LineEdits 的同一表上的 QSqlRelationalTableModel。我还有一个过滤器,它调用 QSqlQueryModel::clear()、QSqlQueryModel::setQuery()、QSqlRelationalTableModel::setFilter() 和 QSqlRelationalTableModel::select() 来根据过滤器更改 ListView 中的数据。所有这些代码都在一个通用类中,它接受一些参数来根据我需要模型的表来配置模型。图形部分也包含在一个类中。所以层次结构是 MainWindow 有一个 TableAWidget,它有一个继承 GenericModel 的 TableAModel。

如果我只使用一张桌子和一个小部件,这将完美无缺。

如果我添加另一个表“B”(与第一个表相同,只是名称不同)和另一个小部件,它是第一个仅引用新表的相同副本(所以我们有 TableBWidget 和 TableBModel),TableBWidget 中的过滤器按预期工作但是 TableAWidget 中的过滤器在 QSqlQueryModel::clear() 上崩溃。

一些事情要知道:

  • 在小部件中,所有成员都编码为 self.__variablename,因此不应该有“静态”成员。
  • 有些变量不遵循 self.__ 样式,但它们始终是函数的局部变量。
  • 带有过滤器的查询字符串总是可以的,并且总是与 TableAWidget 和 TableBWidget 不同,所以我再一次看不到任何“静态”的事情发生。
  • 在主窗口中,TableAWidget 显示在 TableBWidget 之前。如果我切换这两个行为也会切换:TableAWidget 的过滤器工作和 TableBWidget 的过滤器崩溃。所以显示的顺序(也是初始化和声明的顺序)才是最重要的。

我真的不知道该怎么办。我不想只使用 QSqlRelationalTableModel 因为我不能像我想要的那样将它与 ListView 一起使用,而且 TableView 看起来很糟糕。每个建议都值得赞赏。

0 投票
1 回答
470 浏览

c++ - 将 sqlite 数据库中的图像显示到 QTableView 中的列

我遇到了一个问题,即在 SQLite 数据库的照片列的每一行中显示图像

这是我的代码,提前致谢:

管理员.cpp

0 投票
1 回答
67 浏览

python - Python:带有 SQL 的 PyQt5 表 - Postgrees

我在 python 中编写代码,我需要用数据库选择来填写一个表,并且每 5 分钟刷新一次,有人可以帮我吗?我已经尝试了很多方法,但没有一个是正确的。

有什么建议吗?

0 投票
2 回答
647 浏览

kdb - 将 KDB 表转换为特殊格式的字典

我对 KDB/Q 很陌生,我的表格只有两列,如下所示:

我需要将此表转换为字典组的形式,就像这种格式一样

我尝试使用 by 但它只给我 group by id 不能像键控表或字典那样转换

有人可以帮我做同样的事情吗?列名(x1、x2 等不重要)。

0 投票
2 回答
162 浏览

kdb - 输出中的 KDB/Q-sql 动态分组和合并列

我有一个表,我必须在动态列上执行 group by 并执行聚合,结果将是列值连接 group-by 表和用户提供的 col 聚合。

例如 :

如果我需要按 g1、g2、g4 执行分组,col1 输出上的 avg 聚合应该是这样的

如果我的按列分组是使用 q-sql 修复的,我可以执行此操作

我想使用相同的功能查询,这意味着我想要一个函数,它采用按列分组的列表、要执行的聚合以及列名和表名作为输入和输出,就像上面的查询一样。我可以通过轻松使用动态列来执行分组,但不能在字段中进行组合。函数签名将是这样的

有趣{[glist; 聚合;col,t] .. ;... }[ g1g2 g4;avg; col1,吨]

请帮助我将上述查询设为动态。