您的位置:首页 > 数据库

iOS 数据库FMDN 数据库的增 删 改 查 的 的基本操作

2015-06-17 00:00 369 查看
FMDB的下载地址 (https://github.com/ccgus/fmdb) 话不多说首先将这个 库加进来,在将加进来,OK 准备工作就绪上代码。

#import "DDViewController.h"
#import "FMDB.h"

@interface DDViewController ()
{
FMDatabase *db;
}

@end

@implementation DDViewController
/**
* 要先做要有个位置去存放数据库 ios下Document路径,Document为ios中可读写的文件夹并且要创建一个数据库的列表
*/
- (void)viewDidLoad
{
[super viewDidLoad];
// db = [FMDatabase new];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
//dbPath: 数据库路径,在Document中。
NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];
//创建数据库实例 db 这里说明下:如果路径中不存在"Test.db"的文件,sqlite会自动创建"Test.db"
db= [FMDatabase databaseWithPath:dbPath] ;
if (![db open]) {
NSLog(@"Could not open db.");
return ;
}
//为数据库设置缓存,提高查询效率
[db setShouldCacheStatements:YES];
// 1.创建一个表 表的名字 为User
[self creatTable];
//2.向表中添加数据
[self insertData:@"草帽" age:23];
//3.查看结果
[self ResultSet];

}
//创建一个表
-(void)creatTable
{
//创建表的时候 最好判断下自己的之前的工作有么有做好
if (!db) {
NSLog(@"数据库不存在");
}
if (![db open]) {
[db open];
}
//判断是否存在这张名字为User的表 如果没有 创建
if (![db tableExists:@"User"]) {
//创建一个名为User的表,有两个字段分别为string类型的Name,integer类型的 Age
[db executeUpdate:@"CREATE TABLE User (Name text,Age integer)"];
// [self insertData:@"草帽" age:24];

}
}
//插入数据
-(void)insertData:(NSString *)name age:(int)age
{
//插入数据使用OC中的类型 text对应为NSString integer对应为int的整型
[db executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",name,[NSNumber numberWithInt:age]];

}
//查询结果
-(void)ResultSet
{
//返回数据库中第一条满足条件的结果
NSString *aa=[db stringForQuery:@"SELECT Name FROM User WHERE Age = ?",@"20"];
NSLog(@"aa is %@",aa);

FMResultSet *rs=[db executeQuery:@"SELECT * FROM User"];
// rs=[db executeQuery:@"SELECT * FROM User WHERE Age = ?",@"23"];
while ([rs next]){
NSLog(@"%@ %@",[rs stringForColumn:@"Name"],[rs stringForColumn:@"Age"]);
}
[rs close];

}
//修改表内容
-(void)Modify
{
[db executeUpdate:@"UPDATE User SET Name = ? WHERE Name = ? ",@"李四",@"张三"];
}
- (void)didReceiveMemoryWarning

{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  基础 sql