首页 > 代码库 > 那些年一起填过的坑
那些年一起填过的坑
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;
那些年一起填过的坑