我有以下代码和sql字符串,其中我的错误已在另一篇文章中得到解决。 基本上,这个函数测试表是否存在。那就是它。
我发布了以下相关部分。出于某种原因,即使数据库中没有该表,我的函数总是告诉我该表存在吗?
关于我在这里做错了什么的线索..这可能是我使用sqlite3_get_table的返回值的方式吗?
string sql_string = "SELECT name FROM sqlite_master WHERE type = 'table' AND name='test_table';";
// open database
dbase_return = sqlite3_open_v2(dbase_path.c_str(),&DBHANDLE,SQLITE_OPEN_READWRITE,NULL);
if(!dbase_return)
{
dbase_return_tbl = sqlite3_get_table(DBHANDLE,sql_string.c_str(),&result,&row,&column,&error_msg);
if(dbase_return_tbl==SQLITE_OK)
{
cout << " Table exists" << endl;
sqlite3_close(DBHANDLE);
return 1;
}
else
{
cout << "Table doesn't exists" << endl;
sqlite3_close(DBHANDLE);
return 0;
}
}