现在的位置: 首页 > 综合 > 正文

SQLiteOpenHelper数据库打开连接帮助类使用说明

2018年06月09日 ⁄ 综合 ⁄ 共 1357字 ⁄ 字号 评论关闭

SQLiteOpenHelper数据库打开连接帮助类:用于创建、打开、管理数据。

一、帮助类实现:

public class SqliteDBConnect extends SQLiteOpenHelper 
{
	//构造函数:NotePad:准备创建或连接的数据库名称,但构造时并不创建和连接
	public SqliteDBConnect(Context context) 
	{
		super(context, "NotePad", null, 1);
	}
	//带数据库名称和数据库版本的构造函数
	public SqliteDBConnect(Context context,String name,int version) 
	{
	  //name:数据库名称;version:数据库版本
		super(context, name, null, version);
	}	
	//当数据库创建的时候执行:创建表
	@Override
	public void onCreate(SQLiteDatabase db) 
	{
		db.execSQL("create table note(noteId Integer primary key,noteName varchar(20),noteTime varchar(20),noteContent varchar(400))");
	}	
	//如果数据库存在,但是版本不一样就调用onUpgrade(),数据库升级的时候调用
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
	{
	}
}

1、创建一个帮助类,在构造函数里指明要创建或要打开的数据库文件名:该数据库将建在包目录下

2、实现创建函数和更新函数

二、使用帮助类,进行数据库创建、或打开

//定义一个数据库连接对象
private SqliteDBConnect sd;
String name ="NotePad"
int nVersion=1;
//根据数据库名称和版本号构造数据库帮助对象
sd = new SqliteDBConnect(MainActivity.this,name,nVersion);

//当调用这个函数时,如果数据库没有创建则,创建数据库,并调用onCreat函数创建表
//如果数据库已经创建,看版本号是否同已经建的一致,若不一致,则调用更新函数onUpgrade,
//可以对数据库里表进行删除、修改、新增等操作
SQLiteDatabase sdb = sd.getReadableDatabase();

// 从数据库中查询数据,按升序排列
Cursor c1 = sdb.query("note", new String[] { "noteId", "noteName",
				"noteTime" }, null, null, null, null, "noteId asc");

说明:调用SQLiteOpenHelper的getReadableDatabase和getWriteableDatabase函数时:

1、如果数据库没创建,则根据构造函数里的数据库名创建数据库,创建完成后,调用它的onCreate函数创建表。

2、如果数据已经创建,判断构造函数里的传递的版本号是否一致,如果一样则什么也不做。

3、如果版本不一致,则调用它的onUpgrade函数,在次函数里可以删除、新增、修改表。

抱歉!评论已关闭.