在这里只展示三个方法:一:配置声明sqlite 二:导入创建链接和数据库 三:导入操作语句,操作数据库
qt中操作数据库,要熟悉三个类 :QSqlDatabase QSQLerror QSqlquery
QSqldatabase 实例化,并创建链接,由他的实例化对象对数据库进行操作
QSqlquery 实例化,并绑定数据链接,由它进行操作语句传递,完成对数据库具体操作
QSqlerror 报出有关数据的错误
使用数据库步骤:
第一步:导入,在.pro文件中添加 QT +=sql 语句
第二步:查看,你使用的qt目前支持哪些版本
qDebug()<<QSqlDatabase::drivers();
第三步:创建链接,创建数据库
if (QSqlDatabase::contains(connect_name)) //connect_name是连接名
{ qDebug()<<"连接存在,绑定连接";
database = QSqlDatabase::database(connect_name);
}
else
{
qDebug()<<"连接不存在,创建链接,创建数据库";
database= QSqlDatabase::addDatabase("QSQLITE",connect_name);//注意,这里QSQLITE必须加上
database.setDatabaseName(database_workpath.append("./").append(database_name).append(".db"));//创建数据库,跟创建文件一样,如果想把数据库放在某个文件夹中,可以把路径加上去
}
if(QSqlDatabase::contains(connect_name)){
if(database.open()){qDebug()<<"数据库创建成功";database.close();}//注意,如果创建完数据,从未打开的话,数据库是不会显示出来的。我测试过n次
}
第五步:实例化 QSqlqurry并绑定链接
bool ConnectDatabase::OperationalDatabase(QString statement){
QSqlQuery query(database); //实例化对象,完成链接
if(database.open()){ //打开数据库
qDebug()<<"数据库已经打开";
if(query.exec(statement)){ //注意exec的使用,建议你去了解一下prepare()方法
qDebug()<<"操作数据库成功";
database.close();
return true;
}else{qDebug()<<"操作失败:"<<query.lastError();database.close(); return false;}
}
qDebug()<<"数据库没有打开,无法操作";
return false;
}
第六步:关闭数据库,移除数据库连接
database.close();//关闭数据库
//移除数据库连接以后再讲
完整代码实例地址:sqlite实例