(一一三)使用系统自带框架操作SQLite3数据库
来源:互联网 发布:微信公众号开发 php 编辑:程序博客网 时间:2024/05/16 10:55
系统自带的框架是基于C语言的,使用比较繁琐。
下面是使用步骤:
首先导入libsqlite3.0.dylib。
①在Document目录下打开数据库,如果没有则创建。
NSString *sqlitePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"test.sqlite"];// 数据库不存在会自动创建sqlite3 *db = NULL;int state = sqlite3_open(sqlitePath.UTF8String, &db);if (state == SQLITE_OK) { NSLog(@"打开数据库成功");}else{ NSLog(@"打开数据库失败");}②创建一张表和插入数据。
const char *sql = "CREATE TABLE IF NOT EXISTS t_product (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, price real);";char *err = NULL;sqlite3_exec(db, sql, NULL, NULL, &err);sql = "INSERT INTO t_product (name,price) values ('饮料',10)";sqlite3_exec(db, sql, NULL, NULL, &err);
③查询数据。
查询数据通过执行step让STMT从前到后抓取数据,拿到数据后可以转换为OC字符串再处理。
// 查询数据// STMT会自动向后指数据sqlite3_stmt *stmt = NULL; // STMT用来取出查询的结果sql = "SELECT * FROM t_product";state = sqlite3_prepare(db, sql, -1, &stmt, NULL);if (state == SQLITE_OK) { NSLog(@"准备成功"); while(sqlite3_step(stmt) == SQLITE_ROW){ // 成功取出一条数据 const char *cname = (const char*)sqlite3_column_text(stmt, 1);// 第0列是id,取出第1列数据name const char *cprice = (const char*)sqlite3_column_text(stmt, 2);// 取出第2列数据price NSString *name = [NSString stringWithUTF8String:cname]; NSString *price = [NSString stringWithUTF8String:cprice]; NSLog(@"%@ %@",name,price); } }else{ NSLog(@"准备失败");}
0 0
- (一一三)使用系统自带框架操作SQLite3数据库
- sqlite3-Android自带数据库
- (一一四)使用FMDB操作SQLite数据库
- iOS学习之系统自带的sqlite3的创建数据库、表,插入、查看数据
- php 5X 使用自带的sqlite3链接数据库,PDO链接sqlite(低成本开发)(一)
- 使用sqlite3 模块操作sqlite3数据库
- PythonWeb开发Django框架学习(十一)使用框架自带Admin管理数据库数据
- 使用 SQLiteManager 操作 sqlite3 数据库
- 使用 SQLiteManager 操作 sqlite3 数据库
- Python使用sqlite3操作数据库
- 如何使用SQLite3操作数据库
- 如何使用Android系统自带的VPN服务框架
- 如何使用Android系统自带的VPN服务框架
- 如何使用Android系统自带的VPN服务框架
- 如何使用Android系统自带的VPN服务框架
- 安装使用数据库系统Sqlite3
- linux下C语言操作mysql数据库(系统自带版本3.23.54)
- WINCE自带数据库系统
- 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
- #第二周1003题解#
- js进制转换
- 关于Gstrteamer udp和 v4l2src测试问题
- 关于iOS多线程,你看我就够了(已更新)
- (一一三)使用系统自带框架操作SQLite3数据库
- iOS学习 - Objective-c之property
- 为什么要使用linux
- 每日20行之2~~~多线程创始 继承Thread还是实现Runnable 二者之间的区别
- MVC入门学习路由选择(一)
- hdu某道题
- js函数初级
- UVA_301_Transportation
- 分治法求 两个数组 X 和 Y 的中位数