FMDB를 사용하여 데이터베이스에서 데이터를 가져 오려고했지만 잠시 동안 노력했지만 EXC_BAD_ACCESS 예외가 발생하는 이유를 알 수 없습니다. 매개 변수는 NSInteger에서 전달되지만 SELECT 문에서이 매개 변수를 기록하거나 사용할 수는 없습니다. 내가 가지고있는 코드는 다음과 같습니다.NSInteger 및 int 예외 제공
-(SQLiteResult*) getClient:(bool)forceRefresh id:(NSString*)id forYear:(NSInteger)year {
SQLiteResult *res;
if(!forceRefresh){
NSMutableArray *hereditaments = [[NSMutableArray alloc] init];
NSLog([NSString stringWithFormat:@"SELECT * FROM Clients WHERE ID = %@ AND Year = %@", id, [NSString stringWithFormat:@"%@", year]]); // exception
NSLog([NSString stringWithFormat:@"SELECT * FROM Clients WHERE ID = %@ AND Year = %@", id, year]]); // also exception
FMResultSet *rs = [db executeQuery:[NSString stringWithFormat: @"SELECT * FROM Clients WHERE ID = ? AND Year = %@", year], id]; // also exception
FMResultSet *rs = [db executeQuery:[NSString stringWithFormat: @"SELECT * FROM Clients WHERE ID = ? AND Year = ?", id, year]]; // also exception
나는 그냥 문자열 대신 전달할 것입니다. SQL 문에서 올해를 사용할 수있는 안전한 방법이 있습니까? 한 해 변수로
매개 변수로 쿼리에 전달하는 대신 % d 형식으로 서식을 지정했습니다. 감사. – Echilon