FMDB的简单介绍,和数据库增删改查的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了FMDB的简单介绍,和数据库增删改查的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3569字,纯文字阅读大概需要6分钟。
内容图文
#import <Foundation/Foundation.h>
#import "Book.h"
#import "FMDatabase.h"
@interface FMDBBookHandle : NSObject
+(instancetype)sharedFMDB;
//创建增删改查单例
-(void)insertBook:(Book *)book;
-(void)deleteBook:(Book *)book;
-(void)updateBook:(Book *)book;
-(NSMutableArray *)selectAll;
//上文的book是模型类,用来传值。
#import "FMDBBookHandle.h"
#import "FMResultSet.h"
//实现上文我们所写的单例方法
static FMDBBookHandle *fmBook;
static FMDatabase *fmdb;
@implementation FMDBBookHandle
+(instancetype)sharedFMDB
{
if (!fmBook) {
fmBook = [[FMDBBookHandle alloc]init];
[fmBook initFMDB];
}
return fmBook;
}
+(instancetype)allocWithZone:(struct _NSZone *)zone
{
if (!fmBook) {
fmBook = [super allocWithZone:zone];
}
return fmBook;
}
-(id)mutableCopy
{
return self;
}
-(id)copy
{
return self;
}
-(void)initFMDB
{
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *path = [docPath stringByAppendingPathComponent:@"chenrui.sqlite"];
NSLog(@"%@",path);
fmdb = [FMDatabase databaseWithPath:path];
if ([fmdb open]) {
[fmdb executeUpdate:@"CREATE TABLE book(idd INTEGER PRIMARY KEY AUTOINCREMENT , name TEXT, author TEXT, price TEXT)"];
[fmdb close];
}
else
NSLog(@"创建数据表失败");
}
-(NSMutableArray *)selectAll
{
NSMutableArray *arr = [NSMutableArray array];
[fmdb open];
FMResultSet *fmSet = [[FMResultSet alloc]init];
fmSet = [fmdb executeQuery:@"SELECT * FROM book"];
while ([fmSet next]) {
int idd = [fmSet intForColumn:@"idd"];
NSString *name = [fmSet stringForColumn:@"name"];
NSString *author = [fmSet stringForColumn:@"author"];
NSString *price = [fmSet stringForColumn:@"price"];
Book *b = [[Book alloc]init];
b.idd = idd;
b.name = name;
b.author = author;
b.price = price;
NSLog(@"id = %d",idd);
[arr addObject:b];
}
[fmdb close];
return arr;
}
-(void)insertBook:(Book *)book
{
BOOL flag = false;
NSArray *arrBook = [self selectAll];
for (Book *b in arrBook) {
if ([b.name isEqualToString:book.name ] && [b.author isEqualToString:book.author] && [b.price isEqualToString:book.price]) {
flag = true;
}
}
if (flag) {
NSLog(@"数据相同");
}
else
{
[fmdb open];
BOOL addFlag = [fmdb executeUpdate:@"INSERT INTO book VALUES(null,?,?,?)",book.name,book.author,book.price ];
if (addFlag) {
NSLog(@"添加成功");
}
else
{
NSLog(@"添加失败");
}
[fmdb close];
}
}
-(void)deleteBook:(Book *)book
{
[fmdb open];
NSString *sql = [NSString stringWithFormat:@"DELETE FROM book WHERE idd = %d",book.idd];
BOOL deleteFlag = [fmdb executeUpdate:sql];
if (deleteFlag) {
NSLog(@"删除成功");
}
else
NSLog(@"删除失败");
[fmdb close];
}
-(void)updateBook:(Book *)book
{
[fmdb open];
NSString *sql = [NSString stringWithFormat:@"UPDATE book SET name = ‘%@‘,author = ‘%@‘,price = ‘%@‘ WHERE idd = %d",book.name,book.author,book.price,book.idd];
bool updateFlag = [fmdb executeUpdate:sql];
if (updateFlag) {
NSLog(@"修改成功");
}
else
NSLog(@"修改失败");
[fmdb close];
}
@end
FMDB的简单介绍,和数据库增删改查的使用
标签:
本文系统来源:http://www.cnblogs.com/nian0099/p/5138229.html
内容总结
以上是互联网集市为您收集整理的FMDB的简单介绍,和数据库增删改查的使用全部内容,希望文章能够帮你解决FMDB的简单介绍,和数据库增删改查的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。