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

python - 使用 PYQT5 中的 query.exec_ 将多个值插入 QSqlDatabase

我的表有 3 列 (1)id (2)firstname (3)lastname

我的局部变量具有以下值

下面的查询有效,并且只在数据库中插入 id 的值

如何扩展上述查询以一次性插入所有 3 个值(id、firstname、lastname)?

0 投票
1 回答
330 浏览

qt5 - query_exec(SELECT * FROM myTable) 在 pyqt5 上失败

我有如下功能

将值插入 DB 有效,但不能从 DB 检索信息。我究竟做错了什么 ?似乎选择查询根本没有检索到任何东西

0 投票
0 回答
172 浏览

c++ - C++ 上的数据库错误“参数计数不匹配”

所以我在代码上遗漏了一些东西,但我不知道这是什么。我正在尝试将文本字段中的一些值插入数据库,但我收到文章名称的错误。

有人可以帮忙吗?我正在发布 isert 代码和按钮代码。提前致谢。

数据库.cpp

主窗口.cpp

表名是学生,它有我用这段代码创建的 4 个字段。

学生.cpp

0 投票
1 回答
1494 浏览

c++ - 试图从 QT 表上的数据库中删除

我有一个名为 student 的数据库,有 4 个字段(、name和)。lastnamesemesterstudentid

我连接了一个应用程序,允许用户在数据库中插入学生,并且可以选择在插入后在表格上显示他们。

DELETE为每个插入学生都有一个按钮,我已将其连接到单独的功能,让用户可以选择基于studentid.

问题是我似乎做错了什么,因为单击删除按钮时它不起作用。不过我没有收到任何错误,所以我需要您的帮助来查找错误。

数据库创建代码:

从 database.cpp 中调用的数据库中删除

主窗口.cpp

//创建插入的Table-LIST

//DELETE按钮连接函数。

//在删除函数之后调用重新加载表,以便显示没有删除学生的新数据库。

学生.cpp

更新:如果我将void Database::deleteStudent(int id)查询更改为:

删除按钮后表被删除就好了,所以学生ID或查询有问题吗?我需要删除单个插入而不是所有表。

0 投票
0 回答
471 浏览

mysql - 使用 QSqlDatabase pyqt4 连接到 MySQL 数据库

我是 python 代码、QT 和 MySQL 的新手,我想在 QtableView 中显示一个数据库,但我做不到。我不知道发生了什么,错误是('QSqlDatabase' 对象没有属性'setHotsName')

代码是:

有人帮助我吗?谢谢你。

0 投票
1 回答
1738 浏览

python - 如何将可编辑的 QComboBox 链接到数据库

我正在使用 Pyside 创建一个从 sqlite 数据库中提取的组合框。用户可以选择现有项目之一或添加新项目。用户看到项目名称(称为“参数”),但我需要访问数据库中的项目 ID。所以,有两个步骤:

阅读项目:我可以从数据库中读取,但在后台访问项目 ID 时无法显示项目名称。

添加项目:我是否需要检测组合框中的更改,然后使用 SQL 插入命令或模型是否为我处理?

此代码从数据库中读取,但显示不正确:

0 投票
1 回答
589 浏览

android - QSqlDatabase sqlite 数据库适用于 Android 而不是 iOS - QT 5.9 跨平台

所以我的问题是,我试图用 QT 创建一个 sqlite 数据库。所以......我使用这个代码:

好吧,你可以看到我已经将我的代码设置为在应用程序上检查第一次打开,在第一次打开时我创建了一个数据库。在第二次打开时,我读取了数据库。此代码适用于 android 设备,但在 iOS 设备上此代码不起作用,为什么?也许跨平台不支持此代码?

我使用 qt 5.9 我不明白我错在哪里。谢谢您的帮助。

0 投票
1 回答
129 浏览

c++ - 类 QSqlError 没有成员 nativeErrorCode()

我已经为这个问题苦苦挣扎了很长一段时间,不幸的是我自己的推理和谷歌搜索都没有帮助我。简单来说,我正在尝试将 nativeErrorCode() 函数与 QSqlError 类一起使用。编译器说:mainwindow.cpp:43:86:错误:'class QSqlError'没有名为'nativeErrorCode'的成员。这是它引用的行(准确地说,是两行):

问题似乎微不足道,但我自己找不到答案。#include 在 mainwindow.h 文件中。经过一番研究,我注意到其他论坛上的其他人建议编译器使用了错误版本的头文件,这似乎很可能发生,因为函数 nativeErrorCode() 是在 Qt5 中引入的。我试图将 qt4 文件夹移动到垃圾箱,但仍然没有效果。任何帮助都会得到帮助

0 投票
1 回答
1392 浏览

qt - SQLite 中的 Qt 多线程事务

如何通过QSqlDatabase使用SQLite访问事务?

我打开数据库如下:

我为我的读写线程创建了两个这样的连接。问题是我有一个大数据流要写入,因此我必须至少在写入线程中使用开始和提交事务。写入线程运行良好,但在写入线程关闭其连接之前,我无法发出任何选择请求。这是我使用事务的方式:

这是一种常用的用法。问题是这些标准操作不支持多线程使用。如何访问正常的多线程事务?QSqlDatabase默认支持线程,我可以在没有事务的情况下在两个线程中读/写,但是事务是必须的。如何使用 QSqlDatabase 和 SQLite 设置所有常用的多线程选项?

我可以调用q.exec("BEGIN IMMEDIATE TRANSACTION");,但是在两个线程中使用时都会返回错误: database is locked Unable to fetch row

链接:
使用 Qt 的 SQLite3 中出现“数据库已锁定”错误
为什么在使用 Perl 的 DBD::SQLite 时,SQLite 会为事务中的第二个查询提供“数据库已锁定”?

0 投票
1 回答
558 浏览

pyqt5 - pyinstaller QSqlDatabase: QSQLITE driver not loaded QSqlDatabase: available drivers:

I have witten a GUI app using pyqt5 and includes a QtSql database QSQLITE. The app works perfectly. However when I run pyinstaller to a package my app, the app runs until the time where it has to invoke QtSQL DATABASE QSQLITE. This is the error I get

QSqlDatabase: QSQLITE driver not loaded QSqlDatabase: available drivers:

How do I load the driver so that it can be included when I run pyinstaller.

Thank you