首页 > 代码库 > 那些年一起填过的坑

那些年一起填过的坑


20140508

1. SQL 语句,拼接查询 ,字符串类型添加单引号,使用 == ,整形直接 直接赋值

    // 方法1

    String sql = "select id,name from table_temp where name == ‘人品‘  limit 30 offset 20 ";


    db.rawQuery(sql ,null);

    // 方法2  我能说未验证吗

    String sql = "select id,name from table_temp where name = ? limit ? offset ?"


    db.rawQuery(sql, new String[]{name_value, limit_value ,offset_value });

2. 模糊查询 ,使用 like ,% 占位符

参考模糊查询的三种方法


    //方法1


    String sql = "select id,name from table_temp where name  like  ‘%" + keyValue + "‘%";

    db.rawQuery(sql ,null);


    // 方法2  未验证 


    String sql = "select id,name from table_temp where name like ? ";


    db.rawQuery(sql ,new String[]{keyValue});

3. 获取 Cursor 返回值中的数据

今天在代码中遇到的问题

android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1

一直以为是查询时列的问题

Google 后才发现,Cursor 默认返回的下标是-1 ,在取值之前,要将下标移动到有返回值的地方。

添加 Cursor.moveToFirst() 这句后,就没有问题。

网友解释说明StackOverFlow 说明

4. 不得不说,今天还有更重要的一个地方,又一次栽倒在 BREAK 下。

Switch case 里面,忘记添加 break;

那些年一起填过的坑