问题标签 [qsqldatabase]

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

c++ - 尝试通过 QT 连接到数据库时出现错误:SIGABRT 信号含义:已中止”

错误:

下级停止了,因为它收到了来自操作系统的信号。

信号名称:SIGABRT 信号含义:中止

代码片段:

38行... 查询->执行(sql);

0 投票
0 回答
275 浏览

c++ - 在 PostgreSQL 中插入一个 serial 类型的 QSqlRecord

我正在使用Books Qt 示例,但我使用的是 PostgreSQL 而不是 SQLite,因此我的主表和相关表是使用以下代码创建的:

现在,我想在数据库中添加一个新行。到目前为止,我有下一个代码:

在这里我们遇到了问题。如您所见,id是主键,其类型是serial。如果我不设置值(即删除行record.append(f0);),表在 PostgreSQL 中正确更新,但 QtTableViewMainWindow.

我试过了QSqlField::setAutoValueQSqlField::setGenerated但行为是一样的。QAbstractItemModel::setData将是另一种选择,但这也不是解决方案。

我可以插入记录,然后将第一个字段更新为id存储在数据库中的字段,但我想知道这个问题是错误还是 API 是正确的,问题是我使用它的方式。

0 投票
1 回答
1138 浏览

qt - 如何使Sqlite数据库只读?

我有我想只读的sqlite数据库,当它被其他gui应用程序使用时,用户不能编辑数据,只有Qt应用程序可以编辑它。

这是我的代码:

0 投票
1 回答
973 浏览

python - QSqlQuery 插入数据库不起作用

我用PyQt4.QtSql.QSqlQuery. 我从表单中获取值并希望将它们插入到数据库中。我打开一个连接并尝试添加,但数据库中没有值,也没有错误。有什么问题?

0 投票
1 回答
234 浏览

c++ - QSqlDatabase::open() 总是返回 true Qt 5.3.2

独立于我为setDatabaseName函数设置的参数,open函数总是返回 true。这正常吗?

例如:

如果我运行以下代码:

打开函数返回真。

我期望的是 open 函数只有在成功连接到数据库时才返回 true。

我已经找到了一些主题,但没有一个能解决我的问题:

Qt 5.5 QSqlDatabase::open() 总是返回 true?

QSqlDatabase::open() 总是返回 true

QSqlDatabase open 更新后总是返回true

我正在使用 SQLite 和 Qt 5.3.2。

0 投票
1 回答
1796 浏览

qt - QSqlDatabase 未打开

我无法理解我在这里做错了什么。我使用的是 Qt 5.7.1,代码如下:

qDebug() 正在正确打印目录的路径,但 m_db.open() 失败并出现错误“数据库错误:内存不足错误打开数据库”。

0 投票
0 回答
232 浏览

mysql - Qt - QSqlDatabse open() 被阻塞?

我在使用QSqlDatabase的应用程序上有一个奇怪的行为。

这是我正在使用的简单代码:

这段代码在QRunnablerun()的方法中执行,并且我有n(n~20)个异步运行而没有问题的任务(没有重复的数据库连接,连接被删除,ecc ..)。

问题是,经过大量迭代后,执行崩溃。

崩溃是可复制的,但不是确定性的。

我尝试在调试模式下运行应用程序,但调试器停在我调用db.open()函数的行,没有更多信息(没有堆栈跟踪,没有信号)。

我的系统规格:

  • MySQL v5.7.17(社区版)
  • Mac OSX 10.11.6
  • Qt 5.7.0

任何建议都非常感谢

0 投票
2 回答
1383 浏览

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

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

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

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

0 投票
1 回答
682 浏览

c++ - QSqlDatabase::record(const QString &tablename) 返回空记录

我已经读过这个问题。我想使用方法 QSqlDatabase::record(const QString &tablename) 获取表的字段名称。但它总是返回一个空记录。我可以通过 QSQLQuery 正确查询数据库表。我的数据库是 SQL Server 数据库。

0 投票
1 回答
1014 浏览

c++ - QT/C++ QSqlDatabase:在 OS X 上未加载 QMYSQL 驱动程序

我正在使用
OS X:10.12.4
Qt Creator 4.0.2
MySQL 5.0.12(看起来像那样,不确定)
C++

在 QT 下,我试图通过以下代码连接到 mysql 数据库:

它失败了

我试过这个没有结果

它返回

我只有

试过

没有帮助。

请有人帮帮我。我真的被困住了。