中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

IOS之數據庫的查找,刪除,添加,更新
來源:易賢網 閱讀:1553 次 日期:2014-11-04 11:40:35
溫馨提示:易賢網小編為您整理了“IOS之數據庫的查找,刪除,添加,更新”,方便廣大網友查閱!

DB類之.h文件

#import <Foundation/Foundation.h>

#import <sqlite3.h>

@interface DB : NSObject

+(sqlite3 *)openDB;//打開數據庫

-(void)closeDB;//關閉數據庫

@end

DB類之.m文件

#import "DB.h"

#import <sqlite3.h>

static sqlite3 *db = nil;

@implementation DB

+(sqlite3 *)openDB

{

if(db)

{

return db;

}

//目標路徑

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES)objectAtIndex:0];

//原始路徑

NSString *filePath = [docPath stringByAppendingPathComponent:@"db.sqlite"];

NSFileManager *fm = [NSFileManager defaultManager];

if ([fm fileExistsAtPath:filePath] == NO)//如果doc下沒有數據庫,從bundle里面拷貝過來

{

NSString *bundle = [[NSBundle mainBundle]pathForResource:@"classDB" ofType:@"sqlite"];

NSError *err = nil;

if ([fm copyItemAtPath:bundle toPath:filePath error:&err] == NO) //如果拷貝失敗

{

NSLog(@" localizedDescription]);

}

}

sqlite3_open([filePath UTF8String], &db);

return db;

}

-(void)closeDB

{

if (db)

{

sqlite3_close(db);

}

}

@end

Person類.h文件

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property(nonatomic,retain)NSString *name,*phone;

@property(nonatomic,assign)int age,ID;

-(id)initWithName:(NSString *)name phone:(NSString *)phone age:(int)age ID:(int)ID;

+(NSMutableArray *)findAll;

+(int)count;

+(Person *)findByID:(int)ID;

+(NSMutableArray *)findByname:(NSString *)name;

+(void)addName:(NSString *)name phone:(NSString *)phone age:(int)age;

+(void)deleteByID:(int)ID;

+(void)updataName:(NSString *)name phone:(NSString *)phone age:(int)age forID:(int)ID;

@end

Person類.m文件

#import "Person.h"

#import "DB.h"

@implementation Person

@synthesize name,ID,phone,age;

-(id)initWithName:(NSString *)aName phone:(NSString *)aPhone age:(int)aAge ID:(int)aID

{

[super init];

if (self)

{

self.name = aName;

self.phone = aPhone;

self.age = aAge;

self.ID = aID;

}

return self;

}

-(NSString *)description

{

return [NSString stringWithFormat:@"id = %d name = %@ phone = %@ age = %d",self.ID,self.name,self.phone,self.age ];

}

+(NSMutableArray *)findAll

{

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;//創建一個聲明對象

int result = sqlite3_prepare_v2(db, "select * from classDB order by ID ", -1, &stmt, nil);

NSMutableArray *persons = nil;

if (result == SQLITE_OK)

{

persons = [[NSMutableArray alloc]init];

while (sqlite3_step(stmt) == SQLITE_ROW)

{

int ID = sqlite3_column_int(stmt, 0);

const unsigned char *name = sqlite3_column_text(stmt, 1);

const unsigned char *phone = sqlite3_column_text(stmt, 2);

int age = sqlite3_column_int(stmt, 3);

Person *p = [[Person alloc]initWithName:[NSString stringWithUTF8String:(const char *)name] phone:[NSString stringWithUTF8String:(const char *)phone] age:age ID:ID];

[persons addObject:p];

[p release];

}

}

else

{

persons = [[NSMutableArray alloc]init];

}

sqlite3_finalize(stmt);

return [persons autorelease];

}

+(int)count

{

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;

int result = sqlite3_prepare_v2(db, "select count(ID) from classDB", -1, &stmt, nil);

if (result == SQLITE_OK)

{

int count = 0;

if (sqlite3_step(stmt))

{

count = sqlite3_column_int(stmt, 0);

}

sqlite3_finalize(stmt);

return count;

}

else

{

sqlite3_finalize(stmt);

return 0;

}

}

+(Person *)findByID:(int)ID

{

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;

Person *p = nil;

int result = sqlite3_prepare_v2(db, "select * from classDB where ID = ?", -1, &stmt, nil);

if (result == SQLITE_OK)

{

sqlite3_bind_int(stmt, 1, ID);

if (sqlite3_step(stmt))

{

int ID = sqlite3_column_int(stmt, 0);

const unsigned char *name = sqlite3_column_text(stmt, 1);

const unsigned char *phone = sqlite3_column_text(stmt, 2);

int age = sqlite3_column_int(stmt, 3);

p = [[Person alloc]initWithName:[NSString stringWithUTF8String:(const char *)name] phone:[NSString stringWithUTF8String:(const char *)phone] age:age ID:ID];

}

}

sqlite3_finalize(stmt);

return [p autorelease];

}

