#import "ZYDataManager.h"
#import "JSSportModel.h"
FMDatabase *db = nil; @implementation ZYDataManager
+(NSString *)dbFilePath
{
return [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/data.sqlite"];
} +(FMDatabase *)getDataBase
{
//第一次打开数据库时,db对象不存在,需要创建
if (db == nil) {
db = [FMDatabase databaseWithPath:[self dbFilePath]];
}
return db;
}
//
+(void)createTable
{
NSLog(@"%@",NSHomeDirectory());
if (![db open]) {
NSAssert(NO, @"数据库打开失败");
}
//设置是否缓存数据
[db setShouldCacheStatements:YES]; //判断表是否存在
if (![db tableExists:@"people"])
{
if (![db executeUpdate:@"create table if not exists sportTable(id INTEGER PRIMARY KEY, date TEXT, sportArray TEXT);"])
{
NSLog(@"数据表创建失败");
}
} } //
+(void)addNewJSSport:(JSSportModel *)JSModel
{
if (![db open]) {
NSAssert(NO, @"数据库打开失败");
} if (![db tableExists:@"people"]) {
[self createTable];
}
//?对应的字段值必须是(OC中字符串)
if (![db executeUpdate:@"insert into sportTable (date, sportArray) values (?,?)",
JSModel.dateStr,JSModel.arrayStr])
{
NSLog(@"插入数据失败");
}
[db close];
} +(NSMutableArray *)getAllFriend
{
if (![db open]) {
NSAssert(NO, @"数据库打开失败");
} if (![db tableExists:@"sportTable"]) {
return nil;
} NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:];
FMResultSet *rs = [db executeQuery:@"select * from sportTable;"];
//遍历所有满足条件的好友记录
while([rs next])
{
JSSportModel *jssportModel = [[JSSportModel alloc] init];
// jssportModel.rowId = [rs intForColumn:@"id"];
jssportModel.dateStr = [rs stringForColumn:@"date"];
jssportModel.arrayStr = [rs stringForColumn:@"sportArray"];
//保存好友记录
[array addObject:jssportModel]; } [rs close];
[db close];
return array ;
}
//
//+(void)deleteOneFriend:(Friend *)aFriend
//{
// if (![db open]) {
// NSAssert(NO, @"数据库打开失败");
// }
//
// if (![db tableExists:@"people"]) {
// NSLog(@"数据表不存在,不要删除");
// }
//
// if([db executeUpdate:@"delete from people where id = ?", [NSNumber numberWithInt:aFriend.rowId]])
// {
// NSLog(@"id = %d的记录删除成功!", aFriend.rowId);
// }
// [db close];
//} @end
#import <Foundation/Foundation.h>
//#import "FMDatabase.h"
//#import "FMDatabaseAdditions.h"
//#import "Friend.h"
@class JSSportModel;
@interface ZYDataManager : NSObject
+(NSString *)dbFilePath;
+(FMDatabase *)getDataBase;
+(void)createTable;
+(void)addNewJSSport:(JSSportModel *)JSModel;
+(NSMutableArray *)getAllFriend;
//+(void)deleteOneFriend:(Friend *)aFriend;
@end

FMDB的操作的更多相关文章

  1. FMDB的操作(转),这篇比我写的好

    直接看吧 http://blog.devtang.com/blog/2012/04/22/use-fmdb/

  2. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

  3. iOS 数据库操作(使用FMDB)

    iOS 数据库操作(使用FMDB)   iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.Plausibl ...

  4. iOS学习笔记(十六)——数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  5. 数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  6. iOS数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  7. IOS FMDB 获取数据库表和表中的数据

    ios开发中,经常会用到数据库sqlite的知识,除了增,删,改,查之外,我们说说如何获取数据库中有多少表和表相关的内容. 前言 跟数据库使用相关的一般的增删改查的语句,这里就不做解释了.在网上有很多 ...

  8. FMDB 数据库

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  9. FMDB浅析

    一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQLite的API进行了封装,加上了面向对象的思想,让我们不必使用繁琐的C语言API函数,比起直接操作SQLite更加方便. FMDB优 ...

随机推荐

  1. Android JS打开原生应用

    设置App通过网页JS,唤醒打开本地应用. 在AndroidManifest 中,在应用启动页配置下,添加android:exported="true",设置category 添加 ...

  2. [20190524]使用use_concat or_expand提示优化.txt

    [20190524]使用use_concat or_expand提示优化.txt --//上午看了链接https://connor-mcdonald.com/2019/05/22/being-gene ...

  3. [Linux] deepin系统添加PHP仓库源出错Error: could not find a distribution template for Deepin/stable

    aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Deepi ...

  4. [PHP] 现代化PHP之路:composer的安装和升级

    1.下载一个脚本文件 wget https://getcomposer.org/installer 2.php执行下这个php脚本 php installer 3.把下载的文件转移到一个PATH环境变 ...

  5. go读取配置模块viper

    这个可以常常和cobra配合. 来个demo package main import ( "fmt" "github.com/spf13/viper" ) fu ...

  6. tomcat快速入门

    简介 Tomcat 是什么 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理 ...

  7. 攻防世界pwn之新手区

    涉及的工具有 Ubuntu 16.04 pwntools IDA gdb-peda 1.get_shell 连接就给flag,可以直接用nc连接,然后输入ls查看里面的目录,发现有名字叫flag文件, ...

  8. Django的下载与创建。

    一.下载 (1)下载命令. 在cmd中输入下载命令: pip3 install django==1.11.11 1.11.11是该版本号. (2)pycharm中下载 直接在pycharm中下载set ...

  9. 【转】java爬虫,爬取当当网数据

     背景:女票快毕业了(没错!我是有女票的!!!),写论文,主题是儿童性教育,查看儿童性教育绘本数据死活找不到,没办法,就去当当网查询下数据,但是数据怎么弄下来呢,首先想到用Python,但是不会!!百 ...

  10. 剑指Offer-22.从上往下打印二叉树(C++/Java)

    题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 分析: 按层次打印二叉树的节点,重点就是我们在打印一层节点的时候,同时按顺序保存好当前节点的下一层节点,也就是左节点和右节点,当此层节点 ...