NSArray * array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * docPath = [array objectAtIndex:0];

NSString * dbPath = [docPath stringByAppendingPathComponent:@"test_db"];

NSLog(@"dbPath:%@",dbPath);

sqlite3 * database;

if( sqlite3_open([dbPath UTF8String], &database ) == SQLITE_OK)

{

NSLog(@"open success");

}

else

{

NSLog(@"open falied");

}

char * errorMsg;

NSString * sql = @"create table if not exists mytable( myid int not null primary key , age int , name varchar(255))";

if( sqlite3_exec(database, [sql UTF8String], NULL, NULL, &errorMsg) == SQLITE_OK )

{

NSLog(@"create table success");

}

else

{

NSLog(@"create talbe falied:%s",errorMsg);

sqlite3_free(errorMsg);

}

sql = @"insert into mytable(myid , age , name )values(100,18,'rollrock')";

if( sqlite3_exec(database, [sql UTF8String], NULL, NULL, &errorMsg) == SQLITE_OK )

{

NSLog(@"insert success");

}

else

{

NSLog(@"insert falied:%s",errorMsg);

sqlite3_free(errorMsg);

}

sqlite3_stmt * stmt;

sql = @"update mytable set name='rollrock&aaa' where myId = 100";

if( sqlite3_prepare_v2(database, [sql UTF8String], -1,&stmt , NULL ) == SQLITE_OK )

{

  //一定要执行这句话才能生效

if( sqlite3_step(stmt) == SQLITE_DONE)

{

NSLog(@"update success");

}

}

else

{

NSLog(@"update false");

}

sql = @"select * from mytable";

if( sqlite3_prepare_v2(database, [sql UTF8String], -1, &stmt, nil) == SQLITE_OK )

{

NSLog(@"select success");

  //

while( sqlite3_step(stmt) == SQLITE_ROW)

{

int myId = sqlite3_column_int(stmt, 0);

char * name = sqlite3_column_text(stmt, 2);

int age = sqlite3_column_int(stmt, 1);

NSLog(@"myId:%d name:%s age:%d",myId,name,age);

}

}

else

{

NSLog(@"select falied:%s",errorMsg);

sqlite3_free(errorMsg);

}

IOS SQLITE 数据库操作的更多相关文章

  1. ios sqlite数据库操作

    @interface MyViewController () { // 数据库实例,代表着整个数据库 sqlite3 *_db; } @end @implementation MyViewContro ...

  2. iOS sqlite数据库实现(转)

    转载自:http://www.cnblogs.com/macroxu-1982/archive/2012/10/01/2709960.html 1 实现过程添加libsqlite3组件 选择项目后,在 ...

  3. iOS 中SQLite数据库操作

    在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...

  4. iOS - SQLite Database 操作数据库

    iOS - SQLite Database 操作数据库   Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...

  5. 实验8 SQLite数据库操作

    实验报告 课程名称 实验8  SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 一 ...

  6. 我的Android六章:Android中SQLite数据库操作

    今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...

  7. [python]用Python进行SQLite数据库操作

    用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~  ]: u ...

  8. 安卓 SQLite数据库操作实例

    前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...

  9. 在安卓开发中使用SQLite数据库操作实例

    前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...

随机推荐

  1. 深入浅出Java并发包—指令重排序

    前面大致提到了JDK中的一些个原子类,也提到原子类是并发的基础,更提到所谓的线程安全,其实这些类或者并发包中的这么一些类,都是为了保证系统在运行时是线程安全的,那到底怎么样才算是线程安全呢? Java ...

  2. Oracle导出空表(从来都没有用过的表)

    Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出! .设置deferred_segment_creation参数为FALSE后,无论是空表还是 ...

  3. linux 线程的内核栈是独立的还是共享父进程的?

    需要考证 考证结果: 其内核栈是独立的 206 static struct task_struct *dup_task_struct(struct task_struct *orig) 207 { 2 ...

  4. asp.net如何设置数据库连接池的数量

    http://www.cnblogs.com/wbcms/archive/2008/10/11/1308725.html 可以使用一组名称-值对以链接字符串的形式配置链接池.例如,可以配置池是否有效( ...

  5. Netstat 命令

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

  6. get Status canceled 请求被取消

    1.chrome浏览器下状况: 2.环境: 一个页面A下 包含一个 iframe ,在子页面中用js点击A页面下的链接替换iframe内容脚本如下: window.parent.document.ge ...

  7. player/stage 学习---安装

    环境 ubuntu 14.04 一,工具安装 sudo apt-get install git cmake g++ fltk1.1-dev libjpeg8-dev libpng12-dev libg ...

  8. JBPM4 常用表结构

    JBPM4 常用表结构 第一部分:表结构说明 Jbpm4 共有18张表,如下,其中红色的表为经常使用的表   一:资源库与运行时表结构 1.  JBPM4_DEPLOYMENT 流程定义表 2.  J ...

  9. ZOJ 3349 Special Subsequence 简单DP + 线段树

    同 HDU 2836 只不过改成了求最长子串. DP+线段树单点修改+区间查最值. #include <cstdio> #include <cstring> #include ...

  10. Awesome-awesome-awesome

    Awesome-awesome-awesome A curated list of curated lists of awesome lists. awesome-awesomes @sindreso ...