日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

IOS sqlite数据库增删改查

發(fā)布時間:2025/4/16 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS sqlite数据库增删改查 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.簡介

簡單封裝sqlite數(shù)據(jù)庫操作類 BaseDB 用于完成對sqlite的增刪改查,使用前先導入libsqlite3.0.dylib庫

2.BaseDB.h

// // BaseDB.h // SqliteDemo // // Created by 趙超 on 14-8-26. // Copyright (c) 2014年 趙超. All rights reserved. //#import <Foundation/Foundation.h> #import "sqlite3.h"@interface BaseDB : NSObject/*** 創(chuàng)建一個表* sql:執(zhí)行的SQL語句* dataName:數(shù)據(jù)庫名稱*/-(void) createTable:(NSString*)sql dataBaseName:(NSString*) dataName; /*** 執(zhí)行SQL語句,主要完成增加、修改、刪除* sql:執(zhí)行的SQL語句* params:SQL語句中的參數(shù)* dataName:數(shù)據(jù)庫名稱*/ -(BOOL) execSql:(NSString*)sql parmas:(NSArray*) params dataBaseName:(NSString*)dataName; /*** 選擇數(shù)據(jù)* sql:查詢的SQL語句* params:查詢SQL語句中的參數(shù)* dataName:查詢數(shù)據(jù)庫名稱*/-(NSMutableArray*) selectSql:(NSString*)sql parmas:(NSArray*) params dataBaseName:(NSString*)dataName;@end 創(chuàng)建的數(shù)據(jù)庫文件位于?/Users/zhaochao/Library/Application Support/iPhone Simulator/7.1/Applications/07D17328-B63C-4D87-9B6C-03AA5CD681EA/Documents/zhaochao.sqlite, 就是?NSString *fileName=[NSHomeDirectory() stringByAppendingFormat:@"/Documents/%@",name]; 這個目錄。文件可以直接用SQLiteManager軟件打開,也可以在firefox瀏覽器中安裝sqlitemanager插件打開,如下圖

3.BaseDB.m

