先看这个: android操作数据库有两种方式, 第一种是调用android提供的api来操作, 这种api是googl在android底层对sql的一种封装; 第二种是直接调用sql语句操作数据库, 这种方式就是直接执行sql语句, 写好sql语句即可;
第一种方式: Android自带api操作sqlit数据库
本文内容包裹:
- android原生api操作sqlit数据库
- 增删改查 都有
/**
* 增 --->> insert 方法
* 先说需求: 给数据库里新增一个用户, 增加之前先要判断这个用户是否存在(这里不做判断)
*/
String name = "geaosu";
int age = 26;
int gender = 1; //1男, 0女
SQLiteDatabase db = DBUtils.getInstance().getDbHelper(this, "user");
ContentValues c = new ContentValues();
c.put("name", name);
c.put("age", age);
c.put("gender", gender);
long user = db.insert("user", null, c);
if (user != -1) {
// 添加成功
} else {
// 添加失败
}
/**
* 删 --->> delete 方法
* 先说需求: 删除账号为geaosu的用户
*/
String loginName = "geaosu";
SQLiteDatabase db = DBUtils.getInstance().getDbHelper(this, "user");
int delete = db.delete("user", "loginName = ?", new String[]{loginName});
if (delete > 0) {
// 删除成功
} else {
// 删除失败
}
/**
* 改 --->> update 方法
* 先说需求: 修改密码, 修改账号为111, 原密码为222的用户密码, 将原来的111改为新的222
*/
String loginName = "111"; // 账号
String pwd= "111"; // 原密码
String newPwd= "222"; // 新密码
// 要修改的内容
ContentValues values = new ContentValues();
values.put("pwd", newPwd); // 修改密码
// 获取数据库帮助类 - DBUtils在本文最后
SQLiteDatabase updateDB = DBUtils.getInstance().getDbHelper(ChangePwdActivity.this, "user");
// 修改 count 参数指的是被修改的数据表中被修改的行数的数量
int count = updateDB.update("user", values, "loginName = ? and pwd = ?", new String[]{loginName, pwd});
// 当count=1时, 说明修改了一条数据, 也说明修改成功了, 如果count>1说明修改了多个用户的密码, 错误操作需谨慎
// 当count<=0时, 说明没有修改数据, 这时候有可能sql子句中的条件没有满足的, 或者是sql语句报错了
if (count > 0) {
ToastUtils.showShort("修改成功");
} else {
ToastUtils.showShort("修改失败");
}
/**
* 查 --->>query 方法
* 先说需求: 查询所有用户, 按照用户姓名排序
*/
List<User> mUserList = new ArrayList()<>;
SQLiteDatabase db = DBUtils.getInstance().getDbHelper(getActivity(), "user");
// 参1: 表名
// 参7: 排序方式, 按照name字段排序
Cursor cursor = db.query("user", null, null, null, null, null, "name");
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
int gender = cursor.getInt(cursor.getColumnIndex("gender"));// 1男, 0女
mList.add(new User(name, age, gender));
}
cursor.close();
if (mList.size() > 0) {
// 有数据
} else {
// 无数据
}
第二种方式: Android执行sql语句操作sqlit数据库
本文内容包裹:
- android执行sql语句操作sqlit数据库
- 增删改查 都有
//TODO 等待补齐