我正在使用FMDB爲我的應用程序在sqlite中存儲數據。這是我的代碼FMDB結果集包含空iphone
從AppDelegate中
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
FMDatabase *分貝= [FMDatabase databaseWithPath:@ 「/ TMP/sql.sqlite」];
if (![db open]) {
NSLog(@"Could not open db.");
}
NSLog(@"DB opened successfully");
//全碼這裏未示出
}
我具有以下在的ViewController
-(IBAction)insertButtonClicked:(id)sender
代碼{ 的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)
2011-03-07 07:30:06.919 InsertDataSample[3092:20b] DB opened successfully
2011-03-07 07:30:13.341 InsertDataSample [3092:20B]在insertButtonCLicked
2011-03-07 07:30:16.860 InsertDataSample [3092:20B]在DisplayCLicked
2011 -03-07 07:30:16.860 InsertDataSample [3092:20b] Rs contains =>(null)
Plz幫助我的朋友。我從事FMDB工作很多天,但我無法使用FMDB。 在此先感謝
Thnkas答覆。但仍然存在同樣的問題,即Result集包含NULL。是否有必要在FMDB中以編程方式創建表? Bcoz我使用終端創建了sample.sqlite,並且只編寫了創建查詢並將其與libsqlite3.0.dylib一起添加到了我的資源中。 – iOSAppDev 2011-03-06 15:32:31
但是,新代碼添加後日志輸出是否顯示DB錯誤?是的,有必要在嘗試插入行之前創建「樣本」表。 (您也可以在executeUpdate後添加錯誤日誌輸出。) – 2011-03-06 15:56:07
即使添加新代碼後也沒有錯誤。我在viewDidLoad方法中創建了表。同樣的問題,記錄集爲空 – iOSAppDev 2011-03-06 16:40:27