當我嘗試運行我的程序時出現以下錯誤。任何我爲什麼得到它的原因?我已經嘗試了幾個小時,但我放棄了。謝謝!iPhone和sqlite查詢的問題
錯誤:
2011-03-08 19:18:29.967 iPhoneApp即可[2561:207] *終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:「* + [NSString的stringWithUTF8String:]: NULL cString'
- (AnswerDTO *)findAnswerById:(NSInteger)primary_key {
AnswerDTO *dto = [[[AnswerDTO alloc] init] autorelease];
sqlite3_stmt *statement = nil;
const char *sql = "SELECT * FROM klb_answers WHERE id = 7;";
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) {
sqlite3_bind_int(statement, 1, primary_key);
NSInteger answerId = sqlite3_column_int(statement, ANSWER_ID);
NSInteger answerQuestionId = sqlite3_column_int(statement, ANSWER_QUESTION_ID);
NSString *answerDescription = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, ANSWER_DESCRIPTION)];
NSString *answerSerialNumber = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, ANSWER_SERIAL_NUMBER)];
NSInteger answerIsCorrect = sqlite3_column_int(statement, ANSWER_IS_CORRECT);
dto.answerID = answerId;
dto.questionID = answerQuestionId;
dto.description = answerDescription;
dto.serialNumber = answerSerialNumber;
if (answerIsCorrect == 0) {
dto.isCorrect = NO;
} else {
dto.isCorrect = YES;
}
} else {
NSLog(@"Noe feil med statementet");
}
sqlite3_finalize(statement);
return dto;
}
只有受虐者在Objective-C中使用SQLite C API。 [使用FMDB](http://github.com/ccgus/fmdb)或[CoreData](http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreData/cdProgrammingGuide.html) 。 – 2011-03-08 19:02:00