我现在使用的是c/c++语言,开发工具是qt creator,qt的版本是5.13.1,数据库使用的是sqlite
时间: 2024-02-25 15:52:53 浏览: 59
好的,那么你想进行模糊查询的话,可以使用 SQLite 中的 LIKE 子句。
以下是一个使用 QSqlQuery 进行模糊查询的简单示例:
```c++
QSqlQuery query;
QString name = "John";
QString sql = "SELECT * FROM users WHERE name LIKE '%" + name + "%'";
if (query.exec(sql)) {
while (query.next()) {
QString id = query.value("id").toString();
QString name = query.value("name").toString();
QString email = query.value("email").toString();
qDebug() << "id:" << id << " name:" << name << " email:" << email;
}
} else {
qDebug() << "Error:" << query.lastError().text();
}
```
在上面的代码中,我们使用了一个字符串变量 `name` 来表示需要查找的名字,然后使用 SQL 语句进行模糊查询,并将结果保存在 `query` 对象中。最后,我们通过 `while` 循环遍历所有的查询结果,并将其输出到控制台上。
需要注意的是,在 SQL 语句中,我们使用了 `%` 符号来表示任意字符的匹配。例如,`'%John%'` 表示匹配任何包含字符串 "John" 的记录。如果需要匹配以 "John" 开头的记录,可以使用 `'John%'`;如果需要匹配以 "John" 结尾的记录,可以使用 `'%John'`。
希望能够帮助到你。
阅读全文