qt - 如何正确地将 blob 数据插入表中
问题描述
我尝试在表中写入数据数组,但出现错误“参数计数不匹配”
auto query = new QSqlQuery(db);
request = QString("INSERT INTO items(id, type, data) VALUES"
"('%0', '%1', :bytes)").
arg(id).
arg(static_cast<int>(type));
// request: INSERT INTO items(id, type, data) VALUES('0', '512', :bytes)
query->prepare(request)); // ok
query->bindValue(":bytes", bytes); // bytes is qbytearray with data
query->exec(request) // error Parameter count mismatch
操作系统:ubuntu 18.04
Qt:5.12.3、5.9.7
如何正确写入数据?
解决方案
错误是我将原始请求提供给函数参数,它替换了执行“bindValue”函数的请求。
需要更换
query->exec(request);
经过
query->exec();
推荐阅读
- python - 如何在 Python 中解决这个递归函数?
- java - 在 Recyclerview 中使用 RecyclerView 在 Firestore 中查询要显示的项目
- mysql - MySQL Query - 计算多个表之间的值并按 id 分组
- c# - 如何处理从 bot 框架 v4 中的技能收到的活动?
- docker - 有没有办法在容器中获取容器名称?
- sql - Oracle SQL - 加入和拥有
- ruby-on-rails - 从运行在 Minikube 集群上的 rails 应用程序访问本地 postgres 数据库
- linux - 如何在gid检查下替换文件?
- python - 试图从 git pull 中删除身份验证会创建奇怪的合并冲突和不应该存在的更改
- python - python keras使用计算汉明损失