我正在为我的应用程序使用 FMDB 在 sqlite 中存储数据。这是我的代码
来自 AppDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
FMDatabase* db = [FMDatabase databaseWithPath:@"/tmp/sql.sqlite"];
if (![db open]) {
NSLog(@"Could not open db.");
}
NSLog(@"DB opened successfully");
// 此处未显示完整代码
}
我在 ViewController 中有以下代码
-(IBAction)insertButtonClicked:(id)sender
{ NSLog(@"in insertButtonCLicked");
[db beginTransaction];
[db executeUpdate:@"insert into sample (url) values (?)",@"google'"];
[db commit];
}
-(IBAction)displayButtonClicked:(id)sender
{
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 在 DisplayCLicked 中插入数据样本 [3092:20b]
2011-03-07 07:30:16.860 InsertDataSample[3092:20b] Rs 包含 => (null)
请帮助我的朋友。我在 FMDB 上工作了很多天,但我无法使用 FMDB。提前致谢