Iphone iOS-当我试图获取一个包含多个表的sqlite数据库时,我什么也得不到?
当我试图获取一个包含多个表的数据库时,我根本没有得到任何数据。在正常情况下,当我尝试使用一个表获取数据库时,我可以获取所有数据,并且一切正常 此函数应返回数据库中的表数:Iphone iOS-当我试图获取一个包含多个表的sqlite数据库时,我什么也得不到?,iphone,sqlite,Iphone,Sqlite,当我试图获取一个包含多个表的数据库时,我根本没有得到任何数据。在正常情况下,当我尝试使用一个表获取数据库时,我可以获取所有数据,并且一切正常 此函数应返回数据库中的表数: -(NSInteger)GetTablesCount { [self openconnection]; const char * sql="select count(*) from sqlite_master where type='table'"; sqlite3_stmt *selectstatm
-(NSInteger)GetTablesCount
{
[self openconnection];
const char * sql="select count(*) from sqlite_master where type='table'";
sqlite3_stmt *selectstatment;
if(sqlite3_prepare_v2(database,sql,-1,&selectstatment,Nil)==SQLITE_OK)
{
while(sqlite3_step(selectstatment)==SQLITE_ROW){
return sqlite3_column_int(selectstatment, 0);// return the number of tables
// int the case of multiple tables it returns 0...
}
}
return 0;
}
[自开连接]
打开与数据库的连接。我没有发现您的代码有任何错误。只是猜测一下,上一条语句中的“0返回”不是sqlite3\u prepare\u v2!=SQLITE_OKi意味着您的sqlite3_prepare_v2可能失败了。如果是这样的话,你应该用多个表来研究你的数据库创建过程。我尝试了另一个数据库,它工作得很好,可能是数据库本身的创建,,,thnx很多:)