一、sqlite的链接+增删改查(XCODE7.1+ IOS9)
注:sqlite数据库的链接+增删改查中需要注意的地方有:
大前提:需要导入数据库 库。点击项目 》》BuildPhases 》》Link Binary With Libraies 》》点击+号》》Add Other..》》按 shift+command+G 》》输入//usr//lib》》选择 libsqlite3.dylib 》》之后在 文件里加上
#import<sqlite3.h>这样才可以访问到sql语句。
一:要访问数据库,前提是获得项目的路径。获得之后就是在路径下使用
stringByAppendingPathComponent添加一个数据库文件。
二:数据库的操作流程是:1:打开数据库。 2:操作数据库。 3:关闭数据库。
三:打开数据库:1:定义一个起着标示作用的sqlite3对象指针。 2:使用sqlite3_open打开数据库,这里需要注意的 一点是:int result =sqlite3_open(filePath.UTF8String, &db);//&db 是指针, 需要把filePath转为C 语言的 CAHR。3:使用 result == SQLITE_OK来判断是否打开成功。
四:操作数据库:1:创建表 2:增 3:删 4:改 5:查
五:创建表:1:char * sql ="create table if not exists t_student(name text, age integer)"; 这里必须使用 if not exists来判断数据库中是否已经存在该表。2:使用result =sqlite3_exec(db, sql,NULL,NULL, &err);来执行语句。
六:增删改查:都有三种书写数据库操作语句的方法。这里用增来举例。其他大同小异。
1:固态的增加语句:char * addsql = "insert into t_student(name, age) values('张三', 22)";
2:拼接的语句:NSString * addsql = [NSString stringWithFormat:@"insert into t_student(name, age) values('%@', %@)", name, age];
3:使用层数的语句:
sqlite3_stmt * addstmt; //定义一个二维表格
char * addsql ="insert into t_student(name, age) values(?, ?)"; //使用 ?占位符
result = sqlite3_prepare_v2(db,addsql, -1, &addstmt,NULL); //使用sqlite3_prepare_v2这个预处理语句
if (result ==SQLITE_OK) {
//绑定参数
int nameresult =sqlite3_bind_text(addstmt, 1, [name UTF8String], -1,NULL); //这里的1就是代表addsql语 句中的第一个问号.并且需要把name转为C语言的CHAR
if (nameresult ==SQLITE_OK) {
NSLog(@"name绑定成功");
}
int ageresult =sqlite3_bind_int(addstmt, 2, [age intValue]); //这里的1 就是代表addsql语句中的第一个问号.
if (ageresult ==SQLITE_OK) {