SQLite数据库的 初级写法 和 中级写法的比较

2022年9月6日 296点热度 0人点赞 0条评论

初级形态

描述:直接打开,如果无法正常打开则报错

//初级形态bool opendatabase(){    QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE");    mydb.setDatabaseName(MydbLocal);//平时debug正常用    //mydb.setDatabaseName("./employee.db");//release用
if(mydb.open()) { qDebug()<<"open success"; return true; } else { qDebug()<<"open failed"; return false; }}

中级形态
描述:

在初级形态的基础上,加上了一些判断和创建机制

// 打开数据库  使用<SQL_lite>bool OpenDatabase(){    QSqlDatabase mydb;
if (QSqlDatabase::contains(databaseName)) { //打开了数据库 mydb = QSqlDatabase::database(databaseName); } else { //若数据库不存在,则会直接创建 mydb = QSqlDatabase::addDatabase("QSQLITE"); //设置sql库名称 mydb.setDatabaseName(MydbLocal+ "/" + databaseName + ".db"); qDebug() << QCoreApplication::applicationDirPath() << mydb.databaseName(); }
//是否打开失败 if(!mydb.open()) { //提示错误 qDebug()<<"open false"; QMessageBox::warning(0, QObject::tr("Database Error"), mydb.lastError().text()); //提示框 return false; }
//创建表 QSqlQuery query; bool finish = query.exec(QString("create table %1 (name varchar, number varchar, departments varchar,class varchar, EnterTime varchar, GPA varchar, password varchar)").arg(datatableName)); if (finish == true) { //插入管理员信息 query.exec(QString("insert into %1 values ('admin','201010','人事部', '人事经理' ,'2010','5.3','admin')").arg(datatableName)); //虚拟员工信息 query.exec(QString("insert into %1 values ('abc','201103','综合办', '职员' ,'2011','4.7','123')").arg(datatableName)); query.exec(QString("insert into %1 values ('ablke','201711','财务部', '财务部长' ,'2016','3.3','456')").arg(datatableName));
return true; //新建数据库成功 } else { QSqlError lastError = query.lastError(); qDebug()<<lastError; QString err = lastError.driverText(); return false; }
return true;}

83520SQLite数据库的 初级写法 和 中级写法的比较

这个人很懒,什么都没留下

文章评论