最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS中sqlite的詳細(xì)用法

 更新時(shí)間:2016年05月05日 09:42:35   作者:甘超波  
在iOS中,也同樣支持sqlite。目前有很多第三方庫(kù),封裝了sqlite操作,比如swift語(yǔ)言寫的SQLite.swift,對(duì)sqlite感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了ios中sqlite的具體操作方法,供大家參考,具體內(nèi)容如下

#import <sqlite3.h>

@interface ViewController ()
{
 sqlite3 *_sqldb;
}

@end

@implementation ViewController

- (void)viewDidLoad
{
 [super viewDidLoad];
 // Do any additional setup after loading the view, typically from a nib.
 [self OpenDb];
 [self createTable];
 [self insertData];
 [self FindData];
}


//打開(kāi)數(shù)據(jù)庫(kù)

-(void)OpenDb{
 
 NSArray *arrs= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 //創(chuàng)建數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)存在就直接打開(kāi),不存在就創(chuàng)建打開(kāi)
 NSString *path=[arrs lastObject] ;
 NSString *documentpath= [path stringByAppendingPathComponent:@"sql.db"];
 int reslut= sqlite3_open([documentpath UTF8String], &_sqldb);
 if(reslut==SQLITE_OK){
 NSLog(@"數(shù)據(jù)庫(kù)已被打開(kāi)");
 }
 
}
//通過(guò)數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建表
-(void)createTable{
 //不帶參數(shù)的sql語(yǔ)句
 const char* sql="create table if not exists t_person (id integer primary key autoincrement,name text,age integer);";
 char *error;
 //sqlite3_exec可以執(zhí)行一切不帶參數(shù)的SQL語(yǔ)句。如果是帶參數(shù)最好不用,防止SQL注入漏洞攻擊
 int resutl= sqlite3_exec(_sqldb, sql, NULL, NULL, &error);
 if(resutl==SQLITE_OK){
 NSLog(@"創(chuàng)建表成功");
 }
else{
 NSLog(@"創(chuàng)建表失?。?s",error);
}
}

//插入數(shù)據(jù)
-(void)insertData{
 //帶參數(shù)的SQL語(yǔ)句 "?"是帶參數(shù)的占位符
 const char * sql="insert into t_person(name,age) values(?,?);";
 sqlite3_stmt *stmp;
 //在執(zhí)行SQL語(yǔ)句之前檢查SQL語(yǔ)句語(yǔ)法,-1代表字符串的長(zhǎng)度
 int result= sqlite3_prepare_v2(_sqldb, sql, -1, &stmp, NULL);
 if(result==SQLITE_OK){
 NSLog(@"插入SQL語(yǔ)句語(yǔ)法沒(méi)有問(wèn)題");
 //綁定參數(shù),插入的參數(shù)的下標(biāo)是從1開(kāi)始
 sqlite3_bind_text(stmp, 1, "gcb", -1, NULL);
 sqlite3_bind_int(stmp, 2, 12);
 
 //執(zhí)行參參數(shù)的SQL語(yǔ)句,不能有exec
 int result=sqlite3_step(stmp);
 //插入進(jìn)行判斷,要用sqLite_Done來(lái)判斷
 if(result==SQLITE_DONE){
  NSLog(@"插入成功");
 }
 else{
  NSLog(@"插入失敗") ;
 }
 
 }
 else{
 NSLog(@"插入SQL語(yǔ)句有問(wèn)題");
 }
}

