qt对数据库的增删改查搜索单个用户信息
时间: 2024-03-15 14:19:45 浏览: 25
以下是Qt对数据库的增删改查搜索单个用户信息的示例代码:
```cpp
// 添加用户信息
void addUser(const QString& name, int age, const QString& address)
{
QSqlQuery query;
query.prepare("INSERT INTO user(name, age, address) VALUES(:name, :age, :address)");
query.bindValue(":name", name);
query.bindValue(":age", age);
query.bindValue(":address", address);
query.exec();
}
// 删除用户信息
void deleteUser(int id)
{
QSqlQuery query;
query.prepare("DELETE FROM user WHERE id = :id");
query.bindValue(":id", id);
query.exec();
}
// 更新用户信息
void updateUser(int id, const QString& name, int age, const QString& address)
{
QSqlQuery query;
query.prepare("UPDATE user SET name = :name, age = :age, address = :address WHERE id = :id");
query.bindValue(":id", id);
query.bindValue(":name", name);
query.bindValue(":age", age);
query.bindValue(":address", address);
query.exec();
}
// 查询用户信息
QSqlRecord getUser(int id)
{
QSqlQuery query;
query.prepare("SELECT * FROM user WHERE id = :id");
query.bindValue(":id", id);
query.exec();
if (query.next()) {
return query.record();
} else {
return QSqlRecord();
}
}
// 搜索用户信息
QSqlQuery searchUser(const QString& name)
{
QSqlQuery query;
query.prepare("SELECT * FROM user WHERE name LIKE :name");
query.bindValue(":name", "%" + name + "%");
query.exec();
return query;
}
```
其中,`QSqlQuery`类用于执行SQL语句,并返回查询结果。`QSqlRecord`类用于表示数据库中的一条记录。`bindValue()`方法用于将参数绑定到SQL语句中的占位符上。`LIKE`运算符用于模糊匹配查询,`%`表示匹配任意字符。