c++ - 将 QString 传递给 sqlite3_open 的编码问题
问题描述
我正在尝试将sqlite3
库与 Qt 一起使用。
我将我的数据库路径存储在QString
. 由于sqlite3_open
想要 a const char*
,我尝试执行以下操作:
const QString qpath = whateverGivesIt();
const char* path = qpath.toUtf8().constData();
sqlite3_open(path, &connection);
收效甚微。如果我使用
qDebug() << qpath;
qDebug() << path;
他们都给了我相同的(正确的)路径。但 SQLite3 似乎不接受它,因为我看到正在创建一个新文件:hЮUUU
. 此外,我连接的数据库显然是空的,因为 SQLite3 似乎正在连接到一个新文件。
有任何想法吗?请建议(:
解决方案
Qt 有自己的 sqlite 实现,它与 QObjects 检查以稳定的方式工作:http: //katecpp.github.io/sqlite-with-qt/
推荐阅读
- linux - 在 Sagemaker 处理 API 运行的 Docker 容器上构建一个大图(~44GB)
- spring-integration - 有没有办法在子流上调用 Scatter Gather 并保持执行顺序?
- javascript - 当我不知道对象数组的键/值时,最好的方法是什么?
- css - shape-outside css 属性不适用于 react 和 styled 组件
- sql - 由小于固定数字的数字组成的所有表格
- c# - 扫描瓷砖地图以查找有效区域
- python - ImportError : 无法导入名称
从 在 Linux 上 - apache-spark - Pyspark 无法找到 bigquery 数据源
- unit-testing - GitAction vstest.console.exe 在 vswheredarennm/Setup-VSTest@v1 中找不到错误
- php - Ubuntu 终端显示 php 版本 7.4,但浏览器显示 php 版本 7.2