-(void)FindData{
 char *sql="select id,name,age from t_person";
 //查詢做好用step執(zhí)行
 sqlite3_stmt *stmt;
 //檢查SQL語(yǔ)句的語(yǔ)法問(wèn)題
 int result= sqlite3_prepare_v2(_sqldb, sql, -1, &stmt, NULL);
 if(result==SQLITE_OK){
 while (sqlite3_step(stmt)==SQLITE_ROW) {
  //查詢的列是0開(kāi)始 插入的列從1開(kāi)始
//  int xh=sqlite3_column_int(stmt, 0);
  int xh=sqlite3_column_int(stmt, 0);
  char * name=(char *)sqlite3_column_text(stmt, 1);
  int age=sqlite3_column_int(stmt, 2);
  NSLog(@"xh=%i-->name=%s-->age=%i",xh,name,age);
  
  
  
 }
 }
 else{
 NSLog(@"查詢SQL語(yǔ)法有誤");
 }

}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • IOS利用CocoaHttpServer搭建手機(jī)本地服務(wù)器

    IOS利用CocoaHttpServer搭建手機(jī)本地服務(wù)器

    這篇文章主要介紹了IOS利用CocoaHttpServer搭建手機(jī)本地服務(wù)器的步驟,幫助大家更好的理解和學(xué)習(xí)使用ios開(kāi)發(fā),感興趣的朋友可以了解下
    2021-04-04
  • 使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖實(shí)例詳解

    使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖實(shí)例詳解

    這篇文章主要介紹了使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖的實(shí)現(xiàn)過(guò)程,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-06-06
  • iOS體驗(yàn)性優(yōu)化之RTL適配右滑返回的實(shí)現(xiàn)

    iOS體驗(yàn)性優(yōu)化之RTL適配右滑返回的實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于iOS體驗(yàn)性優(yōu)化之RTL適配右滑返回實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • iOS之基于FreeStreamer的簡(jiǎn)單音樂(lè)播放器示例

    iOS之基于FreeStreamer的簡(jiǎn)單音樂(lè)播放器示例

    這篇文章主要介紹了iOS之基于FreeStreamer的簡(jiǎn)單音樂(lè)播放器示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • IOS LaunchScreen設(shè)置啟動(dòng)圖片與啟動(dòng)頁(yè)停留時(shí)間詳解

    IOS LaunchScreen設(shè)置啟動(dòng)圖片與啟動(dòng)頁(yè)停留時(shí)間詳解

    這篇文章主要介紹了IOS LaunchScreen設(shè)置啟動(dòng)圖片與啟動(dòng)頁(yè)停留時(shí)間詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • IOS中多手勢(shì)之間的沖突和解決辦法

    IOS中多手勢(shì)之間的沖突和解決辦法

    這篇文章主要介紹了IOS中多手勢(shì)之間的沖突和解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 阿里數(shù)據(jù)iOS端啟動(dòng)速度優(yōu)化心得

    阿里數(shù)據(jù)iOS端啟動(dòng)速度優(yōu)化心得

    本篇文章給大家詳細(xì)分析了阿里數(shù)據(jù)iOS端啟動(dòng)速度優(yōu)化的知識(shí)點(diǎn)以及心得,對(duì)此有興趣的朋友參考學(xué)習(xí)下吧。
    2018-02-02
  • IOS客戶端接入微信支付

    IOS客戶端接入微信支付

    對(duì)于一個(gè)ios的app,如果有一些虛擬的商品或者服務(wù)需要通過(guò)在線支付來(lái)收費(fèi)的話,一般有幾種主流的選擇。如果是通過(guò)APP調(diào)用支付平臺(tái)APP的思路的話,一個(gè)是調(diào)起支付寶客戶端,一個(gè)則是調(diào)起微信支付。本文給大家分享ios客戶端接入微信支付,需要的朋友可以參考下
    2015-09-09
  • iOS中的實(shí)時(shí)遠(yuǎn)程配置全紀(jì)錄

    iOS中的實(shí)時(shí)遠(yuǎn)程配置全紀(jì)錄

    這篇文章主要給大家介紹了關(guān)于iOS中實(shí)時(shí)遠(yuǎn)程配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 如何在自己的電腦上配置APNS推送環(huán)境

    如何在自己的電腦上配置APNS推送環(huán)境

    這篇文章主要介紹了如何在自己的電腦上配置APNS推送環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2015-11-11

最新評(píng)論

南汇区| 林甸县| 施秉县| 凉城县| 卓资县| 江门市| 海阳市| 文昌市| 秦皇岛市| 台州市| 潞城市| 蓬莱市| 龙海市| 渭南市| 岚皋县| 修文县| 清镇市| 襄垣县| 五家渠市| 五台县| 江城| 卓资县| 六盘水市| 昌吉市| 酉阳| 鞍山市| 临江市| 北辰区| 嘉鱼县| 海城市| 洛阳市| 同江市| 泰和县| 博湖县| 图们市| 绍兴市| 永城市| 顺平县| 青川县| 东城区| 合江县|