// // BaseDB.m // SqliteDemo // // Created by 趙超 on 14-8-26. // Copyright (c) 2014年 趙超. All rights reserved. //#import "BaseDB.h" @implementation BaseDB/** 獲取沙盒目錄* name:追加的目錄aa**/ -(NSString*) DataBaseName:(NSString *) name {NSString *fileName=[NSHomeDirectory() stringByAppendingFormat:@"/Documents/%@",name];return fileName; } /*** 選擇數(shù)據(jù)* sql:查詢的SQL語句* params:查詢SQL語句中的參數(shù)* dataName:查詢數(shù)據(jù)庫名稱*/-(NSMutableArray*) selectSql:(NSString *)sql parmas:(NSArray *)params dataBaseName:(NSString *)dataName{sqlite3 *sqlite=nil;sqlite3_stmt *stmt=nil;//打開數(shù)據(jù)庫NSString *fileName=[self DataBaseName:dataName];int result= sqlite3_open([fileName UTF8String], &sqlite);if (result!=SQLITE_OK) {NSLog(@"打開失敗");return nil;}const char* sqlCh=[sql UTF8String];//編譯SQL語句sqlite3_prepare_v2(sqlite, sqlCh, -1, &stmt, NULL);//綁定參數(shù)for (int i=0; i<params.count; i++) {NSString *param=[params objectAtIndex:i];sqlite3_bind_text(stmt, i+1, [param UTF8String], -1, NULL);}//執(zhí)行查詢語句result=sqlite3_step(stmt);NSMutableArray *resultData=[NSMutableArray array];//遍歷結果while (result==SQLITE_ROW) {NSMutableDictionary *resultRow=[NSMutableDictionary dictionary];//獲取字段個數(shù)int col_count = sqlite3_column_count(stmt);for (int i=0; i<col_count; i++) {//獲取字段名稱const char*columName=sqlite3_column_name(stmt,i);//獲取字段值char* columValue=(char*) sqlite3_column_text(stmt, i);NSString *columkeyStr=[NSString stringWithCString:columName encoding:NSUTF8StringEncoding];NSString *columValueStr=[NSString stringWithCString:columValue encoding:NSUTF8StringEncoding];[resultRow setObject:columValueStr forKey:columkeyStr];}[resultData addObject:resultRow];result=sqlite3_step(stmt);}//關閉數(shù)據(jù)庫句柄sqlite3_finalize(stmt);//關閉數(shù)據(jù)庫sqlite3_close(sqlite);NSLog(@"查詢完!");return resultData; } /*** 執(zhí)行SQL語句,主要完成增加、修改、刪除* sql:執(zhí)行的SQL語句* params:SQL語句中的參數(shù)* dataName:數(shù)據(jù)庫名稱*/-(BOOL) execSql:(NSString *)sql parmas:(NSArray *)params dataBaseName:(NSString *)dataName{sqlite3 *sqlite=nil;sqlite3_stmt *stmt=nil;//打開數(shù)據(jù)庫NSString *fileName=[self DataBaseName:dataName];int result= sqlite3_open([fileName UTF8String], &sqlite);if (result!=SQLITE_OK) {NSLog(@"打開失敗");return NO;}const char* sqlCh=[sql UTF8String];//編譯SQL語句sqlite3_prepare_v2(sqlite, sqlCh, -1, &stmt, NULL);//綁定參數(shù)for (int i=0; i<params.count; i++) {NSString *parm=[params objectAtIndex:i];sqlite3_bind_text(stmt, i+1, [parm UTF8String], -1, NULL);}//執(zhí)行SQLresult=sqlite3_step(stmt);if (result==SQLITE_ERROR || result==SQLITE_MISUSE) {NSLog(@"執(zhí)行SQL語句失敗");sqlite3_close(sqlite);return NO;}//關閉數(shù)據(jù)庫句柄sqlite3_finalize(stmt);//關閉數(shù)據(jù)庫sqlite3_close(sqlite);NSLog(@"執(zhí)行成功!");return YES; }/*** 創(chuàng)建一個表* sql:執(zhí)行的SQL語句* dataName:數(shù)據(jù)庫名稱*/ -(void)createTable:(NSString *)sql dataBaseName:(NSString *)dataName{sqlite3 *sqlite=nil;NSString *fileName=[self DataBaseName:dataName];//打開數(shù)據(jù)庫int result= sqlite3_open([fileName UTF8String], &sqlite);if (result!=SQLITE_OK) {NSLog(@"打開失敗");}else{const char* sqlCh=[sql UTF8String];char* error;//執(zhí)行SQLint result=sqlite3_exec(sqlite, sqlCh, NULL, NULL, &error);if (result!=SQLITE_OK) {NSLog(@"創(chuàng)建失敗");NSLog(@"%s",error);sqlite3_close(sqlite);return ;}//關閉數(shù)據(jù)庫sqlite3_close(sqlite);NSLog(@"創(chuàng)建成功");}}@end

4.調(diào)用格式

BaseDB *db=[[BaseDB alloc] init];//創(chuàng)建表NSString *dbCreate=@"create table zhaochao( username text primary key,userPasswd test)";NSString *dbName=@"zhaochao.sqlite";// [db createTable:dbCreate dataBaseName:dbName];//添加數(shù)據(jù)NSString *insertTable=@"insert into zhaochao (username,userPasswd) values (?,?)";NSArray *insertParmas=@[@"acasdfaa",@"bb"];// [db execSql:insertTable parmas:insertParmas dataBaseName:@"zhaochao.sqlite"];//修改數(shù)據(jù)NSString *updateTable=@"update zhaochao set username=? where username=?";NSArray *updateParams=@[@"admin",@"zhaochao"];// [db execSql:updateTable parmas:updateParams dataBaseName:@"zhaochao.sqlite"];//刪除數(shù)據(jù)NSString *deleteTable=@"delete from zhaochao where username=?";NSArray *deleteParams=@[@"aa"];// [db execSql:deleteTable parmas:deleteParams dataBaseName:@"zhaochao.sqlite"];//查詢數(shù)據(jù)NSString *selectTable=@"select username,userPasswd from zhaochao where userPasswd=?";NSString *selectParam=@[@"bb"];NSArray *result=[db selectSql:selectTable parmas:selectParam dataBaseName:@"zhaochao.sqlite"];for (int i=0; i<result.count; i++) {NSMutableDictionary *arr=[result objectAtIndex:i];NSLog(@"%@",arr);}


