将变量插入到 SQLite 查询
inserting a variable to a SQLite query
我有一个声明如下。
const QString createSQL = "CREATE TABLE customer (x INTEGER PRIMARY KEY ASC, y, z);" ;
我还有一个变量
QString name="name1";
我需要将表"客户"的名称更改为 name1。如何将变量插入到上面的 sqlite 查询中?
这是
直接从文档中取出的。
// Execute query with positional binding using named placeholders
QVariantList contactValues;
contactValues << 1 << "Mike" << "Chepesky";
DataAccessReply reply = sc.executeAndWait(
"insert into contact (id, firstname, lastname) values (:id, :firstname, :lastname)",
contactValues);
和
// Execute query with positional binding using positional (?) placeholders
QVariantList contactValues;
contactValues << 1 << "Mike" << "Chepesky";
DataAccessReply reply = sc.executeAndWait(
"insert into contact (id, firstname, lastname) values (?, ?, ?)",
contactValues);
查看文档/来源
要重命名表,请使用ALTER TABLE
:
"ALTER TABLE customer RENAME TO " + name
如果只需要将表名插入到查询中,
"CREATE TABLE " + name + "(x INTEGER ...
我不相信您可以使用绑定变量更改表名,但您可以这样做:
QString name = "tableName";
QString createSQL = QString("CREATE TABLE %1 (x INTEGER PRIMARY KEY ASC, y, z)").arg(name);
要回答 H2CO3 的评论,您绝对可以绑定值:
QString queryStr = QString("SELECT * FROM TABLE %1 WHERE col = :selected").arg(name);
QSqlQuery query(qSqlDatabase);
query.prepare(queryStr);
query.bindValue(":selected", "Selected Value");
相关文章:
- 查询SQLite数据库中的日期
- Qt SQLite没有查询或参数计数不匹配
- 优化使用 C++ 查询 SQLite DB 中超过 5000 万条数据记录的方式
- QtSql:绑定不会改变SQLite的查询
- 如何在不同的列中插入随机数量的值? 查询.C++.SQlite 数据库
- SQlite 查询 - 如何检索多列数据
- 将 COUNT() 查询的结果存储在 SQLite 中的C++整数中
- 使用用户定义的函数对循环/对称值执行Sqlite(C API)和查询(选择)
- 将变量插入到 SQLite 查询
- C++ 和SQLite - 如何执行由用户输入形成的查询
- 返回"unknown error"的 SQLite 查询
- 宽字符串 SQLite 查询 C++
- C++和 Sqlite DELETE 查询实际上不会从数据库文件中删除该值
- C++ SQLite 查询只工作一次。我的代码有什么问题?
- Qt Sqlite查询不工作
- 使用prepare和bindValue对列名Sqlite查询
- SQLite C++查询行-如何处理多列
- 用于检查字段是否存在的Sqlite查询失败
- SQLite 查询进度条
- SQLite 查询未准备好行,但为空值