Android SQLite 之 增、删、改、查

初始化数据库

public class DatabaseHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "mydb.db"; //数据库名称
    private static final int version = 1; //数据库版本
    public DatabaseHelper(Context context) {
        super(context,DB_NAME,null,version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "create table user(username varchar(20) not null , password varchar(60) not null );";
        db.execSQL(sql);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 

    }
}
DatabaseHelper databaseHelper=new DatabaseHelper(MainActivity.this);
      
SQLiteDatabase db=databaseHelper.getReadableDatabase();

String sql = "insert into user(username,password) values ('" + etUserName.getText().toString().trim() + "','" + etPassword.getText().toString().trim() + "')";
db.execSQL(sql);

String whereClause="username=?";
String[] whereArgs={etUserName.getText().toString().trim()};
db.delete("user",whereClause,whereArgs);

String sql="update user set password='"+etPassword.getText().toString().trim()+"' where username='"+etUserName.getText().toString().trim()+"'";
db.execSQL(sql);

//查询所有数据
alUser.clear();
Cursor cursor = db.query("user",null,null,null,null,null,null);//查询并获得游标
while ((cursor.moveToNext())){
       User user=new User();
       user.username=cursor.getString(cursor.getColumnIndex("username"));
       user.password=cursor.getString(cursor.getColumnIndex("password"));
       alUser.add(user);
}

//模糊查询
1、使用db.query方法查询
Cursor cursor = db.query(TABLE_NAME, null, "name like '%" + searcherFilter + "%'", null, null, null, null);

2、使用db.execure方法查询
Cursor cursor=db.execure("select * from table_name where name like '%"+searcherFilter "%'")

SQLite数据库默认存储路径

data/data/<package_name>/databases/

在使用完Cursor后,要关闭Cursor,cursor.close();

如果不关闭,虽然前台不会force close,但后台会报错:DatabaseObjectNotClosedE
xception

在使用完SQLiteDatabase后,同样需要关闭。db.close(); 否则报错如Cursor。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值