QSqlQuery 添加一行数据
要向数据库中的表添加一行数据,您可以使用 QSqlQuery 类执行插入语句。以下是一个示例:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
int main(int argc, char *argv[]) {
QCoreApplication app(argc, argv);
// 创建数据库连接
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("database.db");
if (!db.open()) {
qDebug() << "无法打开数据库";
return 1;
}
// 执行插入语句
QSqlQuery query;
query.prepare("INSERT INTO MyTable (Name, Age, Gender) VALUES (:name, :age, :gender)");
query.bindValue(":name", "John");
query.bindValue(":age", 25);
query.bindValue(":gender", "Male");
if (!query.exec()) {
qDebug() << "插入数据失败:" << query.lastError().text();
return 1;
}
qDebug() << "数据插入成功";
// 关闭数据库连接
db.close();
return app.exec();
}
在这个示例中,我们首先创建了一个 QSqlDatabase 对象,并指定了数据库的类型和名称。然后,我们尝试打开数据库连接。如果连接成功,我们创建了一个 QSqlQuery 对象,并使用 prepare() 函数准备插入语句。在插入语句中,我们使用占位符 :name、:age 和 :gender 来代表要插入的值。
接下来,我们使用 bindValue() 函数将具体的值绑定到占位符上。在这个例子中,我们将 “John” 绑定到 :name,将 25 绑定到 :age,将 “Male” 绑定到 :gender。
最后,我们使用 exec() 函数执行插入语句。如果插入成功,我们打印出成功的消息。如果插入失败,我们打印出错误信息。
请注意,这只是一个简单的示例,用于说明如何使用 QSqlQuery 插入一行数据。您需要根据您的实际表结构和数据进行相应的调整。