iphone - 在SQLite中插入数据时遇到问题?

标签 iphone objective-c sqlite fmdb

嗨,我正在使用FMDB从SQLITE数据库检索数据。

db  = [[FMDatabase alloc] initWithPath:path];   
[db open];  
FMResultSet *fResult= [db executeQuery:@"SELECT * FROM Users"];

aUsers = [[NSMutableArray alloc] init];
while([fResult next])
{
    userData = [fResult stringForColumn:@"Name"];       
    lblUsers.text=[lblUsers.text  stringByAppendingString:userData];
    [aUsers addObject:userData];        
    NSLog(@"The data is %@=",userData);
}   
[db close];
[aUsers release];
[db release];


所以我输出到这个程序是

萨钦·拉胡尔·德拉维德(Sachin Rahul Dravid)

但是当我尝试将数据插入数据库时​​,
我用下面的编码

   [db beginTransaction];
[db executeUpdate:@"insert into users (name) values('Balaji R')" ,nil];
[db commit];


现在,我再次从数据库中检索数据。
所以我得到了这样的输出

萨钦·拉胡尔(Sachin Rahul)Dravid Balaji R

但是当我退出我的应用程序然后再次建立它时,
现在我只看到旧记录

萨钦·拉胡尔·德拉维德(Sachin Rahul Dravid)

插入的录制的“ Balaji R”消失了!

有人知道我在哪里犯错了吗?请告诉我解决方案......

最佳答案

您正在尝试写入不允许的应用程序捆绑包目录。您必须将启动数据库复制到用户的Documents目录中,并将副本的路径传递到FMDB initWithPath:中。看一下iOS Application Programming Guide。看一下CoreDataBooks示例代码。 App Delegate在persistentStoreCoordinator方法中具有代码,您可以将其用作实现的指南。

关于iphone - 在SQLite中插入数据时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3477403/

相关文章:

iphone - 删除应用后,我可以使用相同的 bundle 软件ID吗?

ios - UITextField 不会将文本保存到 CoreData 中

iphone - 行数为 0 时 UITableView 中的 EXC_BAD_ACCESS 崩溃

objective-c - 在 Objective-C 中从 unsigned char * 到 char * 的定义行为

sql - 是否可以在 SQLite 查询中使用返回的列值作为表名?

iphone - 检测以兼容模式在 iPad 上运行的 iPhone 应用程序

ios - 在 UIScrollView 中滚动期间启用 UITableView 滚动

iphone - 是否可以从我的应用程序启动(将用户重定向到)iPhone 的 native 照片库应用程序,

objective-c - 使用 ARC 返回自动释放的 CFTypeRef

c# - MvvmCross 4 和 WPF SQLite 插件