IOS 下SQLite3数据库的连接工具类

IOS swift版 sqlite3详解 IOS中的SQLite3的封装与详细应用SQLite是一个开源的嵌入式关系数据库,特点是易使用、高效、安全可靠、可移植性强。IOS中的本地持久化存储NSUserDefault:一般用于存储小规模数据、业务逻辑弱的数据。keychain: 苹果提供的可逆存储,因为有着只要app不重装系统、可以同步iCloud的特性,一般用来对用户的标识符或者一些需要加密的小数据进行存储。归档:主要原理是对数据进行序列 阅读详情


声明:本代码是在xcode4.2下编写,如要在他之下版本下编译,需要修改一小部分代码及加上手动内存管理

    代码的主要用途是在IOS下面读取sqlite3的数据库。


本代码Demo以放到我个人的CSDN资源库里,可前往下载:http://download.csdn.net/detail/ch_soft/4020052 点击打开链接

默认的,还有一个资源分,本想免费的,但好像不能修改,只能重传,我就省的麻烦了。


一、使用方法

  sqliteHelper*sh=[[sqliteHelperalloc]init];

   sh.databasePath=path;

    if ([sh open]) {

        

        NSMutableArray *arr=[sh excelSql:query andParamCount:7];

        [shclose];

    }


一,源文件


//

//  sqliteHelper.h

//  TestSqlite

//

//  Created by ch_soft on 12-1-13.

//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.

//


#import<UIKit/UIKit.h>

#import"sqlite3.h"

@interface sqliteHelper :NSObject 

{    

}         

@property (strong,nonatomic)NSString *databaseName;

@property (strong,nonatomic)NSString *databasePath;

@property (nonatomic)sqlite3_stmt *statement;

-(BOOL)open;

-(void)close;


//query:是查新的SQl

//cout:是参数个数

// 如:query 为 select a,b,c from db;参数个是为3个(a,b,c)

-(NSMutableArray *) excelSql:(NSString *) query andParamCount:(NSInteger) cout;

@end




//

//  sqliteHelper.m

//  TestSqlite

//

//  Created by ch_soft on 12-1-13.

//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.

//


#import "sqliteHelper.h"

#import "sqlite3.h"

@implementation sqliteHelper


@synthesize databaseName;

@synthesize databasePath;

@synthesize statement;

static sqlite3 *database_ =nil;//定义个全局的变量

-(BOOL)open

{

    NSFileManager *fileManager = [NSFileManagerdefaultManager];

    BOOL find = [fileManager fileExistsAtPath:databasePath];//首先判断sqlite数据库文件是否存在

    if (find) {

        if (sqlite3_open([databasePathUTF8String], &database_) !=SQLITE_OK) {//如何打开数据库失败

            sqlite3_close(database_);

            NSLog(@"Error: open database error.");

            return NO;

        }

        return YES;

    }else

    {

        sqlite3_close(database_);

        NSLog(@"Error: open file error.");

        return NO;

    }

    return NO;

}

-(void)close

{

     sqlite3_finalize(statement);

     sqlite3_close(database_);

}


-(NSString*)getColumn:(NSInteger) index

{

    char *temp =(char*)sqlite3_column_text(statement, index);

    NSString * retValue=[NSStringstringWithUTF8String:temp];

    return retValue;

}


-(NSMutableArray *) excelSql:(NSString *) query andParamCount:(NSInteger) cout

{

    NSMutableArray * retArr=[NSMutableArrayarray];

    if(sqlite3_prepare_v2(database_, [queryUTF8String], -1, &statement,nil) == SQLITE_OK)

{

while(sqlite3_step(statement) == SQLITE_ROW)

{

            NSMutableArray * ary=[NSMutableArrayarray];

            for (int i=1; i<=cout; i++) {

                NSString * oneValue=[selfgetColumn:i];

                NSLog(@"one value is %@",oneValue);

                [ary addObject:oneValue];

            }

[retArr addObject:ary];

}

}

    return retArr;

}


@end



iOS Sqlite3 ​:定义或修改数据库结构(如表、索引、视图等),不涉及具体数据操作。这样,用户输入的数据被视为纯粹的数据,而不是SQL代码的一部分。直接将传入的SQL字符串发送给数据库引擎执行。​:对表中的数据进行增删改查操作。 阅读详情

相关推荐

SQLite3ODBC:Windows环境下SQLite与ODBC的连接驱动

SQLite3ODBC驱动程序是连接SQLite数据库与ODBC(开放数据库连接)接口的桥梁。它允许开发者使用各种编程语言和应用程序通过标准的ODBC API与SQLite数据库进行交互。作为一种轻量级的嵌入式数据库SQLite因其无需配置服务器、易于部署等特点在许多项目中被广泛应用。然而,虽然SQLite本身设计简单,但在某些复杂的项目中,通过ODBC驱动程序提供的高级功能和灵活性可以进一步提升SQLite的使用体验。

weixin_36300623的博客 1799

iOS sqlite 工具类

Note实体类 Node.h文件 #import @interface Note : NSObject //id @property (nonatomic, assign) int _id; //标题 @property (nonatomic, strong) NSString *title; //内容 @property (nonatomic, strong) NSString *

Recker_的专栏 1235

sqlite3连接工具.zip

