Android Studio SQLite数据库的编程

本文为本人学习整理后的资料。
自定义SQLite帮助类

//自定义SQLite帮助类
public class MyDatabaseHelper extends SQLiteOpenHelper {
    //建库的同时建表
    public static final String CREATE_BOOK="create table book("
            +"id integer primary key autoincrement, "
            +"authon text,"
            +"price real,"
            +"name text)";
    public static final  String CREATE_CATEGORY="create table Category ("
            +"id integer primary key autoincrement,"
            +"category_name text,"
            +"category_code integer)";
    private Context mContext;

    public MyDatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        mContext=context;
    }
   //第一次建库时执行onCreate函数,同时创建表,并给出提示
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_BOOK);
        db.execSQL(CREATE_CATEGORY);
        Toast.makeText(mContext,"Create succeeded",Toast.LENGTH_LONG).show();
    }
   //当数据库版本不同时,更新数据库执行onUpgrade()函数:先判断库中是否存表“book"和“Category"
    //如果存在则删除并执行onCreate()重新建库和表
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
           db.execSQL("drop table if exists book");
           db.execSQL("drop table if exists Category");
           onCreate(db);
    }
}

向数据库插入数据方法

button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();//获取SQLiteDatabase 对象
                ContentValues values=new ContentValues();//创建ContentValues对象
                //向ContentValues对象中填加数据
                values.put("name","The Da Vinci Code");
                values.put("authon","Dan Brown");
                values.put("price",16.96);
                //向数据库中插入数据
                db.insert("book",null,values);
                values.clear();

            }
        });

更新数据库方法,此方法只是演示更新的方法,并无实际意义,实际开发这种方式更新数据库是不可以的。

button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();
                ContentValues values=new ContentValues();
                values.put("price",10.99);
                db.update("book",values,"name=?",new String[]{"The Da Vinci Code"});
            }
        });

db.update第一个参数是表名,第二个参数要更新的数据,第三个参数相当于SQL语句中的where语句,表示去更新所有name等于?的行,?是一个占位符,可通过第四个参数提供的一人字符串数组为第三个参数中的每个占位符指定相应的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值