If Statement 在 iOS 中使用 sqlite 语句给出错误
If Statement give error with sqlite statement in iOS
我正在学习 iOS 的 sqlite 概念。在学习阶段我遇到了一个问题,问题是:
当我将 NSLog 放在 if 语句之后时,它没有给出任何错误。看图:
但是当我删除 NSLog 时编译器给我错误,见图:
为什么会出现这个错误我还没有找到。我的代码是:
-(void)runQuery:(const char *)query isQueryExecutable:(BOOL)queryExecutable{
sqlite3 *sqlite3Database;
NSString *databasePath= [self.documentsDirectory stringByAppendingPathComponent:self.databaseFileName];
if(self.arrResults != nil){
[self.arrResults removeAllObjects];
self.arrResults= nil;
}
self.arrResults =[[NSMutableArray alloc] init];
if(self.arrColumnNames != nil){
[self.arrColumnNames removeAllObjects];
self.arrColumnNames= nil;
}
self.arrColumnNames= [[NSMutableArray alloc] init];
BOOL openDatabaseResult= sqlite3_open([databasePath UTF8String],&sqlite3Database);
if(openDatabaseResult==SQLITE_OK)
sqlite3_stmt *compiledStatement;
BOOL prepareStatementResult = sqlite3_prepare_v2(sqlite3Database,query,-1,&compiledStatement,NULL);
}
我正在学习这个 link 的 sqlite 教程:https://www.appcoda.com/sqlite-database-ios-app-tutorial/
提前致谢。
您的问题似乎是您忘记了在该行之前的 if 语句末尾的括号。
if(openDatabaseResult==SQLITE_OK)
{
sqlite3_stmt *compiledStatement;
BOOL prepareStatementResult = sqlite3_prepare_v2(sqlite3Database,query,-1,&compiledStatement,NULL);
}
我正在学习 iOS 的 sqlite 概念。在学习阶段我遇到了一个问题,问题是:
当我将 NSLog 放在 if 语句之后时,它没有给出任何错误。看图:
但是当我删除 NSLog 时编译器给我错误,见图:
为什么会出现这个错误我还没有找到。我的代码是:
-(void)runQuery:(const char *)query isQueryExecutable:(BOOL)queryExecutable{
sqlite3 *sqlite3Database;
NSString *databasePath= [self.documentsDirectory stringByAppendingPathComponent:self.databaseFileName];
if(self.arrResults != nil){
[self.arrResults removeAllObjects];
self.arrResults= nil;
}
self.arrResults =[[NSMutableArray alloc] init];
if(self.arrColumnNames != nil){
[self.arrColumnNames removeAllObjects];
self.arrColumnNames= nil;
}
self.arrColumnNames= [[NSMutableArray alloc] init];
BOOL openDatabaseResult= sqlite3_open([databasePath UTF8String],&sqlite3Database);
if(openDatabaseResult==SQLITE_OK)
sqlite3_stmt *compiledStatement;
BOOL prepareStatementResult = sqlite3_prepare_v2(sqlite3Database,query,-1,&compiledStatement,NULL);
}
我正在学习这个 link 的 sqlite 教程:https://www.appcoda.com/sqlite-database-ios-app-tutorial/
提前致谢。
您的问题似乎是您忘记了在该行之前的 if 语句末尾的括号。
if(openDatabaseResult==SQLITE_OK)
{
sqlite3_stmt *compiledStatement;
BOOL prepareStatementResult = sqlite3_prepare_v2(sqlite3Database,query,-1,&compiledStatement,NULL);
}