iOS开发9-iOS操作SQLite数据库增删改查
来源:互联网 发布:中国的阿拉伯之春 知乎 编辑:程序博客网 时间:2024/06/05 16:25
iOS开发9-iOS操作SQLite数据库增删改查
代码下载(Xcode7.0.1)
有问题请联系博主,邮箱:nathanlee1987@aliyun.com
有问题请联系博主,邮箱:nathanlee1987@aliyun.com
1、创建并打开数据库、关闭数据库
//打开数据库-(void)openDB{ //sqlite3_open//打开数据库 //如果数据库存在,就打开; //不存在,就创建再打开。 //第1个参数是数据库路径,第2个参数是数据库指针,调用数据库时使用 int result = sqlite3_open(self.dataBasePath.UTF8String, &db); if (result==SQLITE_OK) NSLog(@"数据库打开成功"); else NSLog(@"数据库打开失败");}//关闭数据库-(void)closeDB{ //关闭数据库 int result = sqlite3_close(db); if (result==SQLITE_OK) NSLog(@"数据库关闭成功"); else NSLog(@"数据库关闭失败");}
2、创建表
//创建表-(void)createTable{ //1.准备sql语句 设置表名,字段,设置逐渐 NSString *sqlString=@"create table if not exists myTable(m_id integer primary key autoincrement not null,m_name text,m_age integer) "; //2.执行sql语句 int result = sqlite3_exec(db, sqlString.UTF8String, NULL, NULL, NULL); if (result==SQLITE_OK) NSLog(@"建表成功"); else NSLog(@"建表失败"); }
3、增-添加记录
//增-(void)insertWithName:(NSString*)name age:(NSInteger)age{ //步骤 //1.准备sql语句 //2.创建伴随指针 //3.预执行 //4.绑定参数 //5.执行 //6.关闭伴随指针 //1.准备sql语句 //这样很危险-sql注入的漏洞 //blob类型也无法插入 //NSString *s=[NSString stringWithFormat:@"insert into stu (s_name ,s_age) values (%@,%ld)",name,age]; //安全的方式 NSString *sqlString=@"insert into myTable (m_name ,m_age) values (?,?)"; //2.创建伴随指针 sqlite3_stmt *stmt=NULL; //3.预执行//-1 整型最大值--多少数据 int result = sqlite3_prepare(db, sqlString.UTF8String, -1, &stmt, NULL); if (result==SQLITE_OK) { NSLog(@"预执行正确"); //4.绑定参数 //第一个问号 sqlite3_bind_text(stmt, 1, name.UTF8String, -1, NULL); //第二个问号 sqlite3_bind_int64(stmt, 2, age);//age NSInteger //5.执行 if(sqlite3_step(stmt)==SQLITE_DONE) NSLog(@"插入成功"); else NSLog(@"插入失败"); } else NSLog(@"预执行错误"); //6.关闭伴随指针 sqlite3_finalize(stmt); NSLog(@"关闭【添加】伴随指针"); /* //不关闭伴随指针,关闭数据库会出错 2015-10-24 16:14:21.088 [3617:227363] 数据库打开成功 2015-10-24 16:14:21.090 [3617:227363] 预执行正确 2015-10-24 16:14:21.092 [3617:227363] 插入成功 2015-10-24 16:14:21.092 [3617:227363] 数据库关闭失败 */ }
4、删-删除记录
//删-(void)deleteWithName:(NSString*)name{ //步骤 //1.准备sql语句 //2.创建伴随指针 //3.预执行 //4.绑定参数 //5.执行 //6.关闭伴随指针 //1.准备sql语句 NSString *sqlString=@"delete from myTable where m_name = ?"; //2.创建伴随指针 sqlite3_stmt *stmt=NULL; //3.预执行 int result = sqlite3_prepare(db, sqlString.UTF8String, -1, &stmt, NULL); if (result==SQLITE_OK) { NSLog(@"预执行成功"); //4.绑定参数 sqlite3_bind_text(stmt, 1, name.UTF8String, -1, NULL); //5.执行 if (sqlite3_step(stmt)==SQLITE_DONE) NSLog(@"执行成功"); else NSLog(@"执行失败"); } else NSLog(@"预执行失败"); //6.关闭伴随指针 sqlite3_finalize(stmt); NSLog(@"关闭【删除】伴随指针");}
5、改-修改数据
//改-(void)updateWithAge:(NSInteger)age{ //1.准备sql语句 //2.伴随指针 //3.预执行 //4.绑定参数 //5.执行 //6.关闭伴随指针 //1.准备sql语句 NSString *sqlString=@"update myTable set m_age = 100 where m_age = ?"; //2.伴随指针 sqlite3_stmt *stmt=NULL; //3.预执行 int result = sqlite3_prepare(db, sqlString.UTF8String, -1, &stmt, NULL); if (result==SQLITE_OK) { NSLog(@"预执行成功"); //4.绑定参数 sqlite3_bind_int64(stmt, 1, age); //5.执行 if (sqlite3_step(stmt)==SQLITE_DONE) NSLog(@"执行成功"); else NSLog(@"执行失败"); } else NSLog(@"预执行失败"); //6.关闭伴随指针 sqlite3_finalize(stmt); NSLog(@"关闭【修改】伴随指针"); }
6、查-查找数据
//查-(void)selectWithName:(NSString*)name{ //1.sql语句 //2.伴随指针 //3.预执行 //4.绑定参数 //5.执行(N次,因为有可能有N条数据符合条件) //6.关闭伴随指针 //1.sql语句 //尽量不要用 select * 除非数据库表的字段太多 NSString *sqlString=@"select m_id,m_name,m_age from myTable where m_name=?"; //2.伴随指针 sqlite3_stmt *stmt=NULL; //3.预执行 int result = sqlite3_prepare(db, sqlString.UTF8String, -1, &stmt, NULL); if (result==SQLITE_OK) { NSLog(@"语句正确"); //4.绑定参数 sqlite3_bind_text(stmt, 1, name.UTF8String, -1, NULL); //5.执行(N次,因为有可能有N条数据符合条件)//循环判断是否还有符合查询条件的数据 while (sqlite3_step(stmt)==SQLITE_ROW) { int m_id = sqlite3_column_int(stmt, 0); NSLog(@"m_id=%d",m_id); NSString * m_name =[NSString stringWithUTF8String:(const char *)sqlite3_column_text(stmt, 1)]; NSLog(@"m_name=%@",m_name); int m_age = sqlite3_column_int(stmt, 2); NSLog(@"m_age=%d",m_age); } } else NSLog(@"语句错误"); //6.关闭伴随指针 sqlite3_finalize(stmt); NSLog(@"关闭【查询】伴随指针");}
代码下载(Xcode7.0.1)
有问题请联系博主,邮箱:nathanlee1987@aliyun.com
著作权声明:本文由http://my.csdn.net/Nathan1987_原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢
1 0
- iOS开发9-iOS操作SQLite数据库增删改查
- ios Sqlite数据库增删改查基本操作
- iOS Sqlite数据库增删改查基本操作
- ios Sqlite数据库增删改查基本操作
- iOS 数据库详解 sqlite实现增删改查操作
- ios Sqlite数据库增删改查基本操作
- iOS Sqlite数据库增删改查基本操作
- ios Sqlite数据库增删改查基本操作
- ios Sqlite数据库增删改查基本操作
- IOS--Sqlite数据库增删改查基本操作
- iOS Sqlite数据库增删改查基本操作
- ios Sqlite数据库增删改查基本操作
- iOS Sqlite 增删改查基本操作
- IOS sqlite数据库增删改查
- ios SQLite增删改查
- iOS--sqlite--增删改查
- iOS开发 -- 数据库(增删改查)
- iOS基础教程-SQLite数据库操作(二简单实例学生信息增删改查数据库操作)
- HDU-1551 Cable master
- kafka及zookeeper安装部署
- Partition函数
- window7下用wubi安装ubuntu
- IDF 牛刀小试-ASCII码而已
- iOS开发9-iOS操作SQLite数据库增删改查
- Swift2.0推送
- C# 多线程学习系列一:认识多线程
- 内部类一
- 求100以内的素数2015 10 24
- 杭电1163--9余项定理的例子
- 13 Large sum - Project Euler
- OpenCV - 基本图形函数的使用
- Populating Next Right Pointers in Each Node