SQLiteDataBase

什么是SQLiteDataBase ?

一个SQLiteDatabase 的实例代表了一个SQLite的数据库,通过SQLiteDatabase实例的一些方法,我们可以执行SQL语句,对数据库进行增/删/查/改 的操作.

需要注意的是,数据库对于一个应用来说是私有的,并且在一个应用中,数据库的名字也是唯一的.


什么是SQLiteOpenHelper ?

这是一个SQLite的辅助类.这个类主要生成一个数据库,并对数据库的版本进行管理.当在程序当中调用这个类的方法getWritableDatabase()或者getReadableDatabase()方法的时候,如果当时没有数据,那么系统就会自动生成一个数据库.

SQLiteOpenHelper类是一个抽象类,通常需要继承这个类,并且实现里面的3个函数.

onCreate(SQLiteDatabase);

onUpgrade(SQLiteDatabase,int,int);

onOpen(SQLiteDatabase);

其中

onCreate(SQLiteDatabase)在数据库第一次生成的时候会调用,一般在这个方法里面生成数据库表.

onUpgrade(SQLiteDatabase,int,int)当数据库需要升级的时候,系统会主动调用这个方法.一般在这个方法里面删除数据表,并建立新的数据表.第一个参数是SQLiteDatabase对象,第二个参数是旧的版本号,第三个参数是新的版本号.

onOpen(SQLiteDatabase)这是当打开数据库时的回调函数,一般不会用到.


====================

可以用如下方法创建数据库:

1. Context.crtaetDatabase(String name , int vision , int mode , CursorFactory factory);

创建一个新的数据库并返回一个SQLiteDatabase对象


2. SQLiteDatabase mydb = SQLiteDatabase.create(new CurosrFactory(){

    @override

    public Cursor newCursor(SQLiteDatabase db , SQLiteCursorDriver masterQuery , String editTable , SQLiteQuery query)

    {

        return null;

    }

});


3.SQLiteDatabase db = this.openOrCreateDatabase("mydb.db" , MODE_PRIVATE , new CursorFactory(){

    @Override

    public Cursor newCursor(SQLiteDatabase db , SQLiteCursorDriver masterQuery , String editTable , SQLiteQuery query)

    {

         //TODO Auto-generated method stub

        return null;

    }

});


删除数据库

Context.deleteDatabase(String name); //删除指定名字的数据库


打开数据库

Context.openDatabase(String basename , CursorFactory factory);  //打开一个数据库,并返回SQLiteDatabase对象


非查询SQL指令

SQLiteDatabase.execSQLite(String sql);  //可以用来执行非查询的SQL指令,这些指令执行后并没有结果返回.


查询SQL指令,游标Cursors的使用

Cursor cursor = mydb.rawQuery(String sql , String[] selectionArg);  //第一个参数为查询语句 , 第二个参数为查询语句中的占位符 , 若没有占位符 ,则第二个参数为null


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值