html5中文学习网

您的位置: 首页 > ios » 正文

IOS之数据库的查找,删除,添加,更新_IOS开发

[ ] 已经帮助:人解决问题

 DB类之.h文件nfzHTML5中文学习网 - HTML5先行者学习网
#import <Foundation/Foundation.h>nfzHTML5中文学习网 - HTML5先行者学习网
#import <sqlite3.h>nfzHTML5中文学习网 - HTML5先行者学习网

@interface DB : NSObjectnfzHTML5中文学习网 - HTML5先行者学习网
+(sqlite3 *)openDB;//打开数据库nfzHTML5中文学习网 - HTML5先行者学习网
-(void)closeDB;//关闭数据库nfzHTML5中文学习网 - HTML5先行者学习网

@endnfzHTML5中文学习网 - HTML5先行者学习网

DB类之.m文件nfzHTML5中文学习网 - HTML5先行者学习网
#import "DB.h"nfzHTML5中文学习网 - HTML5先行者学习网
#import <sqlite3.h>nfzHTML5中文学习网 - HTML5先行者学习网
static sqlite3 *db = nil;nfzHTML5中文学习网 - HTML5先行者学习网
@implementation DBnfzHTML5中文学习网 - HTML5先行者学习网
+(sqlite3 *)openDBnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
if(db)nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
return db;nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
//目标路径nfzHTML5中文学习网 - HTML5先行者学习网
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES)objectAtIndex:0];nfzHTML5中文学习网 - HTML5先行者学习网
//原始路径nfzHTML5中文学习网 - HTML5先行者学习网
NSString *filePath = [docPath stringByAppendingPathComponent:@"db.sqlite"];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
NSFileManager *fm = [NSFileManager defaultManager];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if ([fm fileExistsAtPath:filePath] == NO)//如果doc下没有数据库,从bundle里面拷贝过来nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
NSString *bundle = [[NSBundle mainBundle]pathForResource:@"classDB" ofType:@"sqlite"];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
NSError *err = nil;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if ([fm copyItemAtPath:bundle toPath:filePath error:&err] == NO) //如果拷贝失败nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
NSLog(@"%@",[err localizedDescription]);nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_open([filePath UTF8String], &db);nfzHTML5中文学习网 - HTML5先行者学习网
return db; nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
-(void)closeDBnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
if (db) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_close(db); nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
@endnfzHTML5中文学习网 - HTML5先行者学习网
Person类.h文件nfzHTML5中文学习网 - HTML5先行者学习网
#import <Foundation/Foundation.h>nfzHTML5中文学习网 - HTML5先行者学习网

@interface Person : NSObjectnfzHTML5中文学习网 - HTML5先行者学习网
@property(nonatomic,retain)NSString *name,*phone;nfzHTML5中文学习网 - HTML5先行者学习网
@property(nonatomic,assign)int age,ID;nfzHTML5中文学习网 - HTML5先行者学习网

-(id)initWithName:(NSString *)name phone:(NSString *)phone age:(int)age ID:(int)ID;nfzHTML5中文学习网 - HTML5先行者学习网

+(NSMutableArray *)findAll;nfzHTML5中文学习网 - HTML5先行者学习网
+(int)count;nfzHTML5中文学习网 - HTML5先行者学习网
+(Person *)findByID:(int)ID;nfzHTML5中文学习网 - HTML5先行者学习网
+(NSMutableArray *)findByname:(NSString *)name;nfzHTML5中文学习网 - HTML5先行者学习网
+(void)addName:(NSString *)name phone:(NSString *)phone age:(int)age;nfzHTML5中文学习网 - HTML5先行者学习网
+(void)deleteByID:(int)ID;nfzHTML5中文学习网 - HTML5先行者学习网
+(void)updataName:(NSString *)name phone:(NSString *)phone age:(int)age forID:(int)ID;nfzHTML5中文学习网 - HTML5先行者学习网
@endnfzHTML5中文学习网 - HTML5先行者学习网
Person类.m文件nfzHTML5中文学习网 - HTML5先行者学习网
#import "Person.h"nfzHTML5中文学习网 - HTML5先行者学习网
#import "DB.h"nfzHTML5中文学习网 - HTML5先行者学习网

@implementation PersonnfzHTML5中文学习网 - HTML5先行者学习网
@synthesize name,ID,phone,age;nfzHTML5中文学习网 - HTML5先行者学习网
-(id)initWithName:(NSString *)aName phone:(NSString *)aPhone age:(int)aAge ID:(int)aIDnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
[super init];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if (self) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
self.name = aName;nfzHTML5中文学习网 - HTML5先行者学习网
self.phone = aPhone;nfzHTML5中文学习网 - HTML5先行者学习网
self.age = aAge;nfzHTML5中文学习网 - HTML5先行者学习网
self.ID = aID;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
return self;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
-(NSString *)descriptionnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
return [NSString stringWithFormat:@"id = %d name = %@ phone = %@ age = %d",self.ID,self.name,self.phone,self.age ];nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网

