QT中QSQLITE的使用
本文章意在记录在我学习过程中关于QT中QSQLITE的使用
准备工作
在pro文件中增加以下代码
QT += sql
在头文件中include
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
数据库的创建
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("girl.db"); //数据库的名称
db.setUserName("Michael"); //用户名
db.setPassword("123123"); //设置数据库密码
db.open();
表格的创建
QSqlQuery query;
query = QSqlQuery(db);
bool success=query.exec("create table girl (name varchar(20), age int, weight int, ID int)");
if(success)
qDebug()<<QObject::tr("数据库表创建成功!\n");
else
qDebug()<<QObject::tr("数据库表创建失败!\n") << query.lastError();
数据的插入
QSqlQuery query;
query = QSqlQuery(db);
QString insert_sql = "INSERT INTO pet VALUES(?,?,?,?)";
query.prepare(insert_sql);
query.addBindValue("Stephanie");
query.addBindValue(19); //age
query.addBindValue(45); //weight
query.addBindValue(1); //ID
if (!query.exec()){
qDebug() << "Stephanie" << "插入失败" << query.lastError();
}
else{
qDebug() << "Stephanie" << "插入成功";
}
进行数据的读取
创建搜索用的query并对数据库进行搜索
Qsqlquery search_query = QSqlQuery(db);
search_query.exec("select * from girl");
//或select * from girl where ID = 1
search_query.first();
可以用变量对读取的数据进行存放
age = search_query.value("age").toInt();
weight = search_query.value("weight").toInt();