// // ViewController.m // sqlLite // // Created by 麦子 on 15/6/25. // copyright (c) 2015年 麦子. All rights reserved. // #import "ViewController.h" #import <sqlite3.h> // 系统目录下, @interface ViewController () @end @implementation ViewController{ sqlite3_stmt *stmt; } - (void)viewDidLoad { [super viewDidLoad]; self.title = @"sqlLite学习"; self.view.backgroundColor = [UIColor whiteColor]; [self sqlLiteHandle]; } /**** 数据库操作 和 java的一样,同时也有预处理,只是这些操作都是用C函数来进行处理 都在sqlite3这个包里面。 */ - (void)sqlLiteHandle{ // 打开数据库 Nsstring *path = NSHomeDirectory(); path = [path stringByAppendingPathComponent:@"mydb.sqlite"];//不存在就创建,然后打开 NSLog(@"%@",path); // 每次创建都不一样的路径 sqlite3 *db; int result = sqlite3_open([path UTF8String],&db); if (result != sqlITE_OK) { NSLog(@"数据库打开失败"); } // 操作数据库 [self createTable:db]; // 删除 [self tableDel:db]; // 添加 [self tableAdd:db]; // 修改 [self tableupdate:db]; // 查找 [self tableFind:db]; // 关闭数据库 sqlite3_finalize(stmt); sqlite3_close(db); } // 创建表 - (void)createTable:(sqlite3 *)sqliteDb{ Nsstring *sql = @"create table if not exists student(name text,sex text,age integer)"; char *err; // 出错对象 int result = sqlite3_exec(sqliteDb,[sql UTF8String],NULL,&err); if (result == sqlITE_OK) { NSLog(@"创建表成功...."); } } // 增加 - (void)tableAdd:(sqlite3 *)sqliteDb{ Nsstring *sql = @"insert into student (name,sex,age) values ('小强','男',25)"; char *err; // 出错对象 int result = sqlite3_exec(sqliteDb,&err); if (result == sqlITE_OK) { NSLog(@"添加成功...."); } } // 删除 - (void)tableDel:(sqlite3 *)sqliteDb{ Nsstring *sql = @"delete from student"; char *err; // 出错对象 int result = sqlite3_exec(sqliteDb,&err); if (result == sqlITE_OK) { NSLog(@"删除成功...."); } } //修改 - (void)tableupdate:(sqlite3 *)sqliteDb{ Nsstring *sql = @"update student set name = '麦子' "; char *err; // 出错对象 int result = sqlite3_exec(sqliteDb,&err); if (result == sqlITE_OK) { NSLog(@"修改成功...."); } } // 查找 - (NSArray *)tableFind:(sqlite3 *)sqliteDb{ Nsstring *sql = @"select * from student"; int result = sqlite3_prepare_v2(sqliteDb,-1,&stmt,NULL); if (result == sqlITE_OK) { NSLog(@"查询成功...."); // 循环 重这个结果集里面获取数据,也是以二维数组的形式来获取 while (sqlite3_step(stmt) == sqlITE_ROW) { char *name = (char *)sqlite3_column_text(stmt,0); char *sex = (char *)sqlite3_column_text(stmt,1); int age = sqlite3_column_int(stmt,2); Nsstring *strName = [Nsstring stringWithUTF8String:name]; Nsstring *strSex = [Nsstring stringWithUTF8String:sex]; NSLog(@"name=%@-->sex=%@-->age=%d",strName,strSex,age); } } return nil; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // dispose of any resources that can be recreated. } @end
原文地址:https://www.jb51.cc/sqlite/199527.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。