时间:2021-05-20
本文实例为大家分享了ios中sqlite的具体操作方法,供大家参考,具体内容如下
#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];}//打开数据库-(void)OpenDb{ NSArray *arrs= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //创建数据库,如果数据库存在就直接打开,不存在就创建打开 NSString *path=[arrs lastObject] ; NSString *documentpath= [path stringByAppendingPathComponent:@"sql.db"]; int reslut= sqlite3_open([documentpath UTF8String], &_sqldb); if(reslut==SQLITE_OK){ NSLog(@"数据库已被打开"); } }//通过数据库实例创建表-(void)createTable{ //不带参数的sql语句 const char* sql="create table if not exists t_person (id integer primary key autoincrement,name text,age integer);"; char *error; //sqlite3_exec可以执行一切不带参数的SQL语句。如果是带参数最好不用,防止SQL注入漏洞攻击 int resutl= sqlite3_exec(_sqldb, sql, NULL, NULL, &error); if(resutl==SQLITE_OK){ NSLog(@"创建表成功"); }else{ NSLog(@"创建表失败--》%s",error);}}//插入数据-(void)insertData{ //带参数的SQL语句 "?"是带参数的占位符 const char * sql="insert into t_person(name,age) values(?,?);"; sqlite3_stmt *stmp; //在执行SQL语句之前检查SQL语句语法,-1代表字符串的长度 int result= sqlite3_prepare_v2(_sqldb, sql, -1, &stmp, NULL); if(result==SQLITE_OK){ NSLog(@"插入SQL语句语法没有问题"); //绑定参数,插入的参数的下标是从1开始 sqlite3_bind_text(stmp, 1, "gcb", -1, NULL); sqlite3_bind_int(stmp, 2, 12); //执行参参数的SQL语句,不能有exec int result=sqlite3_step(stmp); //插入进行判断,要用sqLite_Done来判断 if(result==SQLITE_DONE){ NSLog(@"插入成功"); } else{ NSLog(@"插入失败") ; } } else{ NSLog(@"插入SQL语句有问题"); }}-(void)FindData{ char *sql="select id,name,age from t_person"; //查询做好用step执行 sqlite3_stmt *stmt; //检查SQL语句的语法问题 int result= sqlite3_prepare_v2(_sqldb, sql, -1, &stmt, NULL); if(result==SQLITE_OK){ while (sqlite3_step(stmt)==SQLITE_ROW) { //查询的列是0开始 插入的列从1开始// 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语法有误"); }}以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、概述:在SQLite提供的C/C++接口中,其中5个APIs属于核心接口。在这篇博客中我们将主要介绍它们的用法,以及它们所涉及到的核心SQLite对象,如d
一、创建索引:在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:复制代码代码如下:sqlite>CREATE
前言sQlite是开发中比较常用的轻量级数据库。通常只占据几百k的内存空间,所以在ios开发中,苹果将sQlite作为数据库应用在苹果开发中,当然,fmdb就另
在IOS中使用Sqlite来处理数据。如果你已经了解了SQL,那你可以很容易的掌握SQLite数据库的操作。iOS对于数据库的操作:增加、删除、查找、修改具体介
Android和iOS的数据库都是用SQLite来实现.一,SQLite数据库简介:轻量级:SQLite数据库是一个轻量级的数据库,适用于少量数据的CURD;文