+(NSMutableArray *)findByname:(NSString *)name

{

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;

int result = sqlite3_prepare(db, "select * from classDB where name = ?", -1, &stmt, nil);

NSMutableArray *persons = nil;

if (result == SQLITE_OK)

{

sqlite3_bind_text(stmt, 1, [name UTF8String], -1, nil);

persons = [[NSMutableArray alloc]init];

while (sqlite3_step(stmt) == SQLITE_ROW)

{

int ID = sqlite3_column_int(stmt, 0);

const unsigned char *name = sqlite3_column_text(stmt, 1);

const unsigned char *phone = sqlite3_column_text(stmt, 2);

int age = sqlite3_column_int(stmt, 3);

Person *p = [[Person alloc]initWithName:[NSString stringWithUTF8String:(const char *)name] phone:[NSString stringWithUTF8String:(const char *)phone] age:age ID:ID];

[persons addObject:p];

[p release];

}

}

else

{

persons = [[NSMutableArray alloc]init];

}

sqlite3_finalize(stmt);

return [persons autorelease];

}

//添加元素

+(void)addName:(NSString *)name phone:(NSString *)phone age:(int)age

{

NSString *str = [NSString stringWithFormat:@"insert into classDB(name,phone,age) values(];

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;

int result = sqlite3_prepare_v2(db, [str UTF8String],-1 ,&stmt , nil);

if (result == SQLITE_OK)

{

sqlite3_step(stmt);

}

sqlite3_finalize(stmt);

}

//根據ID刪除信息

+(void)deleteByID:(int)ID

{

NSString *str = [NSString stringWithFormat:@"delete from classDB where ID = %d",ID];

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;

int result = sqlite3_prepare_v2(db, [str UTF8String], -1, &stmt, nil);

if (result == SQLITE_OK)

{

sqlite3_step(stmt);

}

sqlite3_finalize(stmt);

}

//更新

+(void)updataName:(NSString *)name phone:(NSString *)phone age:(int)age forID:(int)ID

{

NSString *str = [NSString stringWithFormat:@"update classDB set name = = %d where ID = %d",name,phone,age,ID];

sqlite3 *db = [DB openDB];

sqlite3_stmt *stmt = nil;

int result = sqlite3_prepare_v2(db, [str UTF8String], -1, &stmt, nil);

if (result == SQLITE_OK)

{

sqlite3_step(stmt);

}

sqlite3_finalize(stmt);

}

@end

更多信息請查看IT技術專欄

更多信息請查看技術文章
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
午夜精品一区二区三区在线| 99精品视频网| 欧美日韩综合另类| 亚洲承认在线| 欧美日韩高清一区| 亚洲欧美日韩精品久久| 国产精品视频yy9099| 99精品国产高清一区二区| 久久综合九色| 亚洲深夜av| 国产农村妇女毛片精品久久麻豆 | 亚洲香蕉伊综合在人在线视看| 欧美大片在线观看一区二区| 激情文学综合丁香| 免费日韩精品中文字幕视频在线| 香蕉免费一区二区三区在线观看| 国产精品成人午夜| 亚洲激情一区二区| 国产麻豆日韩欧美久久| 欧美一区二区三区在线观看| 狠狠综合久久| 嫩模写真一区二区三区三州| 一本色道久久综合亚洲精品不| 亚洲第一精品夜夜躁人人躁| 国产精品久久久久久久久免费| 老色批av在线精品| 亚洲国产精品成人精品| 欧美精品在线一区| 亚洲欧美成aⅴ人在线观看| 欧美天堂在线观看| 欧美激情一区二区| 久久久久久综合网天天| 亚洲视频香蕉人妖| 夜夜精品视频| 亚洲三级免费观看| 国内精品伊人久久久久av一坑| 久久国产福利国产秒拍| 亚洲精品国精品久久99热一| 国产欧美日韩视频| 国产精品国内视频| 一区二区黄色| 亚洲黄色免费| 亚洲网站在线| 亚洲欧美春色| 亚洲一二三区精品| 国内外成人免费激情在线视频| 欧美午夜精品久久久| 欧美精品入口| 亚洲一区亚洲| 亚洲欧美日韩在线播放| 欧美h视频在线| 国产精品毛片大码女人| 国产一区清纯| 91久久精品久久国产性色也91| 国产欧美69| 欧美性一二三区| 国产乱码精品一区二区三区五月婷| 91久久精品网| 久久精品久久99精品久久| 午夜国产精品视频| 久久综合九色| 久久在线播放| 欧美精品日韩www.p站| 亚洲第一综合天堂另类专| 亚洲日韩欧美视频| 亚洲一区欧美二区| 亚洲九九精品| 亚洲国产一区二区在线| 亚洲天堂av图片| 欧美精品色网| 亚洲日本中文| 久久综合狠狠| 国产免费成人av| 一本综合精品| 久久国产毛片| 久久午夜激情| 亚洲激情视频在线| 亚洲一区二区欧美| 久久综合给合久久狠狠色| 欧美专区18| 国产精品美女午夜av| 亚洲福利久久| 午夜国产欧美理论在线播放| 欧美精品一区二区三区久久久竹菊| 欧美日韩国产一区精品一区| 狠狠色综合色综合网络| 亚洲第一毛片| 欧美另类综合| 一本色道**综合亚洲精品蜜桃冫| 欧美国产日韩一区| 国产视频欧美视频| 久久综合图片| 国产色综合天天综合网| 在线日本高清免费不卡| 国产日韩欧美在线看| 久久超碰97中文字幕| 在线不卡免费欧美| 久久亚洲国产精品一区二区| 国产亚洲欧美激情| 久久aⅴ国产紧身牛仔裤| 国产亚洲精品7777| 欧美噜噜久久久xxx| 在线亚洲欧美专区二区| 欧美精品一区二区三区在线看午夜 | 国产精品卡一卡二卡三| 中文久久精品| 国产欧美一区二区白浆黑人| 久久精品女人的天堂av| 欧美黑人多人双交| 日韩亚洲欧美成人| 国产精品一区一区| 久久av二区| 一区二区三区成人精品| 国产精品视频xxx| 久久久久国产精品www| 久久国产主播精品| 亚洲乱码国产乱码精品精天堂 | 国产精品美女午夜av| 欧美精选在线| 国产日韩欧美高清| 久久成人一区| 亚洲亚洲精品三区日韩精品在线视频 | 在线观看成人一级片| 国产欧美日韩综合一区在线观看 | 1769国产精品| 一区二区在线视频观看| 国产一区激情| 亚洲第一精品夜夜躁人人爽| 影音先锋日韩有码| 亚洲国产一区二区三区高清| 在线播放日韩| 亚洲欧洲一区二区天堂久久 | 国产日韩欧美在线播放| 国产精品一区二区三区成人| 国产精品久久久一区二区三区| 国产精品久久久久永久免费观看| 国产精品劲爆视频| 国产日产精品一区二区三区四区的观看方式 | 国产日韩欧美中文| 在线不卡免费欧美| 日韩一区二区电影网| 亚洲香蕉网站| 另类av一区二区| 欧美私人啪啪vps| 国语自产在线不卡| 亚洲人成网站影音先锋播放| 亚洲一区二区三区777| 欧美国产日韩一区二区| 久久综合狠狠综合久久综合88| 女女同性精品视频| 国产一区二区你懂的| 久久er99精品| 黄色成人av网| 欧美不卡福利| 亚洲线精品一区二区三区八戒| 久久av红桃一区二区小说| 国产日韩精品在线| 欧美主播一区二区三区美女 久久精品人 | 国产亚洲欧美日韩日本| 亚洲最新在线视频| 猛男gaygay欧美视频| 国产欧美日韩精品在线| 日韩视频中文| 欧美极品在线观看| 91久久国产自产拍夜夜嗨| 美日韩精品视频免费看| 最新国产拍偷乱拍精品| 亚洲欧美在线免费观看| 国产精品乱码妇女bbbb| 亚洲一区二区三区四区视频| 国产精品成人一区二区三区夜夜夜 | 蜜月aⅴ免费一区二区三区 | 欧美一区亚洲一区| 国产一二三精品| 久久久一区二区| 亚洲高清影视| 国产婷婷色一区二区三区在线| 午夜精品区一区二区三| 亚洲欧美日韩精品久久久久| 欧美一区二区三区在线观看视频| 久久久蜜桃精品| 欧美91大片| 国产精品丝袜白浆摸在线| 欧美三级韩国三级日本三斤| 欧美成人午夜激情| 亚洲欧美影音先锋| 午夜精品久久久久久99热| 久久精品国产99国产精品澳门| 久久久成人网| 欧美女激情福利| 国产日韩专区| 亚洲美女啪啪| 欧美jjzz| 亚洲人成网站精品片在线观看 | 这里只有精品丝袜| 欧美日韩一区三区| 久久精品国产综合精品| 99精品国产在热久久婷婷| 国产视频一区二区在线观看| 欧美一区在线直播|