sqlite3连接工具,可以通过命令行进行SQLite连接,进行查询,修改,删除操作

【Qt】三种操作sqlite3的方式及其三种多表连接

一、sqlite3与MySQL数据库区别:    1. 数据库类型    2. 数据处理规模    3. 并发性能    4. 功能特性    5. 安全性   二、连接多个表三种方式    总结:    1. 等值连接    2. 内连接(JOIN ON)    3. 外连接     (1)左外连接(LEFT JOIN 或 LEFT OUTER JOIN)     (2)右外连接(RIGHT JOIN 或 RIGHT OUTER JOIN)     (3

weixin_74154742的博客 2002

python连接sqlite3工具类

简单使用python链接sqlite3工具类,代码可根据场景自行抽象。

小小的木头人的博客 988

几款数据库连接工具

几款数据库连接工具 文章目录几款数据库连接工具1. 前言2. Navicat3. DBeaver4. DataGrip5. phpMyAdmin 1. 前言 我目前使用sqlite3和mysql数据库比较多,所以对数据库客户端的需求主要是支持多平台,至少可以连接管理这两个数据库,目前我找到如下几个,这里做下总结。 2. Navicat https://www.navicat.com.cn/ 支持Windows、Linux、MacOS;支持我需要的sqlite3、mysql,但收费而且比较贵,不得不说,用起

逍遥游的博客 7万+

Python3操作SQLite数据库

Python3操作SQLite数据库 SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系...

Joker-desire的博客 396

iOS入门-36Sqlite轻型数据库

概述 Sqlite轻型数据库。 建表 增、删、改、查 iOSSqlite封装库FMDB 创建,基本使用 示例 如何通过CocoaPods引入第三方库请参看“CocoaPods安装并使用”。 示例代码 ViewController.h #import <UIKit/UIKit.h> #import "FMDatabase.h" @interface ViewController :...

gongxiaoou的博客 257

iOS SQLite3

SQLite3是嵌入在iOS中的关系型数据库,对于存储大规模的数据很有效。SQLite3使得不必将每个对象都加到内存中。这篇文章将简单介绍一下如何使用SQLite3. 注:大部分SQLite3函数返回值为SQLITE_OK为成功,否则返回SQLITE_ERROR  (1)打开数据库(若数据库文件不存在,则创建之)  SQLITE_API int sqlite3_open( constchar

小邓笔记 2571

iOS sql 数据库管理工具

这个是一个sql管理工具,增删盖查一键搞定,拿来给大家分享。欢迎下载。

ios-轻量级数据库工具.zip

轻量级的数据库,功能:缓存数据,离线阅读;原理:每一个视图控制器是每一张表的名称。

iOS 数据库管理工具 AFSQLManager.zip

iOS 数据库管理工具 AFSQLManager ,AFSQLManager 能在 iOS 上很好的管理 SQL 和 SQLite d数据库,可以使用 ...

IOS数据库操作SQLite3使用详解

iPhone中支持通过sqlite3来访问iPhone本地的数据库。 具体使用方法如下 1:添加开发包libsqlite3.0.dylib 首先是设置项目文件,在项目中添加iPhone版的sqlite3数据库的开发包,在项目下的Frameworks点击右键,然后选择libsqlite3.0.dylib文件。 libsqlite3.0.dylib文件地址:  /Devel

huifeidexin_1的专栏 2万+

IOS SQLite3的使用

一、什么是SQLIte      SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了。它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快 二、数据库存储数据的步骤 1、新建一个数据库 2、新建一张表(table) 3、添加多个字段(column,列,属性) 4、添加多行记录(row,每行存放多个字段对应的值

爱家人,爱老婆,爱生活,爱coding,爱运动的有爱青年 2284

Python连接SQLite数据库

&#13; &#13; &#13; &#13; Python连接SQLite数据库&#13; &#13; &#13; &#13; &#13; &#13; SQLite数据库更多...

nostrud ipsum6 4080

IOS sqlite简单使用 以及为什么sqlite3_open无法创建数据库的原因

一、IOS数据存储方式 1.IOS中数据的存储方式有: 1)plist(NSArray、NSDictionary) 2)Preference(偏好设置,NSUserDefaulters) 3)NSCoding(NSKeyedArchiver) 4)sqlite3数据库) 5)Core Data 2.其中归档、偏好设置还有plist存储都无法存储大量的数据。故大批量数据通常使

smilefish12345的博客 3511

IOS中的sqlite数据库的使用

sqlite在移动客户端的开发非常常见,我之前做过一个ios项目中也用到,无耐技术水平有限,做的不是很好!但是一查网上这方面的总结不是很多,可能大牛们都忙着赚钱去了,我就献丑将我在项目中用到的东西贡献出来,有什么不好的地方请指教。值得说明的是我是看了某个网站贴出的demo而稍作改进,若此君不小心看到本篇小作,请指出,如有需要可以删除此文。下面开始介绍我的做的东西: 1.用到主要的函数有sqlit

wise 有时疯狂 有时忧郁 7784
上一篇: SQLite 入门教程(一)基本控制台(终端)命令
下一篇: glViewport()函数和glOrtho()函数的理解(转)
ch_soft
博客等级 码龄17年 828粉丝 166原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值