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

c++ - 提交对 SQLite 数据库的更改,可以在 QTab 之间看到

我有一个简单的应用程序,我可以在其中登录/注销用户。当用户登录时,应用程序会在主窗口(员工/管理员/客户)上显示相应的选项卡。我有一个QMainWindowQTabWidget它。在我QMainWindow创建了一个数据库(我为此实现了一个特殊的类):

我的员工、管理员、客户选项卡如下所示:

每个人(员工、客户、管理员)都可以在数据库中进行更改(例如,管理员可以插入服务,用户可以检查可用服务等)。但是,当管理员添加服务(我在打开的数据库上进行插入操作)并注销时,当客户端登录时,它看不到管理员所做的更改。当我再次启动应用程序并且客户端登录时,它可以看到新添加的服务。

添加服务如下所示:

我想这是数据库一直打开的问题,但是如何在我在数据库中插入/删除某些内容后使更改可用?我在创建时打开数据库,QMainWindow并在其析构函数中关闭它。

每次需要使用数据库的时候我都想过打开/关闭数据库,但我不能说这是否是一个好的解决方案。

甚至添加:

没有帮助。

客户端有:QVector<Service*> availableServices;QComboBox *servicesComboBox;,当客户端登录时检查所有可用的服务:

Service班级:

最后,从数据库中选择所有服务(我使用这种方法来填充组合框ClientTab):

0 投票
2 回答
990 浏览

c++ - QSqlRelationalTableModel - 对同一个表的两个引用,相同的外键

我有 3 张桌子:

在此处输入图像描述

我想在 GUI 上使用QTableView和显示订单表(订单的开始和结束日期、用户的姓氏、服务名称和服务价格) QSqlRelationalTableModel。这是我设置表格和视图的地方:

但是当我进行第三次setRelation调用时,它似乎覆盖了第二次调用:我只能在 GUI 上看到价格,而不是名称和价格。我需要将服务表中的名称和价格这两个字段放到我的视图中。

0 投票
0 回答
583 浏览

mysql - 使用 MySQL 连接器/C++ 在 SSL 连接到 AWS RDS 期间拒绝用户访问

我正在尝试与我的 Amazon Web Service RDS 实例建立安全的 SSL 连接。

已创建具有以下权限的用户“ericencrypt”:

MySQL Workbench - 成功

我可以使用 MySQL Workbench 连接到我的这个,将 SSL CA 文件指定为从亚马逊下载的 rds-combined-ca-bundle.pem http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide /CHAP_MySQL.html#MySQL.Concepts.SSLSupport

Python - 成功

我还可以使用相同的 SSL CA 组合捆绑 pem 文件在 python 上建立 SSL 连接。

C++ - 失败

问题是当我尝试在我的 C++ 项目中运行此代码时,我收到“用户 'ericencrypt'@'12.159.10.49'(使用密码:YES)的访问被拒绝”错误

mysql_ssl_set 的文档:https ://dev.mysql.com/doc/refman/5.5/en/mysql-ssl-set.html 说调用 mysql_ssl_set 将为 mysql_real_connect 设置 CLIENT_SSL 标志

我还创建了另一个不需要 SSL 并且能够连接到它的用户

0 投票
1 回答
1157 浏览

java - 如何将图像上传到 SQLite 数据库?

我正在尝试创建一个用户上传图片并将其保存在 SQLite 数据库中的应用程序。到目前为止,我已经成功地按照教程将图像上传到应用程序,但是我不确定如何将其保存在 SQLite 中,以便当活动关闭并再次打开时,图像会保留在那里。

我的代码:

0 投票
0 回答
680 浏览

qt - 使用 qt 连接到 Access 数据库


我在使用 Qt 4.7.4 的 Windows 8 上(不要问为什么:p)我正在尝试使用这行代码连接到 Access 数据库

当然它没有连接,IQ得到以下信息:

应用程序“C:\Program Files (x86)\Common Files\Microsoft Shared\office14\mso.dll”在缓存
“[Microsoft][Pilote ODBC Microsoft Access] Nom de fichier 不正确”中找不到。
“QODBC3:无法连接”

文件 MSG.accdb 就在构建文件夹的根目录

