iOS数据库之查找功能的实现
首先引入文件:
libsqlite3.
FMDB(包含Global.m,Global.h文件)
关闭arc
用mesaSqlite创建一个数据库,引入文件中
其次:
首先,在Global.h文件中找到#define kDBName @"shuJu.db",如果你建立的数据库文件名为:liyongxing.db,那就将shuJu.db更改为liyongxing.db,然后再delegate里的self.window下添加一行代码copyMainBundleResourceToCacheDir(@"liyongxing.db");
OK,准备工作已经做好
再次,上代码:
创建一个增删改查的函数类:
//
// CaoZuoData.h
// shuJuKu
//
// Created by liyongxing on 13-7-31.
// Copyright (c) 2013年 liyongxing. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "FMDatabase.h"
@class baoCunData;
@interface CaoZuoData : NSObject
//创建一个数据库对象
@property (nonatomic ,strong) FMDatabase * sqlite3;
//创建一个数据中转站的对象,数据中转站就是临时存放数据,做传递用的,最好一个数据类单独创建一个
@property (nonatomic ,strong) baoCunData * baoCun;
//增添数据
-(void)insertData:(baoCunData * )data;
//删除数据
-(void)delete:(NSString *)data;
//更改数据
//查找数据
-(NSMutableArray*) selectAll
@end
.m文件中
//
// CaoZuoData.m
// shuJuKu
//
// Created by liyongxing on 13-7-31.
// Copyright (c) 2013年 liyongxing. All rights reserved.
//
#import "CaoZuoData.h"
#import "Global.h"
#import "baoCunData.h"
@implementation CaoZuoData
-(id)init
{
if (self==[super init])
{
self.sqlite3 = [FMDatabase databaseWithPath:dbPath()];
[self.sqlite3 open];
}
return self;
}
#pragma mark-----增添数据
-(void)insertData:(baoCunData * )data
{
[self.sqlite3 executeUpdate:@"INSERT INTO lyxShuJu(name,number) VALUES (?,?)",data.nameData,data.numberData];
NSLog(@"data.nameData == %@",data.nameData);
NSLog(@"numberData == %@",data.numberData);
}
#pragma mark-----删除数据
-(void)delete:(NSString *)data
{
}
#pragma mark-----更改数据
#pragma mark-----查找数据--将所有数据库中查找到的值放在一个变动数组中
-(NSMutableArray*) selectAll
{
//从数据库中调出所有值赋给字符串
NSString * query = @"SELECT * FROM lyxShuJu";
//将数据库中的数据放到一个集合类FMResultSet中
FMResultSet *set = [self.sqlite3 executeQuery:query];
//创建一个动态数组
NSMutableArray *dataArr = [[NSMutableArray alloc]init];
//将集合中的数据循环取出,并赋给变动数组,返回值为这个变动数组
while ([set next])
{
baoCunData * data = [[baoCunData alloc]init];
data.nameData =[set stringForColumn:@"name"];
data.numberData = [set stringForColumn:@"number"];
[dataArr addObject:data];
}
return dataArr;
}
@end
建立一个保存数据的类
//
// baoCunData.h
// shuJuKu
//
// Created by liyongxing on 13-7-31.
// Copyright (c) 2013年 liyongxing. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface baoCunData : NSObject
//一个姓名字符串
@property (nonatomic ,strong) NSString * nameData;
//号码字符串(号码中可能存在符号或者英文)
@property (nonatomic ,strong) NSString * numberData;
@end
.m中
//
// baoCunData.m
// shuJuKu
//
// Created by liyongxing on 13-7-31.
// Copyright (c) 2013年 liyongxing. All rights reserved.
//
#import "baoCunData.h"
@implementation baoCunData
-(id)init
{
if (self == [super init])
{
self.nameData = nil;
self.numberData = nil;
}
return self;
}
@end
//数据库的引用类
.h文件
//
// LYXViewController.h
// shuJuKu
//
// Created by liyongxing on 13-7-31.
// Copyright (c) 2013年 liyongxing. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface LYXViewController : UIViewController
@property(nonatomic ,strong) UITextField * nameFile;
@property (nonatomic ,strong) UITextField * numberFile;
@end
.m文件中
//
// LYXViewController.m
// shuJuKu
//
// Created by liyongxing on 13-7-31.
// Copyright (c) 2013年 liyongxing. All rights reserved.
//
#import "LYXViewController.h"
#import "baoCunData.h"
#import "FMDatabase.h"
#import "CaoZuoData.h"
@interface LYXViewController ()
@property (nonatomic ,strong) baoCunData * baoCunShuJu;
@property (nonatomic ,strong) CaoZuoData * sqlite;
@end
@implementation LYXViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//创建一个增删改查得类得对象
self.sqlite = [[CaoZuoData alloc]init];
//创建两个输入框
self.nameFile = [[UITextField alloc]initWithFrame:CGRectMake(50, 50, 150, 50)];
self.nameFile.backgroundColor = [UIColor greenColor];
[self.view addSubview:self.nameFile];
self.numberFile = [[UITextField alloc]initWithFrame:CGRectMake(50, 200, 150, 50)];
self.numberFile.backgroundColor = [UIColor redColor];
[self.view addSubview:self.numberFile];
UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(100, 80, 50, 40);
button.backgroundColor = [UIColor redColor];
[button addTarget:self action:@selector(baoCunData) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
-(void)baoCunData
{
self.baoCunShuJu= [[baoCunData alloc]init];
self.baoCunShuJu.nameData = self.nameFile.text;
self.baoCunShuJu.numberData = self.numberFile.text;
[self.sqlite insertData:self.baoCunShuJu];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
iOS数据库之查找功能的实现的更多相关文章
- 在你的ASP.NET MVC中使用查找功能
在程序中,使用查找功能是少之不了.今天在ASP.NET环境下演示一回. 在cshtml视图中,有三个文本框,让用户输入关键词,然后点击最右连的“搜索”铵钮,如果有结果将显示于下面. Html: 表格放 ...
- JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能
主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...
- IOS数据库FMDB增、删、改、查的使用【原创】
http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FM ...
- iOS数据库操作之coredata详细操作步骤
CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...
- source insight的查找功能
source insight是一款非常好的c语言的程序编辑器.方便对project管理,方便程序的阅读和编辑. 查找功能使用十分频繁.选项较多,与其他软件的查找功能也类似,以下对英文版的查找功能,做简 ...
- 个人永久性免费-Excel催化剂功能第80波-按条件查找数字,扩展原生查找功能
Excel的查找替换功能,只能对文本类数据查找较为得力,若需查找数字类型的数据,如查找大于100的数字,就无能为力,此篇Excel催化剂补足其短板. Excel数据类型知识背景介绍 用好Excel,必 ...
- SQL SERVER 数据库各版本功能对比
以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了.今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才 ...
- iOS之开发支付功能概述
前言:本随笔将对IOS开发的支付功能进行一个概述. 内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微 ...
- IOS开发之支付功能概述
前言:本随笔将对IOS开发的支付功能进行一个概述. 内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微 ...
随机推荐
- GetActiveView 返回 NULL 为 MDI 框架窗口
blog 在 MDI 应用程序中,MDI 主框架窗口(CMDIFrameWnd) 不具有与其相关联的视图.相反,每个单独的子窗口(CMDIChildWnd)具有与之关联的一个或多个视图.因此,对 MD ...
- 【Python Network】权威域名服务器级联查询
如果PyDNS库,跳过本地名称服务器,直接向权威名称服务器查询.如baidu.com查询.com域名服务器,并从各个域名服务器中查询下一即域名,并输出相关信息. #! /usr/bin/env pyt ...
- poj1691(dfs)
链接 dfs了 写得有点乱 #include <iostream> #include<cstdio> #include<cstring> #include<a ...
- BZOJ_1619_[Usaco2008_Nov]_Guarding_the_Farm_保卫牧场_(模拟+bfs)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1619 给出一张图每个点的高度,在一个点上安排守卫可以监视周围所有不高于于当前点的点.也就是类似 ...
- BZOJ_3207_花神的嘲讽计划1_(Hash+主席树)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=3207 给出一个长度为\(n\)的串,以及\(m\)个长度为\(k\)的串,求每个长度为\(k\ ...
- JAVASCRIPT中RegExp.$1是什么意思
RegExp 是javascript中的一个内置对象.为正则表达式. RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串,以此类推,RegExp. ...
- 从零开始学习jQuery (八) 插播:jQuery实施方案
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章属于临时插播, 用于介绍我在本公司的j ...
- BrnMall多店版网上商城正式发布
前些日子一直忙于多店版网上商城系统BrnMall的开发,工作比较多,所以博客断了.这几天项目完成了,时间比较自由,所以把这段时间总结的一些关于单店版BrnShop和多店版BrnMall区别写下来,希望 ...
- STL find() ,还是挺重要的
template<class InputIterator, class T> InputIterator find (InputIterator first, InputIterator ...
- [转]用C#实现的条形码和二维码编码解码器
条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...