轉(zhuǎn)載于:https://www.cnblogs.com/whzhaochao/p/5023435.html

總結

以上是生活随笔為你收集整理的IOS sqlite数据库增删改查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 香港a毛片 | 可以直接看的毛片 | 国产美女视频网站 | 男男h黄动漫啪啪无遮挡软件 | 狠狠躁天天躁夜夜躁婷婷 | 爱爱视频网址 | 中国一级特黄真人毛片免费观看 | 亚洲高清资源 | 狼友视频国产精品 | 日韩一区二区不卡 | 日韩免费黄色 | 欧美aa视频 | 亚洲精品20p| 99热这里都是精品 | 日本大尺度电影免费观看全集中文版 | 毛片无限看 | 人人看人人做 | 亚洲视频图片小说 | 大度亲吻原声视频在线观看 | 婷婷五月综合久久中文字幕 | 国产美女91| 99re热视频 | 成人在线视频观看 | 久久精品免费av | 久久91亚洲人成电影网站 | 男人操女人的软件 | 天天做天天爱天天做 | 亚洲女优在线 | 亚洲无码精品国产 | 一本大道久久a久久综合婷婷 | www.成人精品 | jizzjizz日本人 | 日韩欧美国产一区二区 | 成人精品综合 | 国产无遮挡又黄又爽免费视频 | 色01看片网| 来吧亚洲综合网 | 美女扒开尿口给男人看 | 亚洲熟妇无码av在线播放 | 麻豆免费在线观看视频 | 人人澡人人插 | 国产成人三级在线 | 97人妻精品一区二区三区动漫 | 国产色综合天天综合网 | 成人影视在线播放 | 18精品爽国产白嫩精品 | 丰满少妇一区二区 | 少妇流白浆| 美国伊人网| 国产成人精品久久久 | 国产综合精品一区二区三区 | 99日韩精品 | 免费观看的黄色网址 | 国产无套丰满白嫩对白 | 99re这里只有精品首页 | 操女人网 | 亚洲国产精品激情在线观看 | 牲欲强的熟妇农村老妇女视频 | 欧美变态口味重另类在线视频 | 午夜久久久精品 | 日本视频在线看 | 欧洲成人午夜精品无码区久久 | cao死你 | 国产69精品一区二区 | 乳罩脱了喂男人吃奶视频 | 色老头网址 | 国产精欧美一区二区三区蓝颜男同 | 日韩国产欧美视频 | 亚洲乱码国产乱码精品精软件 | 日韩 欧美 自拍 | 国产精品久久久久久免费 | 综合久久91 | 可以免费看的黄色网址 | 日韩一区av在线 | 懂色中文一区二区在线播放 | 国产主播一区二区 | 免费看的黄色小视频 | 亚洲精品乱码久久久久久写真 | 亚洲另类网站 | 沈樵精品国产成av片 | 国产私拍视频 | 亚洲国产日韩在线一区 | 精品人妻一区二区三区四区 | 日韩国产一区二区三区 | 男女无遮挡猛进猛出 | 国产高潮久久 | 黑巨茎大战欧美白妞 | 日本在线一区二区三区 | 日韩欧美不卡 | 久草加勒比 | 久久久久亚洲AV成人无在 | 91极品美女 | 伊人夜色 | 欧美精品aaa | 相亲对象是问题学生在线观看 | 国产一区二区在线免费观看视频 | 靠逼在线观看 | 国产精品久久久久久久久久久新郎 | hd性videos意大利精品 |