+(NSMutableArray *)findAllnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;//创建一个声明对象nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare_v2(db, "select * from classDB order by ID ", -1, &stmt, nil);nfzHTML5中文学习网 - HTML5先行者学习网
NSMutableArray *persons = nil;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
persons = [[NSMutableArray alloc]init];nfzHTML5中文学习网 - HTML5先行者学习网
while (sqlite3_step(stmt) == SQLITE_ROW)nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
int ID = sqlite3_column_int(stmt, 0);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
const unsigned char *name = sqlite3_column_text(stmt, 1);nfzHTML5中文学习网 - HTML5先行者学习网
const unsigned char *phone = sqlite3_column_text(stmt, 2);nfzHTML5中文学习网 - HTML5先行者学习网
int age = sqlite3_column_int(stmt, 3);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
Person *p = [[Person alloc]initWithName:[NSString stringWithUTF8String:(const char *)name] phone:[NSString stringWithUTF8String:(const char *)phone] age:age ID:ID];nfzHTML5中文学习网 - HTML5先行者学习网
[persons addObject:p];nfzHTML5中文学习网 - HTML5先行者学习网
[p release];nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
elsenfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
persons = [[NSMutableArray alloc]init];nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
return [persons autorelease];nfzHTML5中文学习网 - HTML5先行者学习网

 nfzHTML5中文学习网 - HTML5先行者学习网

nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
+(int)countnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare_v2(db, "select count(ID) from classDB", -1, &stmt, nil);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
int count = 0;nfzHTML5中文学习网 - HTML5先行者学习网
if (sqlite3_step(stmt))nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
count = sqlite3_column_int(stmt, 0);nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
return count;nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
elsenfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
return 0;nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
+(Person *)findByID:(int)IDnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;nfzHTML5中文学习网 - HTML5先行者学习网
Person *p = nil;nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare_v2(db, "select * from classDB where ID = ?", -1, &stmt, nil);nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_bind_int(stmt, 1, ID);nfzHTML5中文学习网 - HTML5先行者学习网
if (sqlite3_step(stmt))nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
int ID = sqlite3_column_int(stmt, 0);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
const unsigned char *name = sqlite3_column_text(stmt, 1);nfzHTML5中文学习网 - HTML5先行者学习网
const unsigned char *phone = sqlite3_column_text(stmt, 2);nfzHTML5中文学习网 - HTML5先行者学习网
int age = sqlite3_column_int(stmt, 3);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
p = [[Person alloc]initWithName:[NSString stringWithUTF8String:(const char *)name] phone:[NSString stringWithUTF8String:(const char *)phone] age:age ID:ID];nfzHTML5中文学习网 - HTML5先行者学习网
 nfzHTML5中文学习网 - HTML5先行者学习网

}nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
return [p autorelease];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
+(NSMutableArray *)findByname:(NSString *)namenfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网

sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare(db, "select * from classDB where name = ?", -1, &stmt, nil);nfzHTML5中文学习网 - HTML5先行者学习网
NSMutableArray *persons = nil;nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_bind_text(stmt, 1, [name UTF8String], -1, nil);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
persons = [[NSMutableArray alloc]init];nfzHTML5中文学习网 - HTML5先行者学习网
while (sqlite3_step(stmt) == SQLITE_ROW) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
int ID = sqlite3_column_int(stmt, 0);nfzHTML5中文学习网 - HTML5先行者学习网
const unsigned char *name = sqlite3_column_text(stmt, 1);nfzHTML5中文学习网 - HTML5先行者学习网
const unsigned char *phone = sqlite3_column_text(stmt, 2);nfzHTML5中文学习网 - HTML5先行者学习网
int age = sqlite3_column_int(stmt, 3);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
Person *p = [[Person alloc]initWithName:[NSString stringWithUTF8String:(const char *)name] phone:[NSString stringWithUTF8String:(const char *)phone] age:age ID:ID];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
[persons addObject:p];nfzHTML5中文学习网 - HTML5先行者学习网
[p release];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
elsenfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
persons = [[NSMutableArray alloc]init]; nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
return [persons autorelease];nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
//添加元素nfzHTML5中文学习网 - HTML5先行者学习网
+(void)addName:(NSString *)name phone:(NSString *)phone age:(int)agenfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
NSString *str = [NSString stringWithFormat:@"insert into classDB(name,phone,age) values('%@','%@',%d)",name,phone,age];nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare_v2(db, [str UTF8String],-1 ,&stmt , nil);nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_step(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
//根据ID删除信息nfzHTML5中文学习网 - HTML5先行者学习网
+(void)deleteByID:(int)IDnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
NSString *str = [NSString stringWithFormat:@"delete from classDB where ID = %d",ID];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare_v2(db, [str UTF8String], -1, &stmt, nil);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK)nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_step(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
//更新nfzHTML5中文学习网 - HTML5先行者学习网
+(void)updataName:(NSString *)name phone:(NSString *)phone age:(int)age forID:(int)IDnfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
NSString *str = [NSString stringWithFormat:@"update classDB set name = '%@',phone = '%@',age = %d where ID = %d",name,phone,age,ID];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3 *db = [DB openDB];nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_stmt *stmt = nil;nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
int result = sqlite3_prepare_v2(db, [str UTF8String], -1, &stmt, nil);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
if (result == SQLITE_OK) nfzHTML5中文学习网 - HTML5先行者学习网
{nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_step(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
sqlite3_finalize(stmt);nfzHTML5中文学习网 - HTML5先行者学习网
nfzHTML5中文学习网 - HTML5先行者学习网
}nfzHTML5中文学习网 - HTML5先行者学习网
@endnfzHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助