问题标签 [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 投票
0 回答
80 浏览

qt - View 不显示模型中的数据

建立连接后,我尝试了这段代码,但它没有显示任何数据

0 投票
1 回答
753 浏览

c++ - setData 为 QAbstractProxyModel 返回 false

我对 QAbstractProxyModel 进行了子类化,它的源模型是 QSqlTableModel 的子类。代理模型一次只能显示一行源模型。这是代码:

源型号:

当必须将新行添加到源模型时调用以下命令:

selectedRow 是保存源模型当前行的私有成员。

setData() 总是返回 false。源模型设置为手动提交。我究竟做错了什么?

编辑:

我解决了这个问题。我使用的源模型是QSqlTableModel 的一个子类,它为EditRole 以外的任何角色调用QSqlQueryModel 的setData。由于 QSqlQueryModel 本身并没有重新实现 setData,所以它调用 QAbstractItemModel 的 setData,它总是返回 false。

因此,我现在使用 EditRole 进行所有 setData() 调用,并且 data() 从存储在 EditRole 下的源模型返回值。

0 投票
1 回答
180 浏览

mysql - QSqlTableModel:上次检查状态更改未反映在数据库上

我有 MySQL 数据库,QSqlTableModel并且QTableView有几个复选框列。它可以工作,但最后一次单击复选框不会导致数据库发生变化。这意味着如果我启动一个程序,单击某个复选框并关闭程序,则不会对数据库进行任何更改。如果我要更改几个复选框的状态,最后一次更改将不会显示在数据库中。也许我的setData方法有问题?

0 投票
1 回答
302 浏览

c++ - 波兰语字符的“字符串值不正确”(QSqlTableModel、MySQL)

向 QSqlTableModel 添加记录时遇到问题:

如果 name 只包含基本字符,一切都很好:代码返回

名称:“Nowy uklad tablicy”

名称取自 QLineEdit,因此如果它包含波兰语字符,例如“Nowy układ tablicy”在文本字段中可见,则返回:

名称:“Nowy uk³ad tablicy”

错误:“不正确的字符串值:第 1 行 QMYSQL3 的列 'name' 的'\xB3ad ta...':无法执行语句”

我想使用 QString::toUtf8,然后没有错误,并且表上的 SELECT 返回了良好的值(带有“ł”),但是 Qt 从数据库返回的内容是错误的,但又有所不同:

Nowy ukÅad tablicy

现在我改变了数据库的排序规则,从 utf8_general_ci 到 utf16_unicode_ci,因为它是 QString AFAIK 的原生排序规则。仍然出现相同的错误。我只会使用 QString::fromUtf8 来读取值,但 QSqlTableModel 可以自己工作。奇怪的是,这不是我第一次通过 QSqlTableModel 进行 MySQL/Qt 集成,但我以前从未遇到过类似的问题……我刚刚升级了 Qt,所以可能就是这样。有任何想法吗?

0 投票
1 回答
1752 浏览

python - PYQT:QSqlTableModel。如何过滤数字而不是文本

我正在开发一个 GUI,它允许护士和医生从 sqlite 数据库中查看或查看患者记录。我已经能够设计一种使用setFilter功能过滤行的方法。然而,这是我的困境:搜索字符数据的离散字段工作完美;但是,当我使用患者的 MRN(身份证号)采取同样的方法时,它会返回一个空白屏幕。这是我的代码,[参见下面的第 1a 节,[#1]:

我已经尝试过以下方法:

我究竟做错了什么?请指教。

0 投票
2 回答
2223 浏览

python - PyQt:QTableView + QSqlTableModel - 将所有选定的行或列复制并粘贴到记事本或 Excel 中

首先,我已经看过 ekhumoro 的代码,主题几乎类似Here。但是,当我尝试实现此代码时,我得到了不同的结果。而不是复制和粘贴我选择的所有内容,它只分别复制所选行的第一个单元格。我需要用户能够选择多行或多列并将这些值粘贴到 Excel 或记事本中。有任何想法吗?

图形用户界面: 在此处输入图像描述

代码:

0 投票
1 回答
664 浏览

python - QSqlRelationalTableModel 仅填充前 256 条记录

我有以下使用 PyQt5、sqlite3 和 python3.5.2 的简单模型。

执行模型会产生以下输出:

数据库中的行:831

model.select() 之后的行:256

最初的选择似乎只填充了前 256 条记录。这是一个 sqlite3 问题吗?如果是,我该如何填充所有记录(数据库总共只有大约 850 条记录)。如果不是,我如何强制加载所有记录?

结果是,在我更改代理过滤条件之前,使用代理模型和代理视图最初不会显示所有记录——也就是说,我必须触发其余记录的加载。

0 投票
1 回答
24 浏览

python-3.x - pyqt5 无法插入字节

如何将字节对象插入数据库。每当我尝试这样做时,我都会插入一个空字符串(不是 NULL)。

该问题已在邮件列表中注明,但从未解决。 https://www.riverbankcomputing.com/pipermail/pyqt/20 ​​16-April /037260.html 事实证明,尽可能使用表模型而不是准备好的语句更有意义(他还注意到 pyqt 中的一个错误关于 exec() 与 exec_()。

0 投票
2 回答
1383 浏览

c++ - 调用 QSqlTableModel setTable 方法时出现“无法找到表”错误

我需要通过从 QSqlTableModel 对象中检索数据来填充 QTableView。我使用以下命令连接到 sql server 数据库:

我通过 QSqlDatabase 类的 isValid() 和 open() 方法验证数据库连接。我也能够正确地从数据库表中查询。ٍ到目前为止一切正常。但是当我使用以下命令时会出现问题:

方法 setTable 不起作用并导致错误:无法找到表“mytable”。

0 投票
1 回答
394 浏览

c++ - 多个字符串的 setFilterFixedString

我的建议是:有一种方法可以搜索两个或多个字符串(结果的联合) FILTRO->setFilterFixedString(searchText1); FILTRO->setFilterFixedString(searchText2); @@我已经知道如何找到具有两个 Qstring 的交集,或者只是其中一个,但不是具有的联合字符串之一或另一个或两者

谢谢你