前言
还是和上一篇博客感觉一样,感觉视频内容过多,做个笔记整理一下帮助消化
删除数据
1 2 3 4 5
| public long deleteByName(String name) { return mWDB.delete(TABLE_NAME, "name=?", new String[]{name}); }
|
这里的"name=?"
是筛选条件,后面的new String[]{name}
是代替?
的内容,也就是说删除name = 传进来的name的数据
更改数据
方法
1 2 3 4 5 6 7 8 9 10 11
| public long update(User user) { ContentValues values = new ContentValues(); values.put("name", user.name); values.put("age", user.age); values.put("height", user.height); values.put("weight", user.weight); values.put("married", user.married); return mWDB.update(TABLE_NAME, values, "name=?", new String[]{user.name});
}
|
使用
1 2 3 4 5 6 7 8 9 10 11 12 13
| if (view.getId() == R.id.btn_update) { user = new User(name, Integer.parseInt(age), Long.parseLong(height), Double.parseDouble(weight), married); if (mHelper.update(user) > 0) { ToastUtil.show(this,"修改成功"); }
}
|
查询数据
查询所有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public List<User> queryAll() { List<User> list = new ArrayList<>(); Cursor cursor = mRDB.query(TABLE_NAME, null, null, null, null, null, null); while (cursor.moveToNext()) { User user = new User(); user.id = cursor.getInt(0); user.name = cursor.getString(1); user.height = cursor.getLong(2); user.weight = cursor.getDouble(3); user.married = cursor.getInt(4) != 0; list.add(user); } return list; }
|
第三个null和第四个null是筛选条件
按指定数据查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public List<User> queryByName(String name) { List<User> list = new ArrayList<>(); Cursor cursor = mRDB.query(TABLE_NAME, null, "name=?", new String[]{name}, null, null, null); while (cursor.moveToNext()) { User user = new User(); user.id = cursor.getInt(0); user.name = cursor.getString(1); user.height = cursor.getLong(2); user.weight = cursor.getDouble(3); user.married = cursor.getInt(4) != 0; list.add(user); } return list;
}
|
注意观察二者改动
Cursor解释
cursor是游标
cursor.moveToNext()
如果移动到下一行数据返回true,所以这个while循环可以读取到每一行数据并添加到list
使用查询方法
1 2 3 4
| List<User> list = mHelper.queryByName(name); for (User u : list) { Log.d("sch", u.toString()); }
|
结语
写的有点水,希望能帮助到你或者日后的我