数据库和3G的结合使用
//
// 设备数据管理类
#import <Foundation/Foundation.h>
#import "DeviceInfo.h"
@interface DeviceDataManager : NSObject
{
NSMutableArray *dataArray;
}
+(DeviceDataManager *)instance;
-(NSMutableArray *)allDeviceData;//返回所有本地存储的设备
-(DeviceInfo *)getDeviceInfoWith:(NSString *)mac;//根据mac地址返回该设备的信息
-(BOOL)insertOrReqlaceSignalDevice:(DeviceInfo *)devInfo;//插入或修改指定的设备信息
-(BOOL)deleteDeviceWith:(NSString *)mac;//删除指定mac地址的设备
@end
//
// DeviceDataManager.m
// SmartHomeWIFI
//
// Created by 深圳市 秀软科技有限公司 on 14-2-20.
// Copyright (c) 2014年 huhuaxiang. All rights reserved.
//
#import "DeviceDataManager.h"
#import "SQLdataManger.h"
static DeviceDataManager *devInfoManager;
@implementation DeviceDataManager
-(id)init
{
if(self=[superinit])
{
}
returnself;
}
+(DeviceDataManager *)instance
{
if(!devInfoManager)
devInfoManager=[[DeviceDataManageralloc]init];
returndevInfoManager;
}
-(NSMutableArray *)allDeviceData
{
if(!dataArray||dataArray.count<1)
[selfdataArrayInit];
returndataArray;
}
-(DeviceInfo *)getDeviceInfoWith:(NSString *)mac
{
for (DeviceInfo *info indataArray) {
if([info.mac isEqualToString:mac])
return info;
}
returnnil;
}
-(BOOL)insertOrReqlaceSignalDevice:(DeviceInfo *)devInfo
{
if(!devInfo)return NO;
BOOL flag=[[SQLdataMangerinstance]insertOrReqlaceSignalDevice:devInfo];
if(flag)
{
//如果存在则删除原来的,更新现在的
DeviceInfo *info;
BOOL exite=NO;
for (int i=0; i<dataArray.count; i++) {
info=[dataArray objectAtIndex:i];
if([info.mac isEqualToString:devInfo.mac])
{
info=devInfo;
exite=YES;
}
}
if(!exite)
[dataArray addObject:devInfo];
}
return flag;
}
-(BOOL)deleteDeviceWith:(NSString *)mac
{
BOOL flag=[[SQLdataMangerinstance]deleteTableDataWithMAC:mac];
if(flag)
{
for (DeviceInfo *info in dataArray) {
if([info.mac isEqualToString:mac])
[dataArray removeObject:info];
}
}
return flag;
}
-(void)dataArrayInit
{
NSArray *dataA=[[SQLdataMangerinstance]queryDeviceInfoTable];
dataArray=[[NSMutableArrayalloc]initWithArray:dataA];
}
@end
数据库和3G的结合使用的更多相关文章
- 利用Navicat高效率postgresql转mysql数据库
本人很喜欢postgresql数据库,也一直认为postgresql比mysql要更好更强大. 可生态环境太差了,无奈,最近要把一个小站转成mysql数据库. 小站主要表数据110万,pg_dump备 ...
- 织梦cms PHPcms 帝国cms比较
现在建网站不需要请程序员从基础的程序开发做起了,有专业的建站工具,CMS是使用最广泛的建站工具.CMS是Content Management System 现在建网站不需要请程序员从基础的程序开发做起 ...
- 对帝国cms、dedecms、phpcms等负载测试总结
来自:http://www.chinaz.com/web/2013/0729/311360.shtml 担心被骂,本不想写这篇文章.犹豫良久,最终还是决定写.希望能够帮助到一些朋友,认识到数据库索引正 ...
- JSP应用开发 -------- 电纸书(未完待续)
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...
- EF里查看/修改实体的当前值、原始值和数据库值以及重写SaveChanges方法记录实体状态
本文目录 查看实体当前.原始和数据库值:DbEntityEntry 查看实体的某个属性值:GetValue<TValue>方法 拷贝DbPropertyValues到实体:ToObject ...
- MVC Code First 自动生成数据库
1.新建一个MVC项目
- TPC-H生成.tbl文件导入postgresql数据库的坑
数据库project好好的不用主流的MySQL和Microsoft server而要求用听都没听过的postgresql (当然,可能你三个都没听过) 这里的坑主要是把生成的那八张.tbl的表导入pg ...
- IP地址数据库-ISP运营商列表(2017年1月)
IP地址数据库 微信号:qqzeng-ip [全球旗舰版][国内精华版][国外拓展版][英文版][掩码版] http://qqzeng.com 中国大陆:三大基础运营商 中国电信中国联通中国 ...
- Hibernate映射文件创建和删除触发器,存储过程等数据库对象
创建表,触发器,和存储过程等数据库对象,这里一定要用create 在hibernate.cfg.xml文件中
随机推荐
- oracle基础学习
一.创建数据库用户 create user myaccount identified by mypassword;(my+account表示 账号,my+password表示 密码) 二.授予用户权限 ...
- 使用nodejs调用微信发送红包
前置条件:申请微信发送红包的账户及其权限 依赖 blueimg-md5和 xmlreader 库 /common/weixin.js 源码 /** * Created by chent696 on 2 ...
- bzoj3600: 没有人的算术
题意:太难说了..手动去看吧反正不是权限题. 膜拜VFK大爷的神题! 其实一开始思路挺清楚的,如果我们能做到用一个实数去代表"数",这就是裸的动态区间最值查询. 关键是怎么用实数去 ...
- Excel 行列转置 解决竖向拉,字母跟着递增的问题
今天工作中遇到需要将Excel行列转置涉及到的数据单元格一共几千个 查询网上说可以通过复制粘贴单元格,粘贴选项中转置一项实现,但是所涉及的sheet页中,数据格式和单元格格式各不一样,转置失败! 怎么 ...
- LeetCode 177 Nth-Highest Salary mysql,取第n条数据,limit子句 难度:1
https://leetcode.com/problems/nth-highest-salary/ ATTENTION:limit 子句只能接受int常量,不能接受运算式 CREATE FUNCTIO ...
- php翻页
<?php$conn = mysql_connect("localhost","root","") or die("连接数据 ...
- AngularJS - Passing data between pages
You need to create a service to be able to share data between controllers. app.factory('myService', ...
- SharePoint Calculated Columns 分类: Sharepoint 2015-07-09 01:49 8人阅读 评论(0) 收藏
SharePoint Calculated Columns are powerful tools when creating out-of-the-box solutions. With these ...
- JQuery中$.ajax()方法参数都有哪些?
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...
- rails 常用的验证方法 validates (转)
Agile Web Development with Rails 17.4 validation validate 在save的时候激活validate_on_create ...