SQLiteDataBase
来源:互联网 发布:大数据基础平台架构 编辑:程序博客网 时间:2024/05/20 18:49
什么是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
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SqLiteDatabase
- SQLiteDataBase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- UVA Birthday Cake (一条直线平分草莓)
- [每天一个知识点]0-程序员的三大美德(0)
- 简单介绍String与常量池以及String.intern()
- 23-NSArray(NSMutableArray)-Foundation
- java编程思想总结3
- SQLiteDataBase
- IE6下兼容性常见问题
- 复杂sql知识点积累
- nsdate把2014-01……转换为2014年……
- 24-(补充)NSArray(NSMutableArray)-Foundation
- Oracle审计与数据库防火墙(AVDF)官方文档
- Java中的Set,List,Map的区别
- POJ 2909 Goldbach's Conjecture
- ORACLE数据库中查看进程(processes)和会话(session)状态