iOS FMDB自己封装的单例类
来源:互联网 发布:mac怎么打出@ 编辑:程序博客网 时间:2024/06/08 03:36
#import "FMDatabase.h"
@interface DataBaseHelper : NSObject
+ (DataBaseHelper *)sharedDataBaseHelper;
@property (nonatomic, strong) FMDatabase *db;
@interface DataBaseHelper : NSObject
+ (DataBaseHelper *)sharedDataBaseHelper;
@property (nonatomic, strong) FMDatabase *db;
@end
// Copyright (c) 2015年 张乾坤. All rights reserved.
#import "DataBaseHelper.h"
#import "Contact.h"
static DataBaseHelper*helper = nil;
@implementation DataBaseHelper
+ (DataBaseHelper *)sharedDataBaseHelper{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
helper = [[DataBaseHelper alloc] init];
[helper createDataBase];
[helper createTable];
});return helper;
}
//创建数据库
- (void)createDataBase{
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES)firstObject];
NSString *filePath = [doc stringByAppendingPathComponent:@"contacts.sqlite"];
//创建数据库
self.db = [FMDatabase databaseWithPath:filePath];
}
//创建表
- (void)createTable{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_contact (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, phoneNum text NOT NULL);"];
if (result) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}[self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//插入操作
- (void)insertContact:(Contact *)contact{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"INSERT INTO t_contact (name, phoneNum) VALUES (?,?);", contact.name, contact.phoneNum];
if (result) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}
[self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//删除
- (void)deleteContact:(Contact *)contact{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"delete from t_contact where phoneNum = ?",contact.phoneNum];
if (result) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}
[self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//修改数据
- (void)updateContact:(Contact *)contact
{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"UPDATE t_contact SET name = ?,phoneNum = ? WHERE phoneNum = ?",
contact.name,contact.phoneNum,contact.phoneNum];
if (result) {
NSLog(@"修改成功");
}
else
{
NSLog(@"修改失败");
} [self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//查询
- (NSArray *)queryContact{
NSMutableArray *arr = [NSMutableArray array];
if ([self.db open]) {
FMResultSet *set = [self.db executeQuery:@"SELECT * FROM t_contact"];
while ([set next]) {
NSInteger ID = [set intForColumn:@"id"];
NSString *name = [set stringForColumn:@"name"];
NSString *phoneNum = [setstringForColumn:@"phoneNum"];
Contact *contact = [[Contact alloc]initWithName:name phoneNum:phoneNum];
[arr addObject:contact];
}
}
return arr;
}
@end
#import "DataBaseHelper.h"
#import "Contact.h"
static DataBaseHelper*helper = nil;
@implementation DataBaseHelper
+ (DataBaseHelper *)sharedDataBaseHelper{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
helper = [[DataBaseHelper alloc] init];
[helper createDataBase];
[helper createTable];
});return helper;
}
//创建数据库
- (void)createDataBase{
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES)firstObject];
NSString *filePath = [doc stringByAppendingPathComponent:@"contacts.sqlite"];
//创建数据库
self.db = [FMDatabase databaseWithPath:filePath];
}
//创建表
- (void)createTable{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_contact (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, phoneNum text NOT NULL);"];
if (result) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}[self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//插入操作
- (void)insertContact:(Contact *)contact{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"INSERT INTO t_contact (name, phoneNum) VALUES (?,?);", contact.name, contact.phoneNum];
if (result) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}
[self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//删除
- (void)deleteContact:(Contact *)contact{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"delete from t_contact where phoneNum = ?",contact.phoneNum];
if (result) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}
[self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//修改数据
- (void)updateContact:(Contact *)contact
{
if ([self.db open]) {
BOOL result = [self.db executeUpdate:@"UPDATE t_contact SET name = ?,phoneNum = ? WHERE phoneNum = ?",
contact.name,contact.phoneNum,contact.phoneNum];
if (result) {
NSLog(@"修改成功");
}
else
{
NSLog(@"修改失败");
} [self.db close];
}else{
NSLog(@"数据库打开失败");
}
}
//查询
- (NSArray *)queryContact{
NSMutableArray *arr = [NSMutableArray array];
if ([self.db open]) {
FMResultSet *set = [self.db executeQuery:@"SELECT * FROM t_contact"];
while ([set next]) {
NSInteger ID = [set intForColumn:@"id"];
NSString *name = [set stringForColumn:@"name"];
NSString *phoneNum = [setstringForColumn:@"phoneNum"];
Contact *contact = [[Contact alloc]initWithName:name phoneNum:phoneNum];
[arr addObject:contact];
}
}
return arr;
}
@end
0 0
- iOS FMDB自己封装的单例类
- iOS FMDB自己封装的单例类
- iOS FMDB自己封装的单例类
- UI day 20 iOS FMDB自己封装的单例类
- iOS简单runtime封装fmdb的使用
- fmdb的封装
- FMDB的简单封装
- FMDB的简单封装
- FMDB的二次封装
- ios 对FMDB 简单封装
- 【ios开发】使用FMDB封装类的sqlite数据库操作
- FMDB-一个sqlite的封装
- FMDB-一个sqlite的封装
- 对fmdb简单的封装
- 对FMDB的封装JRDB
- iOS—SQLite 3封装库FMDB
- iOS FMDB的使用
- iOS FMDB的使用
- 输出 java.library.path
- 对关系模式的范式的认识
- 使用 RPi.GPIO 模块的脉宽调制(PWM)功能
- 了解Spring 组件扫描
- 应用程序本地化
- iOS FMDB自己封装的单例类
- ubuntu下wireshark简单使用
- Android Framework是怎么启动的?
- 漫谈人工智能读后感
- PHP中include和require的区别详解
- 安卓学习记录-java-day5
- 【悟】发版之夜
- 【PAT 】1024.Palindromic Number (25) 字符操作+大数相加
- android解决方法数超过65536问题