Android(五)安卓SQLite数据库方法

来源:互联网 发布:centos 文档 编辑:程序博客网 时间:2024/04/29 15:43

DatabaseHelper类继承了SQLiteOpenHelper类,并重写了onCreateonUngrade方法。

private static class DatabaseHelper extends SQLiteOpenHelper{

DatabaseHelper (Context context){

Super(context,DATABASE_NAME,null,DATABASE_VERSION);

}

public void onCreate(SQLiteDatabase db){

String sql = "CREATE TABLE tb_test (_id INTEGER DEFAULT '1' NOT NULL   PRIMARY KEY AUTOINCREMENT,class_jb TEXT NOT NULL,class_ysbj TEXT NOT NULL,title TEXT NOT NULL,content_ysbj TEXT NOT NULL)"; }

db.execSQL(sql);

}

public void onUpgrade (SQLiteDatabase db,int  oldVersion,int newVersion){

}

}

1SQLiteOpenHelper (android.database.sqlite.SQLiteOpenHelper)

这是一个抽象类,关于抽象类我们都知道,如果要使用它,一定是继承它!

 这个类的方法很少,有一个构造方法

 SQLiteOpenHelper(android.content.Context context, Java.lang.String name,android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version);

 参数不做过多的解释,CursorFactory一般直接传null就可以

 public void onCreate(SQLiteDatabase db)

 此方法在创建数据库是被调用,所以,应该把创建表的操作放到这个方法里面,一会儿在后面我们会再详细的说如何创建表

 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

 从方法名上我们就能知道这个方法是执行更新的,没错,当version改变是系统会调用这个方法,所以在这个方法里应该执行删除现有表,然后手动调用onCreate的操作

SQLiteDatabase getReadableDatabase()

可读的SQLiteDatabase对象

SQLiteDatabase getWritableDatabase()

 获取可写的SQLiteDatabase对象

2SQLiteDatabase(android.database.sqlite.SQLiteDatabase)

关于操作数据库的工作(增、删、查、改)都在这个类里

execSQL(sql)

执行SQL语句,用这个方法+SQL语句可以非常方便的执行增、删、查、改.除此之外,Android还提供了功过方法实现增、删、查、改

long insert(TABLE_NAME, null, contentValues)添加记录

int delete(TABLE_NAME, where, whereValue)删除记录

int update(TABLE_NAME, contentValues, where, whereValue) 更新记录

Cursor query(TABLE_NAME, null, null, null, null, null, null) 查询记录

3、Cursor(android.database.Cursor)

Cursor里的方法非常多,常用的有:

boolean moveToPosition(position)将指针移动到某记录

getColumnIndex(Contacts.People.NAME)按列名获取id

int getCount()获取记录总数

boolean requery()重新查询

boolean isAfterLast()指针是否在末尾

boolean isBeforeFirst()时候是开始位置

boolean isFirst()是否是第一条记录

boolean isLast()是否是最后一条记录

boolean moveToFirst() boolean moveToLast() boolean moveToNext()moveToPosition(position)

 

 


0 0