首页 / IOS / ios开发中如何使用sqlite数据库
ios开发中如何使用sqlite数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ios开发中如何使用sqlite数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2390字,纯文字阅读大概需要4分钟。
内容图文
![ios开发中如何使用sqlite数据库](/upload/InfoBanner/zyjiaocheng/1122/0fe830c58e654a32ac29653f83a0505d.jpg)
首先,使用sqlite存储数据,需要添加libsqlite3.dylib 这个动态库,然后 添加动态库的主头文件 #import <sqlite3.h>
// db就是数据库的象征,如果要进行CRUD(增删改查),得操作db这个实例
@property (nonatomic, assign) sqlite3 *db;
第一步: 打开数据库。 当系统第一次用到数据库时, 我们先创建一个数据库文件,并创建表,就在这一步。
// 获得数据库文件的路径,即沙盒
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *filename = [doc stringByAppendingPathComponent:@"students.sqlite"];
// 将OC字符串 转成 C语言字符串
const char *cfilename = filename.UTF8String;
// 1.打开数据库(如果数据库文件不存在,sqlite3_open函数会自动创建数据库文件)
int result = sqlite3_open(cfilename, &_db); // 这个open方法 就是打开数据库,传一个c语言的字符串和 db
if (result == SQLITE_OK) { // 打开成功
NSLog(@"成功打开数据库");
// 2.创表
const char *sql = "CREATE TABLE IF NOT EXISTS t_student (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, age integer NOT NULL);";
char *erroMsg = NULL;
result = sqlite3_exec(self.db, sql, NULL, NULL, &erroMsg);
if (result == SQLITE_OK) {
NSLog(@"成功创表");
} else {
NSLog(@"创表失败--%s--%@-%d", erroMsg, [NSString stringWithUTF8String:__FILE__], __LINE__); //这个可以知道 错误在哪个文件的 第几行
}
} else {
NSLog(@"打开数据库失败");
}
第二部 : 插入/添加数据
下面以插入/添加 20条数据为例:
for (int i = 0; i<20; i++) {
// 1.拼接SQL语句
NSString *name = [NSString stringWithFormat:@"Jack-%d", arc4random_uniform(100)];
int age = arc4random_uniform(20) + 30;
NSString *sql = [NSString stringWithFormat:@"INSERT INTO t_student (name, age) VALUES (‘%@‘, %d);", name, age]; // 看清该方法INSERT INTO
// 2.执行SQL语句
char *erroMsg = NULL;
sqlite3_exec(self.db, sql.UTF8String, NULL, NULL, &erroMsg); //该sqlite方法就是 插入数据库数据
if (erroMsg) { //如果有错误
NSLog(@"插入数据失败--%s", erroMsg);
} else {
NSLog(@"成功插入数据");
}
}
删除数据 和插入数据 一样,只需更换一下 sql语句。
查询数据:
const char *sql = "SELECT id, name, age FROM t_student WHERE age <= 30;"; //sql语句,查询条件
// 进行查询前的准备工作
// -1 代表系统会自动计算SQL语句的长度
// sqlite3_stmt:用来取数据
sqlite3_stmt *stmt = NULL;
if (sqlite3_prepare_v2(self.db, sql, -1, &stmt, NULL) == SQLITE_OK) { // SQL语句没有问题
NSLog(@"查询语句没有问题");
// 每调一次sqlite3_step函数,stmt就会指向下一条记录
while (sqlite3_step(stmt) == SQLITE_ROW) { // 找到一条记录
// 取出数据
// 取出第0列字段的值(int类型的值)
int ID = sqlite3_column_int(stmt, 0);
// 取出第1列字段的值(tex类型的值)
const unsigned char *name = sqlite3_column_text(stmt, 1);
// 取出第2列字段的值(int类型的值)
int age = sqlite3_column_int(stmt, 2);
NSLog(@"%d %s %d", ID, name, age);
}
} else {
NSLog(@"查询语句有问题");
}
原文:http://www.cnblogs.com/dashengios/p/5441059.html
内容总结
以上是互联网集市为您收集整理的ios开发中如何使用sqlite数据库全部内容,希望文章能够帮你解决ios开发中如何使用sqlite数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。