问题标签 [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.
kdb - 对 KDB/Q-Sql 中的选定行进行条件分组
我有一个要求,我必须执行多个查询并在带有 where 子句的列上执行 group by,group by 列是固定的,并且 where 条件将在具有可变条件的固定列上执行。只有列名和聚合类型会有所不同例如,如果我有表:
我需要执行的查询就像
我想使用功能查询在一次执行中执行这些查询。我试过了,但无法设置正确的条件和语法
而是将 1b 置于状态,我想像这样放置真实状态:
但它会给出“类型”错误,因为查询将是 k1 的第一组,而 k2 将是列表。所以条件也不对。
我想知道什么是最好的解决方案。 可能有更好的方法来解决同样的问题。请帮助我。
谢谢你。
qt - 使用 QSqlQueryModel 从 mysql 表中输出数据
我正在使用以下示例https://wiki.qt.io/How_to_Use_a_QSqlQueryModel_in_QML。它使用QSqlQueryModel并选择列名列表。但就我而言,我不知道输出中的表列名称,因为我正在使用 *
query "Select * from users"
。如何在 Qml的TableView中打印数据。
我的代码如下:
QtTest2.cpp
qml文件
编辑
我已经调用了engine.rootContext()->setContextProperty("QtTest2", &qttest2);
main.cpp
python - 编辑添加的数据到 sublcased QSqlQueryModel?
我想在 QlistView 中显示索引和文件名,所以我将 QSqlQueryModel 子类化以覆盖 data() 方法,但我总是得到无,似乎我在添加数据之前显示数据或类似的东西这是我的代码的相关部分:
在以前的应用程序中,我对 QAbstractListModel 类进行了子类化,我就这样做了
sqlite - 我从 ListView QML(SQLite 数据库)中的 QSqlQueryModel 获得未定义的数据
我正在尝试显示同一数据库中两个表中的数据。数据库中的表plan_db.sqlite
是使用这些查询创建的:
CREATE TABLE PlanOne (ID INTEGER NOT NULL PRIMARY KEY, Time VARCHAR(5), Name VARCHAR(50));
CREATE TABLE PlanTwo (ID INTEGER NOT NULL PRIMARY KEY, Time VARCHAR(5), Name VARCHAR(50));
插入一些数据后,它的结构如下所示:
连接在类中建立DatabaseHandler
:
然后我有两个QSqlQueryModel
s 应该代表两个表中的数据:PlanOne
和PlanTwo
:
MySqlModelOne
:
MySqlModelTwo
是MySqlModelOne
具有适当更改的副本,例如将每个One
替换为Two
:
这些类在以下位置正确暴露给 QML main.cpp
:
最后是应该QSqlQueryModel
使用ListView
s 显示来自 s 的数据的 QML 代码:
执行程序后,程序窗口是空白的(显然),我收到以下错误消息:
前两行向我保证,数据库在两个QSqlQueryModel
s 中都已正确打开,但接下来的 8 行向我表明,数据可能尚未从两个表中检索到,或者已检索到,但格式undefined
显然不能分配给QString
因此无法通过ListView
s 显示。问题是否在于我尝试通过两个不同的模型同时从同一个数据库中检索数据?如果是这样,我怎样才能做到这一点而不会导致此类错误?或者您可能有其他想法如何使用QSqlQueryModel
.
c++ - 如何在 QTableView 中编辑选定的数据/行?
我有一个 QTableView,如果用户选择了一行,我想通过单击一个按钮来更改表中的数据。所以我的问题是,我不知道如何获取所选行的行索引,以将其提供给按钮。
我有这个对话框:
当我单击此按钮时,它应该更改值
我是qt的新手,所以感谢您的帮助。
qt - 设置了 QSortFilterProxyModel 的 QTableView,基于 QSqlQueryModel 在数据库中的数据更改时不会更新
我有一个复杂的软件,它有几个表格和表格。我需要在 QSqlQueryModel 中加入一些表并将结果显示到 QTableView 我使用 QSortFilterProxyModel 能够在包含结果的 QTableView 中搜索当我创建 QTableView 并设置模型时,一切正常,但是在另一部分软件数据库变化我在QTableView中看不到数据变化。
这是一个片段代码:
这个方法在我创建 form1 时被调用,它被放置在数据库连接和 open() 调用下面
在我用 exec 调用 form1 之前,我尝试做一个:(form1 包含提到的 QTableView)
为了更新查询,但在我关闭程序并再次运行之前什么都没有发生。
就像模型中间的东西没有正确更新
如果我在表单 exec 方法之前调用 setModels()(不仅在表单的构造函数中),QTableView 会正确显示更改,但我认为这不是进行更新的正确方法,我已经有了模型,并且tableview,我想我只需要更新查询并刷新QTableView和QSortFilterProxyModel,但我没有找到这样做的方法。
qt - 如何通过拖动和存储对模型的更改来更改 QTableView 行的顺序?
我想知道如何QTableView
通过拖动来改变行的顺序,并将顺序更改存储到模型中?
我使用 QTableView 作为视图,使用 QSqlTableModel 作为模型。我正在使用 Qt 5.15。
我设置:
我试过的方法:
1.
它没有生效。该行无法拖动。
2.
该行可以通过垂直标题拖动。但是更改的顺序不会影响模型。
python - QSqlQueryModel 获取中文特征的空白单元格
我的 GUI 应用程序中有一个 QSqlQueryModel,它从 SAP HANA 数据库中检索数据并将其与 QTableView 小部件绑定。
我已经使用了 QODBC 驱动程序并在 Windows 中的 ODBC 数据源(64)位中配置了一个 ODBC 项。但是当我设置查询以选择维度表时,我可以获得数据但现在 db 中包含中文特征的单元格都是空白的在表视图中。
这是代码:
这是结果截图:
带有红色矩形的单元格应该显示中国特色,但现在是空白的。
- - -更新 - - - -
好吧,我打开了一个 odbc 跟踪,发现了一个 sql 错误:
DIAG [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC] 一般错误;-10427 将参数/列 (2) 从数据类型 NVARCHAR 转换为 ASCII 失败 (-10427)
在这个错误中,似乎是中文特性无法转换为ascii。
但是为什么 QSqlQueryModel 会出现这个问题呢?我尝试使用带有中文的 SQLite 文件,而 QSqlQueryModel 可以检索中文数据。