sqlite会自动维护一个系统表sqlite_master,使用语句:
select * from sqlite_master where name='表名' and sql like '%字段名%'
可以查询指定表的某个列是否存在,可以用于更新数据库列,查询数据库升级后列是否成功等。
bool SQLite::getIfcolExist(QString tableName,QString colName){
bool out=false;
QSqlQuery query; //执行操作类对象
QString str = "select * from sqlite_master where name='"+tableName+"' and sql like '%"+colName+"%'";
qDebug()<<str;
query.exec(str);
if(query.next()){
out = true;
}
return out;
}