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

歡迎訪問 生活随笔!

生活随笔

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

数据库

IOS开发基础之SQLite3数据库的使用增删改查

發布時間:2023/12/18 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS开发基础之SQLite3数据库的使用增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

IOS開發基礎之SQLite3數據庫的使用增刪改查

ios開發我們可能會使用到數據庫進行持久化存儲。sqlite3 是輕量級的數據庫。
今天我們來介紹sqlite3 數據庫。此方法跟java的增刪改查很類似。
源碼在我的主頁里面。

// // ViewController.m // sqlite3 // // Created by 魯軍 on 2021/2/24. //#import "ViewController.h" #import <sqlite3.h> @interface ViewController () {sqlite3 *_db; } @end @implementation ViewController /*在應用程序第一次運行,由于沙盒中沒有數據庫 ,所以需要創建一個空的數據庫創建數據庫的之后,為了保證能夠正常運行 通常需要做一些初始化工作,其中最重要的一項工作就是創建數據庫的表而下次使用時 無需再創建數據庫表了**/ - (void)viewDidLoad {[super viewDidLoad];//1.[self openDB];//NSLog(@"%@",NSHomeDirectory());[self createTable];//操作數據 // NSArray *array = @[@"張三",@"李四",@"王二",@"趙六"]; // for(int i = 0;i<50;i++){ // NSString *str=array[arc4random_uniform(4)]; // NSString *name = [NSString stringWithFormat:@"%@%d",str,arc4random_uniform(1000)]; // NSString *phoneNo = [NSString stringWithFormat:@"1889%05d",arc4random_uniform(100000)]; // [self addPerson:name age:18 + arc4random_uniform(20) phoneNo:phoneNo]; // }[self allPersons]; } -(void)allPersons{NSString *sql= @"SELECT id,name,age,phoneNo FROM t_person";// 1. 評估準備SQL語句是否正確sqlite3_stmt *stmt = NULL;if(SQLITE_OK==sqlite3_prepare_v2(_db, sql.UTF8String, -1, &stmt, NULL)){//2 如果能夠正常查詢。調用單步執行方法。依次取得查詢結果while(SQLITE_ROW==sqlite3_step(stmt)){int ID = sqlite3_column_int(stmt, 0);const unsigned char *name = sqlite3_column_text(stmt, 1);int age = sqlite3_column_int(stmt, 2);const unsigned char *phoneNo = sqlite3_column_text(stmt, 3);NSString *nameUTF8 = [NSString stringWithUTF8String:(const char *)name];NSString *phoneNoUTF8 = [NSString stringWithUTF8String:(const char *)phoneNo];NSLog(@"%d -- %@ - %d -- %@",ID,nameUTF8,age,phoneNoUTF8);}//3 獲取顯示查詢結果}else{NSLog(@"SQL語法錯誤 ");}//4 釋放句柄sqlite3_finalize(stmt); }-(void)addPerson:(NSString *)name age:(NSInteger)age1 phoneNo:(NSString *)phoneNo {NSString *sql =[NSString stringWithFormat:@"INSERT INTO t_person (name, age, phoneNo) VALUES ('%@', '%d', '%@')", name, age1, phoneNo];[self execSql:sql msg:@"添加個人記錄"]; } -(void)execSql:(NSString *)sql msg:(NSString *)msg{char *errmsg;if(SQLITE_OK==sqlite3_exec(_db, sql.UTF8String, NULL, NULL, &errmsg)){NSLog(@"%@成功",msg);}else{NSLog(@"%@失敗-%s",msg,errmsg);} } -(void)createTable{NSString * sql = @"create table IF NOT EXISTS t_person (id integer PRIMARY KEY AUTOINCREMENT,name text,age integer,phoneNo text)";[self execSql:sql msg:@"創建表"];} -(void)openDB{NSString *docDir =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];NSString * dbName = [docDir stringByAppendingPathComponent: @"my.db"];//SQLite 數據庫的連接,基于連接可以進行數據庫的操作if( SQLITE_OK == sqlite3_open(dbName.UTF8String, &_db)){NSLog(@"創建打開數據庫成功");}else{NSLog(@"創建數據庫失敗");} } @end



總結

以上是生活随笔為你收集整理的IOS开发基础之SQLite3数据库的使用增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。