第九天SQLite数据库

创建一个类继承SQLiteOpenHelper

重写里面的onCreate,onUpgrade两个方法和一个构造方法

package com.bw.myapplication;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.Nullable;

public class StudentHolper extends SQLiteOpenHelper {
    
    //context上下文
    //school创建的库名
    //null
    //1 数据库的版本号
    
    public StudentHolper(@Nullable Context context) {
        super(context, "school", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
//创建表
        sqLiteDatabase.execSQL("create table sch(id integer primary key autoincrement,name varchar(32),age integer)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

操作数据库有两种方法:

1,原生的操作方法2.系统提供的操作方法

添加

 public void insert(View view) {
        StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
        SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
        //原生方法
        writableDatabase.execSQL("insert into sch values(null,?,?)",new Object[]{"张三","19"});
       //系统方法
        ContentValues contentValues = new ContentValues();
        contentValues.put("name","王五");
        contentValues.put("age","50");
        writableDatabase.insert("sch",null,contentValues);

    }

删除

public void del(View view) {
        StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
        SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
        //原生方法
        writableDatabase.execSQL("delete from sch where id=?",new Object[]{"1"});
        //系统方法
        writableDatabase.delete("sch","id=?",new String[]{"5"});
    }

改写

 public void update(View view) {
        StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
        SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
        //原生方法
        writableDatabase.execSQL("update sch set name=? where id=?",new Object[]{"lisi","3"});
        //系统方法
        ContentValues contentValues = new ContentValues();
        contentValues.put("name","小王五");
        writableDatabase.update("sch",contentValues,"id=?",new String[]{"6"});
    }

查找

public void selate(View view) {
        StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
        SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
       //原生方法
        Cursor cursor = writableDatabase.rawQuery("select *from sch ", null);
        if (cursor!=null){
            while (cursor.moveToNext()){
                int id = cursor.getInt(cursor.getColumnIndex("id"));
                String name = cursor.getString(cursor.getColumnIndex("name"));
                int age = cursor.getInt(cursor.getColumnIndex("age"));
                Log.i("qqq", "id:"+id+"name: "+name+"age:"+age);
            }
        }
        cursor.close();
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值