问题标签 [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++ - 提交对 SQLite 数据库的更改,可以在 QTab 之间看到
我有一个简单的应用程序,我可以在其中登录/注销用户。当用户登录时,应用程序会在主窗口(员工/管理员/客户)上显示相应的选项卡。我有一个QMainWindow
与QTabWidget
它。在我QMainWindow
创建了一个数据库(我为此实现了一个特殊的类):
我的员工、管理员、客户选项卡如下所示:
每个人(员工、客户、管理员)都可以在数据库中进行更改(例如,管理员可以插入服务,用户可以检查可用服务等)。但是,当管理员添加服务(我在打开的数据库上进行插入操作)并注销时,当客户端登录时,它看不到管理员所做的更改。当我再次启动应用程序并且客户端登录时,它可以看到新添加的服务。
添加服务如下所示:
我想这是数据库一直打开的问题,但是如何在我在数据库中插入/删除某些内容后使更改可用?我在创建时打开数据库,QMainWindow
并在其析构函数中关闭它。
每次需要使用数据库的时候我都想过打开/关闭数据库,但我不能说这是否是一个好的解决方案。
甚至添加:
没有帮助。
客户端有:QVector<Service*> availableServices;
和QComboBox *servicesComboBox;
,当客户端登录时检查所有可用的服务:
Service
班级:
最后,从数据库中选择所有服务(我使用这种方法来填充组合框ClientTab
):
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 并且能够连接到它的用户
java - 如何将图像上传到 SQLite 数据库?
我正在尝试创建一个用户上传图片并将其保存在 SQLite 数据库中的应用程序。到目前为止,我已经成功地按照教程将图像上传到应用程序,但是我不确定如何将其保存在 SQLite 中,以便当活动关闭并再次打开时,图像会保留在那里。
我的代码:
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 文件。
sqlite - QSqlQuery 在 Qt5 中有时非常慢
我基于 Qt5 开发应用程序。在我的应用程序中,我使用 sqlite3 数据库。然后我发现了一个问题,即当我的应用程序首次启动时 sqlite3 QSqlQuery.next() 非常慢。
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
c++ - 选择 TINYINT 列时,QSqlQuery 没有给出正确的结果
我有一个非常简单的 MySQL 表,想使用 QSqlQuery 选择一些行。
我已连接到我的本地开发 mysql 服务器(Windows;64 位)。
当我使用 mysql workbench 等其他工具运行 SELECT 查询时,我总是得到正确的结果(当然!)。
对 QSqlQuery 做同样的事情根本不会给我任何行!
SQL 表定义
在这两个程序中,我都连接到同一个本地 mysql 实例。我的机器上或网络上没有其他 mysql 服务器。这发生在 Oracle 的 MySQL 和 MariaDB 上!所以问题一定出在我的程序中。
我做错了什么还是这里发生了什么?
更新经过多次测试,问题仅在我选择ModbusID
. 我将表定义从
至
现在它可以工作了。看起来像QT 中的错误。但我不认为这是一个好的解决方案。如果您知道使用方法,TINYINT
请写下答案或评论!
android - QSqlDatabase:未加载驱动程序未加载驱动程序
我使用 qt 开发了一个 c++ 库。在这篇文章中,我使用 QSqlDatabase 从 SQLite 数据库中查询信息。注意:我的库在 qt 桌面应用程序中运行良好(我正在 Linux 上开发)。
现在我的下一步是在 android studio 项目中使用我的 libray。为此,我使用 android ndk 编译了我的库(此步骤工作正常),但得到了 QSqlDatabase :未加载驱动程序未加载驱动程序。
当我调用 m_database.setDatabaseName(/Database.db); 时发生此错误
感谢您的反馈
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
文件进行了测试。
注意:本地连接效果很好