Sqlite 判断表是否存在

最近的项目有在VC环境下使用Sqlite,常常在创建表之前需要知道这个表是否存在。一开始用CREATE TABLE IF NOT EXISTS 这条SQL语句,但是会报出错误提示“SQLITE_MISUSE”;这种方法行不通,只好自己写个函数判断表是否存在。思路是写一个查询语句,接着判断列的个数,如果列的数目大于0,表示这个表已经创建,等于0,表示不存在这个表。代码如下:

<pre name="code" class="cpp">BOOL IsTableExists(CString sz_tablename)
{
   bool ret = false;
   CString sz_sql="SELECT ID FROM ";//查询ID列
   sz_sql.Append(sz_tablename);
   CSqlStatement* smt = m_sqlite.Statement(sz_sql);
   if (smt!=NULL)
  {
     if(smt->Fields()>0)//表存在
          ret = true;
   }
    return ret;
}


 
 

猜你喜欢

转载自blog.csdn.net/a906168402/article/details/45562307