Qt中sqllite資料庫判斷一張表是否存在
今天在學習Qt的時候,打算使用Qt中的sqllist做一個小的Daemo,但是第一次在使用資料庫的時候需要在程式碼中建立表,於是需要先判斷表是否存在,於是去網上搜了一下,發現網上的案例都是下面這樣:
bool IsTableExist(QSqlQuery &query,QString table)
{
QString sql = QString("select count(*) from sqlite_master where type = 'table' name='%1'").arg(table);
return query.exec(sql);
}
這種方法查詢的是資料庫中有沒有表的資料,肯定會有結果返回,所以query.exec(sql)
下面是我自己想出來的方法,其實差不多,但是不用取出查詢的結果。
bool IsTableExist(QSqlQuery &query,QString table)
{
QString sql = QString("select * from sqlite_master where name='%1'").arg(table);
query.exec(sql);
return query.next();
}