美文网首页
10. 代码实现DQL查询语句

10. 代码实现DQL查询语句

作者: 面糊 | 来源:发表于2016-06-16 22:30 被阅读26次
  1. 查询语句与之前的几个语句相比较, 是最麻烦的, 因为他要取出每一条数据, 去匹配他的类型, 然后再取出来
    • 本人只尝试了查询所有数据的方法

    • 这里需要注意的是, 匹配数据的时候, 一定要注意字符串的转换, 因为这玩意是纯C语言的东西.....对于一个iOS开发者来说, C真心薄弱的可以....

    • 如果你的数据过多, 建议不要尝试这个方法......因为你遍历的时候基本可以去睡一觉了.....

        // 查询所有数据
        - (void)queryAll {
            
            // 1. 语句
            NSString *sql = @"select * from T_human";
            
            // 2. 创建一个准备语句
            sqlite3 *db = [SQLiteTool shareInstance].db;
            sqlite3_stmt *stmt = nil;
            
            if (sqlite3_prepare_v2(db, sql.UTF8String, -1, &stmt, nil) != SQLITE_OK) {
                NSLog(@"编译失败");
                return;
            }
            
            // 3. 绑定参数的步骤可以省略
            // 4. 执行
            while (sqlite3_step(stmt) == SQLITE_ROW) {
                // 每遍历一次, 都是取出一行数据出来
                
                // 4.1 确定列数
                NSUInteger count = sqlite3_column_count(stmt);
                
                // 4.2 遍历所有的列
                for (int i = 0; i < count; i++) {
                    // 4.3 取出列名
                    NSString *columnName = [NSString stringWithUTF8String:sqlite3_column_name(stmt, i)];
                    NSLog(@"columnName = %@", columnName);
                    
                    // 4.4 取出这一列对应的值
                    int type = sqlite3_column_type(stmt, i);
                    
                    // 4.5 根据不同的类型, 使用不同的函数, 取出不同的值
                    if (type == SQLITE_INTEGER) {
                        // 取出年龄
                        int age = sqlite3_column_int(stmt, i);
                        NSLog(@"age = %i", age);
                    }
                    
                    if (type == SQLITE_FLOAT) {
                        // 取出身高
                        float height = sqlite3_column_double(stmt, i);
                        NSLog(@"height = %f", height);
                    }
                    
                    if (type == SQLITE_TEXT) {
                        // 取出姓名
                        NSString *name = [NSString stringWithCString:(char *)sqlite3_column_text(stmt, i) encoding:NSUTF8StringEncoding];
                        NSLog(@"nage = %@", name);
                    }
                }
            }
            
            // 5. 重置准备语句可以省略
            
            // 6. 释放资源
            sqlite3_finalize(stmt);
        }

相关文章

  • 10. 代码实现DQL查询语句

    查询语句与之前的几个语句相比较, 是最麻烦的, 因为他要取出每一条数据, 去匹配他的类型, 然后再取出来本人只尝试...

  • 5. DQL语句和查询相关语句以及多表查询

    DQL语句和查询相关语句以及多表查询 一. DQL语句 数据查询语句DQL(Data Query Language...

  • SQL语句

    SQL语句主要分为四类 DQL(数据查询语言): 查询语句,凡是select语句都是DQL。 DML(数据操作语言...

  • JDBC之API详解(Resultset)

    ResultSet ResultSet(结果集对象)作用: 封装了DQL查询语句的结果执行DQL语句后,将所得...

  • SQL基础概念

    SQL分类 DQL(数据查询语言):查询语句,凡是select都是DQL DML(数据操作语言):insert d...

  • MySQL约束课堂笔记

    今日内容 一、DQL:查询语句2、排序查询3、聚合函数4、分组查询5、分页查询二、约束三、多表之间的关系 DQL:...

  • 2020-08-03(约束)

    1,dql:查询语句; 排序查询,聚合函数,分组查询,分页查询; a,排序; order by ,asc...

  • sql场景记忆

    1.常见的ddl,dql,dml联合场景 ddl:对于表结构的管理sql语句dql:常见的sql查询语句dml:常...

  • SQL语句汇总(方便粘贴sqlite语句)

    DDL语句 删除表 创建表 DML语句 插入语句 更新数据 删除数据 DQL语句 基本查询 查询特殊的字段 通过条...

  • DQL

    MySQL单表查询:目的:在MySQL管理软件中,可以通过SQL语句中的DQL语言来实现数据的分类:简单查询:如所...

网友评论

      本文标题:10. 代码实现DQL查询语句

      本文链接:https://www.haomeiwen.com/subject/kjzmdttx.html