SQlite 테이블에서 결과를 검색하고 Objective-C의 변수에 할당하려고합니다. 내 방식은 다음과 같습니다.SQLite 테이블에서 결과를 검색하고 Objective-C의 변수에 할당하는 방법은 무엇입니까?
- (void) readRestaurantsFromDatabase {
//Setup the database object
sqlite3 *database;
//Init the restaurant array
restaurants = [[NSMutableArray alloc] init];
//Open the database from the users filesystem
if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
//setup the SQL statement and compile it for faster access
const char *sqlStatement = "select * from restaurant";
sqlite3_stmt *compiledStatement;
if (sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
//loop through the results and add them to the feeds array
while (sqlite3_step(compiledStatement) == SQLITE_ROW) {
//read the data from the result row
NSString *aName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
NSString *aAddress = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 2)];
NSString *aCity = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 3)];
NSString *aProvinceState = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 4)];
NSString *aPostalZipCode = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 5)];
NSString *aCountry = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 6)];
NSString *aPhoneNumber = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 7)];
NSString *aHours = [NSString stringWithUTF8String:(char *)sqlite_coluumn_text(compiledStatement, 8)];
//double aLat
//double aLon
Restaurant *restaurant = [[Restaurant alloc] initWithName:aName address:aAddress city:aCity provinceState:aProvinceState postalZipCode:aPostalZipCode country:aCountry phoneNumber:aPhoneNumber hours:aHours latitude:aLat longitude:aLon];
//add the restaurant object to the restaurant array
[restaurants addObject:restaurant];
[restaurant release];
}
}
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
}
sqlite 테이블에서 문자열을 검색하는 데 문제가 없습니다. 내 혼란은 SQLite 테이블에서 두 배로 저장되는 위도 및 경도 변수를 검색하는 방법입니까? 위의 코드에서 double aLat 및 double aLon 변수에이 값을 어떻게 할당합니까?
길게'init' 메소드가 있는데, NSDictionary 만 전달하면 될까요? –
[FMDB] (http://github.com/ccgus/fmdb)를 사용하십시오. –