首先引入文件:

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数据库之查找功能的实现的更多相关文章

  1. 在你的ASP.NET MVC中使用查找功能

    在程序中,使用查找功能是少之不了.今天在ASP.NET环境下演示一回. 在cshtml视图中,有三个文本框,让用户输入关键词,然后点击最右连的“搜索”铵钮,如果有结果将显示于下面. Html: 表格放 ...

  2. JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能

    主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...

  3. IOS数据库FMDB增、删、改、查的使用【原创】

    http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FM ...

  4. iOS数据库操作之coredata详细操作步骤

    CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...

  5. source insight的查找功能

    source insight是一款非常好的c语言的程序编辑器.方便对project管理,方便程序的阅读和编辑. 查找功能使用十分频繁.选项较多,与其他软件的查找功能也类似,以下对英文版的查找功能,做简 ...

  6. 个人永久性免费-Excel催化剂功能第80波-按条件查找数字,扩展原生查找功能

    Excel的查找替换功能,只能对文本类数据查找较为得力,若需查找数字类型的数据,如查找大于100的数字,就无能为力,此篇Excel催化剂补足其短板. Excel数据类型知识背景介绍 用好Excel,必 ...

  7. SQL SERVER 数据库各版本功能对比

    以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了.今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才 ...

  8. iOS之开发支付功能概述

    前言:本随笔将对IOS开发的支付功能进行一个概述. 内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微 ...

  9. IOS开发之支付功能概述

    前言:本随笔将对IOS开发的支付功能进行一个概述. 内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微 ...

随机推荐

  1. 公司的SVN服务器改变了IP地址,请问以前下载的代码如何同步,

    工作根目录上 右键->TortoiseSVN->Relocate,修改URL 更新前先备份!

  2. A9.linux驱动

    --- ---- ---

  3. 创建WCF的客户端

    How to: Create a Windows Communication Foundation Client To create a Windows Communication Foundatio ...

  4. WCF - Consuming WCF Service

    WCF services allow other applications to access or consume them. A WCF service can be consumed by ma ...

  5. 深入.net平台和c#编程 学习笔记

    深入.net平台和c#编程 一:理解.nteFramwork与c# 1.1,:Microsoft.net框架概述 1.2:.net框架结构 1.3.:c#语言概述 1.4:体验框架类库的强大功能 二: ...

  6. WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞

    漏洞名称: WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-06 ...

  7. 【转】VC中对文件的读写

    原文网址:http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2 ...

  8. boost总结之any

    boost中any库相对variant简单,any可以不限定类型,variant中对我们事先会定义好我们所需的类型,但是any无此限制,any的类型检测是在run time时.   boost::an ...

  9. as3+java+mysql(mybatis) 数据自动工具(一)

    在页游中,大部分的开发模式都是:客户端(as3)+ 服务端(java)+ 数据库(mysql). 在这3个部分会有一个相同的部分就是数据结构.比如一个用户数据,在客户端使用类 UserVO(as3) ...

  10. 【原】Spark中Stage的提交源码解读

    版权声明:本文为原创文章,未经允许不得转载. 复习内容: Spark中Job如何划分为Stage http://www.cnblogs.com/yourarebest/p/5342424.html 1 ...