问题标签 [qsqltablemodel]

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 回答
3919 浏览

qtableview - QSQLTableModel 继承者和 QTableView

我为使用 qml 编写了 QSQLTableModel 继承器,它运行良好。我也需要将它与 QTableView 一起使用,数据显示,但我无法修改它 - 当我编辑时一切正常,但是当我离开现场时所有更改都会下降(我知道 editStrategy,但问题发生得更早)。我想虚函数出了点问题,但我不知道是什么。如果我使用相同的参数创建 QSqlTableModel,一切都很好。有人知道我该如何解决这个问题?我的代码:

H:

cp:

UPD 我知道问题出在data方法的量词 const 中,如果我删除它,QTableView 一切正常,但我无法使用 gml 的列表视图从模型中获取数据。我只看到一个解决方案 - 用聚合替换 QSqlTableModel 中的 interition,但也许有人知道更好的解决方案?

0 投票
1 回答
232 浏览

qt5 - QT5 和 QSqlResult.h

我正在尝试将我的代码从 Qt 4.8 移植到 Qt5。我发现枚举 VirtualHookOperation 未在第 128 行 QSqlResult.h 中填充。在 Qt5 中,枚举是空的。我在 changes-5.0.0 文档中的任何地方都没有发现此更改。我正在尝试构建 QSqliteSeeDriver.cpp 作为我项目的一部分。

请让我知道任何解决方法。

0 投票
1 回答
1199 浏览

c++ - QDataWidgetMapper 仅将第一个索引更新为 QSqlRelationalTableModel

我对 QT 框架的某些部分有疑问。我正在使用 QT 5.0.2,目前正在 Windows 上开发。

在我的应用程序中,我有一个使用 QSqlRelationalTableModel 设置的 Tableview。在它旁边,我有一个文本字段和 3 个连接到关系表模型的组合框。使用 QDataWidgetMapper 将小部件映射到模型,如下所示:

如您所见,SubmitPolicy 设置为手动提交。在小部件下,我有一个包含保存和重置按钮的按钮框。

当点击保存按钮时,我这样做:

这将创建以下输出:

表示提交成功,没有报错。

然而,只有第一个字段在模型中得到更新。所有其他小部件将它们的值重置为原始模型的值(因为模型发出 datachanged,我猜是映射器连接到的)。

我尝试删除一个或两个映射,并且总是只有首先添加映射的字段才会更新。

如果我将 submitPolicy 更改为 autoSubmit,则映射器会按预期工作。但我真的需要那些重置和应用按钮,而不是在更改时提交数据。

这似乎是QTBug 1086的出现,但该错误已得到修复,我也无法从那里的代码中的错误报告中重现该问题。

我希望你能帮助我。

0 投票
1 回答
1165 浏览

sql - 使用 QSqlTableModel::insertRecord 插入行时如何检索生成的主键

这个问题与带有 Postgres 的 Windows 上的 Qt 4.7.3 相关。

我正在尝试通过 将一行插入到一个非常大的表中QSqlTableModel,因为这(希望)省去了我输入字段名称的麻烦,通过使用 QSqlTableModel::setTable. 我用 向模型询问记录对象QSqlRecord row(QSqlTableModel::record);,并通过 用数据填充它QSqlRecord::setValue。这是保留该行的代码:

以上是我尝试过的,但是内容tableModel.query()是巨选,没有RETURNING关键字。lastInsertId()返回一个无效的QVariant. 是否可以让 Qt 提供生成的主键,而不需要额外的 - 丑陋 - 往返数据库。如果可以避免的话,我宁愿不锁定表以确保最后一个实际上是我创建的表。

请指教。

0 投票
1 回答
2139 浏览

c++ - How to display content of multiple QSqlTableModels in one QTableView?

I have a MySql table, let's call it x:

And then I have another table, let's call it y:

I want to display table x in one QTableView and in place of column A from table x I want to display columns First and Last from table y from row whose Id is equal to A from table x.

Do you have any ideas? Let me know if my explanation is not clear enough.

0 投票
1 回答
1372 浏览

c++ - 在 Qt C++ 中更新 QSQLTableModel

我创建了一个仅用于bindValuesSQL 数据库的对话框,并且可以成功保存每条新记录。问题是我有另一个对话框QSQlTableModel,它只显示数据库中的信息。每次创建新记录时,我都必须关闭程序并再次运行它以查看ShowInformationDialog(). 你知道某种方式,这样我就不需要关闭程序来更新我的信息ShowInformationDialog()吗?

0 投票
2 回答
707 浏览

qt - 如何使用组合框文本仅显示 QSqlTableModel 中的特定行?

QSqlTableModel在 Qt C++ 中使用,我想只显示包含QComboBox. 例如,当我单击组合框中的“John”项时,表格视图应该只显示以“John”开头的名称。我不知道该怎么做。

0 投票
1 回答
600 浏览

c++ - Qt QSqlDatabase 和 QSqlTableModel 与 PostgreSQL 视图的兼容性?

我在 PostgreSQL 视图上使用 QSqlTableModel 时遇到了问题。让我先在这里显示相关代码。

使用在 PostgreSQL 9.2.4 上运行的以下代码创建一个视图:

我在 VC2005 上使用 Qt 4.4.0 编译的 C++ 代码如下所示:

它在消息框上显示“无法找到表记者空间编辑”。

我试图找出数据库中的所有视图。我添加了以下行:

结果列表与

这是否意味着在 PostgreSQL 上运行时 QSqlTableModel 不支持 SQL 视图?

非常感谢!

0 投票
1 回答
426 浏览

sql - TableView中数据发生变化时如何保存updated_date?

我正在尝试将 QSqlTableModel 与 QTableView 一起使用,但我想隐藏 2 列 updated_date 和 created_date,这很容易,但我希望用户可以在 TableView 中编辑数据,并在完成时(或提交该数据时)自动将 updated_date 更新为当前日期时间。我需要程序来做,而不是来自数据库引擎。我应该遵循哪些步骤来做到这一点?我正在考虑实现 setData 方法,但我不知道如何实现。非常感谢您的时间和帮助。

0 投票
3 回答
154 浏览

sql - SQL。当我尝试执行类似“INSERT INTO Table VALUES(x1,x2,x3) - x1 x2 x3 可以是 sql 查询,例如 SELECT <...>

我想做这样的事情:

但它不起作用。当然对于显然错误在哪里的人来说,也许他会告诉我如何正确地做。