SQlList数据库基础

这篇博客介绍了SQLite数据库的基础操作,包括引入类库、获取沙盒路径、创建和打开数据库的步骤。详细讲解了如何使用sqlite3_open打开数据库,并讨论了防止SQL注入的方法,如使用参数化的SQL语句。同时,提到了执行SQL语句和释放sqlite3_stmt对象的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQlList数据库   标准化查询语言

     1:引入类库

     2:获得沙盒路径,

     3:创建和打开数据库

     /参数1:目录名称 2:搜索范围 3:表示是否为完整形式显示,是否为波浪线yes 是没有波浪线,以完整路径显示,no有波浪线
     3:创建和打开数据库  

     1:导入#import <sqlite3.h>

     2:sqlite3 *db;//声明对象

     3:转换成c字符串指针数组  const char *p = sqlitePath.UTF8String;

     4:打开数据库 int res =sqlite3_open(p, &db);

     5:打开打开是否成功 if (res == SQLITE_OK)
    //构造SQL语句  

     第一个参数:sqlite3 *db;//声明对象

     第二个参数 sql语句

     第三个参数 回调函数

     第四个参数 回调函数的参数

     第五个参数 错误信息

//    NSString *insert_sql = @"insert into temps(t_name)values('java')";

//    NSString *delete_sql = @"delete from temps where t_id = 1";

//    NSString *update_sql = @"update temps set t_name = '444' where t_id =3";

//      NSString * search_t_id = @"100 or 1=1";//sql注入漏洞

//    int search_t_id = 3;

//    NSString *search_name = @"j%";

    //查询 参数化的sql 语句 防止sql注入漏洞

//    NSString *search_sql = @"select * from temps";

//     NSString *search_sql = [NSString stringWithFormat:@"select * from temps where t_id = %@",search_t_id];

//     NSString *search_sql = @"select * from temps where t_id>? and t_name like ? ";//?标识占位符
      准备查询执行SQL语句

     1: sqlite3 *db;//声明对象

     2: 执行的sql语句

     3:sql语句的长度,通常用-1来代表,系统自己来计算长度,也可以用strlen()函数来计算

     4:执行对象 sqlite3_stmt *stmt;

     5:未执行的sql语句
           绑定参数

         第一个参数:sqlite_stmt对象

         第二个参数:占位符索引,从1开始

         第三个参数:替代占位符的真实参数    

    //释放stmt

//    sqlite3_finalize(stmt);  

    //关掉数据库

//    sqlite3_close(db);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值