Android SQLLite数据库操作(简单增删查改)

Android SQLLite数据库操作

SQLLite的数据写入有很多中种方式,但简单易懂的方式就是利用自带语句去写。
数据库是一个比较容易出差。

创建数据库和表

可以存放多张表,当数据库的表存在时,他不会进行表操作(除非版本号更新),不存在则创建新表
写一个类,继承SQLiteOpenHelper

 public OpenSQLite(@Nullable Context context) {
        super(context, "Tiku", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        //充值记录表
        db.execSQL("create table Chongzhi(carNo varchar(20),monery varchar(20),who varchar(20),Chongtime varchar(20))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

两个重要类

自己写的SQLiteOpenHelper类和SQLiteDatabase

添加

//添加到数据库
                openSQLite = new OpenSQLite(view.getContext());
                openSQLite.getWritableDatabase()
                        .execSQL(
                                "insert into Chongzhi (carNo,monery,who,Chongtime) values(?,?,?,?)",
                                new Object[]{"1", "23", "admin", time});

一定要注意将表名,以及字段名要输入正确。最好一开始就将数据库给设计好。

OpenHelper openHelper;//自己声明的创建数据的类
private SQLiteDatabase db;
//使用完后要记得Colse,先关db
openHelper = new OpenHelper(this);
//插入数据
    db = openHelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("userName", userName);
        values.put("email", Email);
        values.put("pwd", pwd);
        //提交数据
        long sum = db.insert("user", null, values);
if (sum > 0) {
    Toast.makeText(ZhuCe.this, "注册成功", Toast.LENGTH_SHORT).show();
} else {
    Toast.makeText(ZhuCe.this, "注册失败", Toast.LENGTH_SHORT).show();
}

这是使用ContentValues 提交数据,当然也可以直接写执行语句。

查询

Cursor cursor = db.query("user", null, "userName=?", new String[]{zhaohui_userNmae.getText().toString()}, null, null, null);
if (cursor.moveToFirst()){
    do {
        String db_email = cursor.getString(cursor.getColumnIndex("email"));
        if (db_email.equals(zhaohui_Email.getText().toString())) {
            zhaohui_showPwd.setText("密码:"+cursor.getString(cursor.getColumnIndex("pwd")));
            zhaohui_showPwd.setVisibility(View.VISIBLE);
        } else {
            Toast.makeText(this, "邮箱号不匹配", Toast.LENGTH_SHORT).show();
        }

    } while (cursor.moveToNext());//执行循环查询

} else {
    Toast.makeText(this, "没有该用户", Toast.LENGTH_SHORT).show();
}
db.close();
openHelper.close();

有条件查询,分组查询,排序等,

删除

修改

"update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",

				new Object[] { configInfo.getS(), configInfo.getRt(),

						configInfo.getSt(), configInfo.getRu(),

						configInfo.getV(), configInfo.getI(),

						configInfo.getId() });

db.delete("Student", "stud_no = 'S108'", null);

你可能感兴趣的:(Android)