android开发之-数据库SQLite

[java]view plaincopy

print?

publicclassdbHelperextendsSQLiteOpenHelper{

privatefinalstaticString Database_name="hyb_db";//数据库的名字

privatefinalstaticString Table_name="book";//表的名字

privatefinalstaticString Table_history="history";//表的名字

//表 1 中的字段属性信息

publicfinalstaticString Book_id="_id";

publicfinalstaticString Book_image="image";

publicfinalstaticString Book_name="name";

publicfinalstaticString Book_path="path";

//表 2 中的字段属性信息

publicfinalstaticString History_id="_id";

publicfinalstaticString History_name="h_name";

publicfinalstaticString History_path="h_path";

publicfinalstaticString History_time="h_time";

//在构造函数中创建数据库

publicdbHelper(Context context)

{

super(context,Database_name,null,1);

}

@Override//创建表,重写抽象方法,当数据库第一次被创建时会调用该方法,若数据库已存在则不调用

publicvoidonCreate(SQLiteDatabase db) {

// TODO Auto-generated method stub

//自增长类型

String sql="Create table "+Table_name+"("+Book_id+" integer primary key autoincrement,"+Book_image+" varchar(50),"+Book_name+" varchar(200),"+Book_path+" varchar(200))";

db.execSQL(sql);

String sql2="Create table "+Table_history+"("+History_id+" integer primary key autoincrement,"+History_name+" varchar(50),"+History_path+" varchar(200),"+History_time+" varchar(200))";

db.execSQL(sql2);

}

@Override//重写抽象方法,OnUpgrade方法在数据库版本升级时会被调用

publicvoidonUpgrade(SQLiteDatabase db,intoldVersion,intnewVersion) {

// TODO Auto-generated method stub

String sql=" drop table if exists user TABLE IF EXISTS "+Table_name;

db.execSQL(sql);

String sql2=" drop table if exists user TABLE IF EXISTS "+Table_history;

db.execSQL(sql2);

onCreate(db);

}

//查询数据库中的数据

publicCursor select()

{

SQLiteDatabase db=this.getReadableDatabase();

Cursor cursor=db.query(Table_name,null,null,null,null,null," _id desc");

returncursor;

}

//查询数据库中的数据

publicCursor select_history()

{

SQLiteDatabase db=this.getReadableDatabase();

Cursor cursor=db.query(Table_history,null,null,null,null,null," _id desc");

returncursor;

}

//删除

publicvoiddelete(intid)

{

SQLiteDatabase db=this.getWritableDatabase();

String where=Book_id+"=?";//删除条件

String[] whereValue={Integer.toString(id)};//找到要删除的目标

db.delete(Table_name, where, whereValue);

}

//删除

publicvoiddelete_history(intid)

{

SQLiteDatabase db=this.getWritableDatabase();

String where=History_id+"=?";//删除条件

String[] whereValue={Integer.toString(id)};//找到要删除的目标

db.delete(Table_history, where, whereValue);

}

publiclonginsert(Book u)//u为准备要插入的数据

{

SQLiteDatabase db=this.getWritableDatabase();//以读写方式打开数据库

//使用类似map键值对映射的数据结构ContentValues来指定插入的数据

ContentValues cv=newContentValues();

cv.put(Book_image,R.drawable.book_list);

cv.put(Book_name,u.getName());

cv.put(Book_path,u.getPath());

longrow=db.insert(Table_name,null, cv);

returnrow;

}

publiclonginsert_history(History u)//u为准备要插入的数据

{

SQLiteDatabase db=this.getWritableDatabase();//以读写方式打开数据库

//使用类似map键值对映射的数据结构ContentValues来指定插入的数据

ContentValues cv=newContentValues();

cv.put(History_name,u.getName());

cv.put(History_path,u.getPath());

cv.put(History_time,u.getTime());

longrow=db.insert(Table_history,null, cv);

returnrow;

}

publicCursor query_name(String name)

{

SQLiteDatabase db =this.getReadableDatabase();

returndb.rawQuery("select* from "+Table_name+" where name like '%"+ name +"%' limit 10",null);

}

//修改

publicvoidupdate_history(intid,History u)

{

SQLiteDatabase db=this.getWritableDatabase();

String where=History_id+"=?";//修改条件

String[] whereValue={Integer.toString(id)};//找到修改的目标

ContentValues cv=newContentValues();

//新的值

cv.put(History_name,u.getName());

cv.put(History_path,u.getPath());

cv.put(History_time,u.getTime());

db.update(Table_history, cv, where, whereValue);

}

}

你可能感兴趣的:(android开发之-数据库SQLite)