问题标签 [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.
c++ - 尝试通过 QT 连接到数据库时出现错误:SIGABRT 信号含义:已中止”
错误:
下级停止了,因为它收到了来自操作系统的信号。
信号名称:SIGABRT 信号含义:中止
代码片段:
38行... 查询->执行(sql);
c++ - 在 PostgreSQL 中插入一个 serial 类型的 QSqlRecord
我正在使用Books Qt 示例,但我使用的是 PostgreSQL 而不是 SQLite,因此我的主表和相关表是使用以下代码创建的:
现在,我想在数据库中添加一个新行。到目前为止,我有下一个代码:
在这里我们遇到了问题。如您所见,id
是主键,其类型是serial
。如果我不设置值(即删除行record.append(f0);
),表在 PostgreSQL 中正确更新,但 QtTableView
在MainWindow
.
我试过了QSqlField::setAutoValue
,QSqlField::setGenerated
但行为是一样的。QAbstractItemModel::setData
将是另一种选择,但这也不是解决方案。
我可以插入记录,然后将第一个字段更新为id
存储在数据库中的字段,但我想知道这个问题是错误还是 API 是正确的,问题是我使用它的方式。
qt - 如何使Sqlite数据库只读?
我有我想只读的sqlite数据库,当它被其他gui应用程序使用时,用户不能编辑数据,只有Qt应用程序可以编辑它。
这是我的代码:
python - QSqlQuery 插入数据库不起作用
我用PyQt4.QtSql.QSqlQuery
. 我从表单中获取值并希望将它们插入到数据库中。我打开一个连接并尝试添加,但数据库中没有值,也没有错误。有什么问题?
c++ - QSqlDatabase::open() 总是返回 true Qt 5.3.2
独立于我为setDatabaseName
函数设置的参数,open
函数总是返回 true。这正常吗?
例如:
如果我运行以下代码:
打开函数返回真。
我期望的是 open 函数只有在成功连接到数据库时才返回 true。
我已经找到了一些主题,但没有一个能解决我的问题:
Qt 5.5 QSqlDatabase::open() 总是返回 true?
QSqlDatabase::open() 总是返回 true
我正在使用 SQLite 和 Qt 5.3.2。
qt - QSqlDatabase 未打开
我无法理解我在这里做错了什么。我使用的是 Qt 5.7.1,代码如下:
qDebug() 正在正确打印目录的路径,但 m_db.open() 失败并出现错误“数据库错误:内存不足错误打开数据库”。
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
任何建议都非常感谢
c++ - 调用 QSqlTableModel setTable 方法时出现“无法找到表”错误
我需要通过从 QSqlTableModel 对象中检索数据来填充 QTableView。我使用以下命令连接到 sql server 数据库:
我通过 QSqlDatabase 类的 isValid() 和 open() 方法验证数据库连接。我也能够正确地从数据库表中查询。ٍ到目前为止一切正常。但是当我使用以下命令时会出现问题:
方法 setTable 不起作用并导致错误:无法找到表“mytable”。
c++ - QSqlDatabase::record(const QString &tablename) 返回空记录
我已经读过这个问题。我想使用方法 QSqlDatabase::record(const QString &tablename) 获取表的字段名称。但它总是返回一个空记录。我可以通过 QSQLQuery 正确查询数据库表。我的数据库是 SQL Server 数据库。
c++ - QT/C++ QSqlDatabase:在 OS X 上未加载 QMYSQL 驱动程序
我正在使用
OS X:10.12.4
Qt Creator 4.0.2
MySQL 5.0.12(看起来像那样,不确定)
C++
在 QT 下,我试图通过以下代码连接到 mysql 数据库:
它失败了
我试过这个没有结果
它返回
我只有
试过
没有帮助。
请有人帮帮我。我真的被困住了。