ios sqlite数据库操作
 @interface MyViewController () {
     // 数据库实例,代表着整个数据库
     sqlite3 *_db;
 }
 @end
 @implementation MyViewController
 - (void)viewDidLoad
 {
     [super viewDidLoad];
     [self openDB];
     [self createTables];
     for (int i = ; i<; i++) {
         //[self insertData];
     }
     [self findData];
     // 关闭数据库
     sqlite3_close(_db);
 }
 #pragma mark 查询数据
 - (void)findData {
     char *sql = "select id,name,age from t_person;";
     sqlite3_stmt *stmt;
     // sqlite3_prepare_v2做一些插入数据的准备
     // 主要是检查SQL语句的语法问题
     int result = sqlite3_prepare_v2(_db, sql, -, &stmt, NULL);
     // 说明语句没有语法问题
     if (result == SQLITE_OK) {
         // 如果返回值是ROW,代表读取到一行数据
         while (sqlite3_step(stmt) == SQLITE_ROW) {
             // 列号从0开始
             int ID = sqlite3_column_int(stmt, );
             char *name = (char *)sqlite3_column_text(stmt, );
             int age = sqlite3_column_int(stmt, );
             NSLog(@"id=%i,name=%s,age=%i", ID, name, age);
         }
     } else {
         NSLog(@"查询数据的SQL语句语法有问题");
     }
 }
 #pragma mark 插入数据
 - (void)insertData {
     char *sql = "insert into t_person(name, age) values(?, ?);";
     sqlite3_stmt *stmt;
     // sqlite3_prepare_v2做一些插入数据的准备
     // 主要是检查SQL语句的语法问题
     int result = sqlite3_prepare_v2(_db, sql, -, &stmt, NULL);
     // 说明语句没有语法问题
     if (result == SQLITE_OK) {
         // 第2个int类型的参数用来指定第几列,从1开始
         // 绑定name字段的值
         sqlite3_bind_text(stmt, , "mj", -, NULL);
         // 绑定age字段的值
         sqlite3_bind_int(stmt, , );
         // 执行sql语句
         if (sqlite3_step(stmt) != SQLITE_DONE) {
             NSLog(@"插入数据失败!");
         } else {
             NSLog(@"插入数据成功!");
         }
     } else {
         NSLog(@"插入数据的SQL语句语法有问题");
     }
 }
 #pragma mark 打开数据库
 - (void)openDB {
     // 数据库文件路径
     NSString *filename = [@"sqlite.db" documentsAppend];
     // 如果数据库不存在,就会创建一个
     int result = sqlite3_open([filename UTF8String], &_db);
     if (result == SQLITE_OK) {
         NSLog(@"打开数据库成功!");
     }
 }
 #pragma mark 创建表
 - (void)createTables {
     char *sql = "create table if not exists t_person(id integer primary key autoincrement, name text, age integer);";
     char *error;
     // sqlite3_exec能执行一切SQL语句
     // insert into t_person(name, age) values('mj', 10);
     int result = sqlite3_exec(_db, sql, NULL, NULL, &error);
     if (result != SQLITE_OK) {
         NSLog(@"创表错误:%s", error);
     }
 }
 @end
ios sqlite数据库操作的更多相关文章
- IOS   SQLITE 数据库操作
		
NSArray * array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); N ...
 - iOS  sqlite数据库实现(转)
		
转载自:http://www.cnblogs.com/macroxu-1982/archive/2012/10/01/2709960.html 1 实现过程添加libsqlite3组件 选择项目后,在 ...
 - iOS 中SQLite数据库操作
		
在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...
 - iOS - SQLite Database 操作数据库
		
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
 - 实验8  SQLite数据库操作
		
实验报告 课程名称 实验8 SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 学 时 一 ...
 - 我的Android六章:Android中SQLite数据库操作
		
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
 - [python]用Python进行SQLite数据库操作
		
用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ ]: u ...
 - 安卓 SQLite数据库操作实例
		
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
 - 在安卓开发中使用SQLite数据库操作实例
		
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
 
随机推荐
- php中str_repeat函数
			
php中str_repeat函数 一.作用 用于repeat str 二.实例:输出菱形 代码: <!DOCTYPE html> <html lang="en"& ...
 - cogs P1578【模板】 次小生成树初级练习题
			
1578. 次小生成树初级练习题 ☆ 输入文件:mst2.in 输出文件:mst2.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 求严格次小生成树 [输入格式 ...
 - js03 数组
			
变量的自动转换=== 等同符:不会发生类型的自动转化! == 等值符:会发生类型自动转化.自动匹配!判断相等没有equals()方法,只有2个等号3个等号. <!DOCTYPE HTML PUB ...
 - android-EditText 更改外边框无效
			
修改的代码如下 <com.android.mms.ui.EnhanceEditText android:textColor="#000000" <!--问题处在这里,a ...
 - C#解析HTML源码
			
刚做了一个小任务,需要抓取其他网站的部分数据,这里就顺便介绍使用Winista.Text.HtmlParser这个类库如何解析HTML并抓取部分数据 1.获取指定网站的页面源码 string url ...
 - 1.3 Quick Start中  Step 5: Start a consumer官网剖析(博主推荐)
			
不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 5: Start a consumer Step : 消费消息 Kafka ...
 - Non-resolvable parent POM for **: Could not find artifact **
			
注意查看这句: 原因是本地仓库缺少了easybuy-parent:pom:0.0.1-SNAPSHOT, 原来是忘记了将父工程打包到本地仓库 ,运行聚合工程前记得先将依赖的工程都先Maven inst ...
 - Javascript 6 种继承
			
1.原型链继承 // 1.原型链继承的两个问题===>在借用构造函数中可以解决下下面的两个问题//problem: 在创建子类型的实例时,不能向超类型的实例传递参数(在这里就是不能向A()里传递 ...
 - 【2017中国大学生程序设计竞赛 - 网络选拔赛】Palindrome Function
			
[链接]http://acm.hdu.edu.cn/showproblem.php?pid=6156 [题意] 已知函数f(x, k),如果10进制数x在k进制下是个回文数,那么f(x, k)值为k, ...
 - Mysql学习总结(15)——Mysql错误码大全
			
B.1. 服务器错误代码和消息 服务器错误信息来自下述源文件: · 错误消息信息列在share/errmsg.txt文件中."%d"和"%s"分 ...