我检查了文件夹“C:\Program Files (x86)\Common Files\Microsoft Shared\office14\”,并在那里找到了 MSO.DLL 文件。

0 投票
0 回答
206 浏览

sqlite - QSqlQuery 在 Qt5 中有时非常慢

我基于 Qt5 开发应用程序。在我的应用程序中,我使用 sqlite3 数据库。然后我发现了一个问题,即当我的应用程序首次启动时 sqlite3 QSqlQuery.next() 非常慢。

0 投票
1 回答
614 浏览

qt - QSqlDatabase:无法使用来自 QThread 的连接

我有两个 QSqlDatabase 数据库连接,“本地”和“远程”。我有一个使用两个连接的函数(从本地数据库获取数据并发送到远程数据库)。当我从 QThread 类运行此函数时,本地连接有效(我得到了预期的数据),但远程连接失败。但是,如果我在 QThread 类之外(在 main() 中)运行此函数,则两个连接都有效。

当我尝试打开连接并显示错误消息时,远程连接失败:“QSqlDatabasePrivate::database:无法打开数据库:QMYSQL:无法连接”。在此之前,我测试了连接是否有效(isValid())并且它是好的。我还检查连接是否已经打开,但不是。

我也找到了这个信息,但由于“本地”连接从线程工作,这可能不是问题:

线程和 SQL 模块 连接只能在创建它的线程内使用。不支持在线程之间移动连接或从不同线程创建查询。 http://doc.qt.io/qt-5/threads-modules.html#threads-and-the-sql-module

该错误在 Qt 5.5.1、32bit、Ubuntu 14.04 中发现。还在 Raspberry Pi、Qt 5.6 上进行了测试,但结果是“分段错误”。

怎么了?

主程序

数据处理程序.cpp

数据处理器线程.h

数据处理器线程.cpp

0 投票
0 回答
159 浏览

c++ - 选择 TINYINT 列时,QSqlQuery 没有给出正确的结果

我有一个非常简单的 MySQL 表,想使用 QSqlQuery 选择一些行。

我已连接到我的本地开发 mysql 服务器(Windows;64 位)。

当我使用 mysql workbench 等其他工具运行 SELECT 查询时,我总是得到正确的结果(当然!)。

对 QSqlQuery 做同样的事情根本不会给我任何行!

SQL 表定义

在此处输入图像描述

在这两个程序中,我都连接到同一个本地 mysql 实例。我的机器上或网络上没有其他 mysql 服务器。这发生在 Oracle 的 MySQL 和 MariaDB 上!所以问题一定出在我的程序中。

我做错了什么还是这里发生了什么?

更新经过多次测试,问题仅在我选择ModbusID. 我将表定义从

现在它可以工作了。看起来像QT 中的错误。但我不认为这是一个好的解决方案。如果您知道使用方法,TINYINT请写下答案或评论!

0 投票
2 回答
3487 浏览

android - QSqlDatabase:未加载驱动程序未加载驱动程序

我使用 qt 开发了一个 c++ 库。在这篇文章中,我使用 QSqlDatabase 从 SQLite 数据库中查询信息。注意:我的库在 qt 桌面应用程序中运行良好(我正在 Linux 上开发)。

现在我的下一步是在 android studio 项目中使用我的 libray。为此,我使用 android ndk 编译了我的库(此步骤工作正常),但得到了 QSqlDatabase :未加载驱动程序未加载驱动程序。

当我调用 m_database.setDatabaseName(/Database.db); 时发生此错误

感谢您的反馈

0 投票
1 回答
483 浏览

qt - QSqlDatabase [ODBC] 的远程连接问题

我正在尝试连接到远程SQL服务器:

但大约 7 秒后,它给了我这个日志:

[Microsoft][SQL Server Native Client 10.0]命名管道提供程序:无法打开到 SQL Server [1326] 的连接。[Microsoft][SQL Server Native Client 10.0]建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。[Microsoft][SQL Server Native Client 10.0]Login timeout expired QODBC3: Unable to connect

但是服务器已启动并正在运行,并且连接正常并且已经使用UDL文件进行了测试。

注意:本地连接效果很好