Попробуйте войти NSLog(@"Error=%s",sqlite3_errmsg(&db)
, посмотрите, есть ли ошибки.Проверьте, входит ли он внутрь sqlite3_open statement
.
И я никогда не использовал точку с запятой для завершения оператора delete, мои знания в sqlite очень ограничены.Но я всегда использовал NSString *sqlStatement = @"DELETE from GalleryTabel";
Обратите внимание, точка с запятой удаляется.
И попробуйте использовать exec
вместо prepare,step,finalize
метода.
Например:
NSString*deleteSQL=[NSString stringWithFormat:@"delete from GalleryTabel"];
const char*deleteStmt=[deleteScoreSQL UTF8String];
char*errMsg=nil;
if(sqlite3_exec(db, deleteScoreStmt, NULL, NULL, &errMsg)==SQLITE_OK)
{
NSLog(@"Deleted table");
}
Надеюсь, это поможет.