我很困惑为什么SELECT语句不能正常工作。它不会给我任何错误,只是返回null。我知道它正确写入了字符串,并且正确的字符串在那里,只是没有正确读取。据我所知,一切都是正确的,因为我对许多与此类似的其他方法/功能使用相同的SQLstmt“方法”。这一点对于为什么它不起作用没有意义。
- (NSString *)returnNote {
selStmt=nil;
NSLog(@"Reading note");
NSString *SQLstmt = [NSString stringWithFormat:@"SELECT 'Notes' FROM '%@' WHERE Exercises = '%@';", currentRoutine, currentExercise];
// Build select statements
const char *sql = [SQLstmt UTF8String];
if (sqlite3_prepare_v2(database, sql, -1, &selStmt, NULL) != SQLITE_OK) {
selStmt = nil;
}
// Building select statement failed
if (!selStmt) {
NSAssert1(0, @"Can't build SQL to read Exercises [%s]", sqlite3_errmsg(database));
}
NSString *note = [NSString stringWithFormat:@"%s", sqlite3_column_text(selStmt, 0)];
sqlite3_reset(selStmt); // reset (unbind) statement
return note;
}
最佳答案
您不是在呼叫sqlite3_step。该语句从不执行。