问题标签 [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 回答
1604 浏览

c++ - Qt:使用一个连接从多个线程写入数据库

这是问题所在:假设我们有很多线程(> 1000)通过某种协议接收数据,我想将这些数据写入数据库(sql server)。

对于数据库连接,我们使用QSqlDatabase. 根据以下文件QSqlDatabase

只能在创建它的线程内使用连接。不支持在线程之间移动连接或从不同线程创建查询。

考虑到我们不能创建 1000 个连接(这会导致性能问题),这里有哪些选项?

想到的是为数据库写入处理创建一个单独的线程。

但是如何在后台运行这个线程并等待来自数据接收线程的信号呢?在这种情况下可以使用哪些其他方法?

0 投票
0 回答
1295 浏览

excel - 在 Qt 中使用 ODBC 驱动程序读取 excel 文件 (.csv)

我有一个我想在 Qt 中解析的 csv 文件。我想使用 sql 插件,但我不确定如何设置。我目前无法.csv从我的 Qt 应用程序打开文件——我必须手动打开它然后启动我的应用程序以希望从中查询。

如果在我开始我的应用程序之前没有手动打开我尝试读取的文件,我会收到以下驱动程序错误:

这是我的设置...

Qt Creator 构建/版本:

  • 我在不是从源代码构建的 Qt 5.3 中工作——我下载了安装程序。
  • 我已经配置了一些调试工具包,但我目前使用的工具包使用的是 MSVC 2012 openGL 32 位编译器(我已将其设置为默认值)。
  • 我的机器上有 Visual Studio 2012 和 2010,它是 64 位的。
  • 我不必制作 sql 驱动程序,它们已经安装(可用驱动程序:()(“QSQLITE”、“QMYSQL”、“QMYSQL3”、“QODBC”、“QODBC3”、“QPSQL”、“QPSQL7”) )

我的 .pro 文件挂钩到 sql 插件:

我有以下内容:

这是我建立 Excel 数据库连接并尝试查询的代码:

文件权限 - 完全控制 - 修改 - 读取和执行 - 读取 - 写入

我真的很想实现这个功能。我会假设错误出现在连接字符串中,但此时我已经尝试了几个小时但没有成功。

先感谢您。

0 投票
1 回答
643 浏览

pyqt - 如何使用 QSqlTableModel 和 QTreeView

我正在使用 sqlite 数据库(webscrap.db)。我想让模型显示数据库表“userin”的“名称”字段中的数据。如何使用 QSqlTableModel 获取数据并使用 QTreeView 显示?

0 投票
0 回答
762 浏览

c++ - 是否可以通过 QSqlQuery 选择查询修改记录返回?

是否可以修改 QSqlQuery 选择查询返回的记录?我有这样的事情:

我正在尝试使用 setValue 方法更改查询结果中的数据。但它不起作用。query.record().field("columnName").isReadOnly() 返回 false;

有没有可能实现我想要的?

谢谢。

升级版:

如我所见,这是不可能的。让我们看一下record() getter:

我们得到一份真实记录的副本。也许我们应该使用 QSqlResult->record() - 但它是私有的。如果我出于我的目的将其公开,可以吗?

有什么建议吗?

0 投票
1 回答
1110 浏览

c++ - 使用 QSqlQuery 检索 MySQL 存储过程的输出

我有一个 MySQL 服务器启动并运行。它包含带有过程的数据库。这是其中之一:

它通过 MySQL Workbench 工作并返回一列(状态)表,其中一行值为 1。但是当我尝试这样使用它时:

它返回:

假-1“”

这意味着:无效,没有记录,但没有错误……我试图用谷歌搜索,但没有运气。QSqlQuery甚至支持这个?我可以创建 OUT 参数和“SELECT CASE into it”,但我想创建带有返回表的其他过程,而不仅仅是单个参数......

0 投票
3 回答
2009 浏览

sql - Qt 应用程序中多个线程中的 SQL 连接

如何在 Qt 应用程序的不同线程中创建和使用到 SQL 数据库的多个连接?

我读过文档说

只能在创建它的线程内使用连接。

如何分离不同线程中的连接?

0 投票
1 回答
696 浏览

qt - 如何获取qsql数据库的信号?

我想要 qsqldatabse 对象发出的信号

例如:我有 Qsqldatabase db;

连接 (&db, SIGNAL(signal_like_exec()), 这, SLOT(any_slot()));

我在 db 的 connect() 中没有收到信号

有没有办法做到这一点?

0 投票
2 回答
4636 浏览

qt - Why is my sqlite query so slow in Qt5?

In Qt5.4 using QSqlDatabase with sqlite3 on Ubuntu14.04 64bit:

First I open and call transaction() on the db.

Next I make 54 individual insert queries, each prepared, each deleted after execution.

Finally I call commit().

All calls complete without error and still the execution time is horrible (around 500 ms total for 54 trivial inserts).

My computer is reasonably modern and has striped SSD disks for performance. When accessing the sqlite file using Sqliteman it is blazingly fast.

So what is going on?

Here is the insert:

UPDATE: And here is open() as requested:

0 投票
1 回答
51 浏览

mysql - Qt4:如何在线程之间传输mysql查询?

我的应用程序读取 mysql 数据库并根据 mysql 查询绘制表。我想使用进度条,但我不能,因为 QSqlDatabase 进程冻结了我的主窗口。

我在某处读过,我应该分离 gui 和 mysql 进程的线程并使用进程间通信,但找不到任何示例。在线程之间传输mysql查询的最佳方式是什么?

0 投票
1 回答
90 浏览

qt - 与 QSql 中的列建立关系

我正在尝试显示一个与列关系相关的 QSqlRelationalTableModel。

这是我的最小代码:

的第 9 列micTableModel包含表“借贷”中条目的键。'lending' 本身有一个 user_id,它与表 'ldapuser' 中的条目有关。最后,“ldapuser”包含“用户名”,我想在我的micTableModel.

有什么想法可以在我的 micTableModel 中建模这种关系吗?