내 응용 프로그램에 FMDB를 사용하여 sqlite에 데이터를 저장합니다. 여기 내 코드는FMDB 결과 세트에 null이 있습니다. iphone
AppDelegate에에서- (void)applicationDidFinishLaunching:(UIApplication *)application
{
FMDatabase * dB = [FMDatabase databaseWithPath : @ "/ tmp를/sql.sqlite"];
if (![db open]) {
NSLog(@"Could not open db.");
}
NSLog(@"DB opened successfully");
// 전체 코드는
}
내가
-(IBAction)insertButtonClicked:(id)sender
의 ViewController
코드 다음 한 여기에 표시되지 { NSLog (@ "insertButtonCLicked에서");[db beginTransaction];
[db executeUpdate:@"insert into sample (url) values (?)",@"google'"];
[db commit];
}
- (IBAction를가) displayButtonClicked (ID) 보낸 사람
{
NSLog(@"in DisplayCLicked");
FMResultSet *rs = [db executeQuery:@"select url from sample"];
NSLog(@"Rs contains => %@",rs);
while([rs next])
{
NSLog(@"%@",[rs stringForColumn:@"url"]);
}
[rs close];
}
내가이 코드를 실행하면 내가 같은 RS는 null를 얻을 다음에 표시된 (이것은 콘솔의 o/p 임)
012 30 :2011-03-07 07:30:06.919 InsertDataSample[3092:20b] DB opened successfully
2011-03-07 07 3,516,InsertDataSample 13.341 [3092 : 20B] insertButtonCLicked
에2011-03-07 07 : 30 : 16.860 InsertDataSample [3092 : 20B] DisplayCLicked
에2,011 -03-07 07 : 30 : 16.860 InsertDataSample [3092 : 20b] R에 => (null)
Plz 나를 도와주세요. 나는 여러 날부터 FMDB에서 일하고있다. 그러나 나는 FMDB를 사용할 수 없다. 미리 감사드립니다.
Thnkas :
이 출력을 생산했다. 그러나 결과 집합에 NULL이 포함되어있는 경우에도 여전히 동일한 문제가 발생합니다. FMDB에서 프로그램 적으로 테이블을 생성해야합니까? Bcoz 터미널을 사용하여 sample.sqlite를 만들고 쿼리 작성 만하고 내 리소스 libsqlite3.0.dylib에 해당 파일을 추가했습니다. – iOSAppDev그러나 새 코드가 추가되면 로그 출력에 DB 오류가 표시됩니까? 그리고 네, 행을 삽입하기 전에 'sample'테이블을 생성해야합니다. (executeUpdate 후에 오류 로그 출력을 추가 할 수도 있습니다.) –
새 코드를 추가 한 후에도 오류가 없습니다. viewDidLoad 메서드에서 테이블을 만들었습니다. 여전히 동일한 문제, 레코드 세트가 null입니다. – iOSAppDev