android數據庫操作(一) SQLlite數據庫幫助類

package com.iceboard.tccme.DBHelper;


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;


public class IceDatabaseHelper extends SQLiteOpenHelper {




//數據庫版本
private static final int VERSION = 1;
//數據庫名稱,可以包含絕對路徑名
private static final String DB_NAME="iceboard.db3";

private Context mContext = null;   
    private String str = "";   
    private String table = "";    
   
    //用於初始化時,創建設備信息表的SQL
final String CREATE_TABLE_SQL_DEVICEINFO="Create table deviceInfo (_id integer primary key autoincrement," +
"device_no,grant_status,grant_unit,grant_key,group_no,balance,softwareversion,address,tel)"; 
//用於初始化時,創建學員信息表的SQL
final String CREATE_TABLE_SQL_STUDENTIFNO = "Create table studentInfo (_id integer primary key autoincrement," +
"user_id,hospitalname,username,loginname,icno,password) ";
//用於初始化時,創建病例表的SQL
final String CREATE_TABLE_SQL_SUBJECT = "Create table subject(_id integer primary key autoincrement,subject_id,subjectname)";
//用於初始時,創建病例庫表的SQL
final String CREATE_TABLE_CHANNELTABLE="Create table channelTable(_id integer primary key autoincrement,channel_id,channelname,channelattribute,url,version,serial)";
//用於初始化,創建項目列表的SQL,ID爲自增字段
final String CREATE_TABLE_PRODUCTLIST="Create table productList(_id integer primary key autoincrement,channel_id,project_id,exam_id,projectname,projectcode,score,projectnote,isdownload,teachername)";
//用於初始化,創建課程列表SQL
final String CREATE_TABLE_COURSELIST="Create table courseList(_id integer primary key autoincrement,project_id,project_remote_id,exam_id,course_id,coursename,fieldid,teachername,isdownload,savetosdcard)";
//用戶初始化,創建試卷列表SQL
final String CREATE_TABLE_EXAMLIST="Create table examList(_id integer primary key autoincrement,exam_id,examtime,fullscore,passscore)";
//用於初始化時,創建題幹庫 的SQL,其中的ID字段,存放服務器端的ID值
final String CREATE_TABLE_EXAMQUESTION="Create table examQuestion(_id integer primary key autoincrement,question_id,score,question,exam_id)";
//用於初始化時,創建試卷選項的SQL 
final String CREATE_TABLE_EXAMQUESTIONOPTION="Create table examQuestionOption(_id integer primary key autoincrement,question_id,option_id,option,answer)";
//用於初始化時,創建學員試卷結果的SQL
final String CREATE_TABLE_STUDENTEXAMRESULT="Create table studentExamResult(_id integer primary key autoincrement,studentid,project_id,course_id,exam_id,score,upload)";
//用於初始化時,創建學員試卷結果的SQL
final String CREATE_TABLE_ANNOUNCEMENT="Create table announcement(_id integer primary key autoincrement,notename,notes,readflag,datetime)";
//用於初始化時,創建學員試卷結果的SQL
final String CREATE_TABLE_WEBSITE="Create table webSite(_id integer primary key autoincrement,sitename,siteurl)";
//用於初始化時,創建服務器表的SQL
final String CREATE_TABLE_SERVERURL="Create table serverUrl(_id integer primary key autoincrement,serverurl)";
//用於初始化時,創建下載列表SQL
final String CREATE_TABLE_DOWNLOADLIST="Create table downloadlist(_id integer primary key autoincrement,project_id,course_id,fieldid,flag,filesize,trynum,savatosdcard,isad,url,downloadid)";
//用於保存文件下載器及線程的下載進度
final String CREATE_TABLE_FILEDOWNLOG ="Create table filedownlog (_id integer primary key autoincrement,filedownpath,threadid,downlength,downloadlist_id )";
//用於保存直播列表信息;
final String CREATE_TABLE_LIVETABLE ="Create table livetable (_id integer primary key autoincrement,channel_id,liveid,livename,liveurl )";
//用於保存廣告列表信息;
final String CREATE_TABLE_ADTABLE ="Create table adtable (_id integer primary key autoincrement,channel_id,fieldid,isdownload )";


/**
* 創建OpenHelper
* @param context 上下文
* @param name  數據庫名
* @param factory 遊標工廠 
* @param version 數據庫版本,不要設置爲0,如果爲0每次都要創建數據庫;
* @param str 傳入進來的SQL語句
* @param table 表名
* */
public IceDatabaseHelper(Context context, String name, CursorFactory factory,   
int version, String str, String table) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
this.setmContext(context);
this.setStr(str);
this.setTable(table);
}


/**
* 創建OpenHelper
* @param context 上下文
* @param name  數據庫名
* @param factory 遊標工廠 
* @param version 數據庫版本,不要設置爲0,如果爲0每次都要創建數據庫;
* */
public IceDatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
this.setmContext(context);
// TODO Auto-generated constructor stub
}

/**
* 創建OpenHelper
* @param context上下文
* @param name數據庫名
* */
public IceDatabaseHelper(Context context,String name){
super(context, name, null, VERSION);
}

/**
* 創建OpenHelper
* @param context上下文
* @param name數據庫名
* **/
public IceDatabaseHelper(Context context){
super(context, DB_NAME, null, VERSION);
}


@Override
public void onCreate(SQLiteDatabase db) { 
//創建用戶表
db.execSQL(CREATE_TABLE_SQL_DEVICEINFO);
//創建學員信息表
db.execSQL(CREATE_TABLE_SQL_STUDENTIFNO);
//創建學科
db.execSQL(CREATE_TABLE_SQL_SUBJECT);
//創建頻道表
db.execSQL(CREATE_TABLE_CHANNELTABLE);
//創建產品項目表
db.execSQL(CREATE_TABLE_PRODUCTLIST);
//創建課程表
db.execSQL(CREATE_TABLE_COURSELIST);
//創建試卷
db.execSQL(CREATE_TABLE_EXAMLIST);
//創建題幹表
db.execSQL(CREATE_TABLE_EXAMQUESTION);
//創建題幹選項表
db.execSQL(CREATE_TABLE_EXAMQUESTIONOPTION);
//創建學員結果表
db.execSQL(CREATE_TABLE_STUDENTEXAMRESULT);
//創建網站信息表
db.execSQL(CREATE_TABLE_WEBSITE);
//創建通知公告表
db.execSQL(CREATE_TABLE_ANNOUNCEMENT);
//創建服務器表
db.execSQL(CREATE_TABLE_SERVERURL);
//創建下載表
db.execSQL(CREATE_TABLE_DOWNLOADLIST);
//創建下載進程表
db.execSQL(CREATE_TABLE_FILEDOWNLOG);
//創建直播列表
db.execSQL(CREATE_TABLE_LIVETABLE);
//創建直播列表
db.execSQL(CREATE_TABLE_ADTABLE);

}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
//發現有版本更新,刪除以下幾張表;
db.execSQL("DROP TABLE " + "deviceInfo");
db.execSQL("DROP TABLE " + "StudentInfo");
db.execSQL("DROP TABLE " + "subject");
db.execSQL("DROP TABLE " + "channelTable");
db.execSQL("DROP TABLE " + "productList");
db.execSQL("DROP TABLE " + "courseList");
db.execSQL("DROP TABLE" + "examList");
db.execSQL("DROP TABLE" + "examQuestion");
db.execSQL("DROP TABLE" + "ExamQuestionOption");
db.execSQL("DROP TABLE" + "StudentExamResult");
db.execSQL("DROP TABLE" + "Announcement");
db.execSQL("DROP TABLE" + "WebSite");
db.execSQL("DROP TABLE" + "serverUrl");
db.execSQL("DROP TABLE" + "downloadlist");
db.execSQL("DROP TABLE" + "filedownlog");
db.execSQL("DROP TABLE" + "livetable");
db.execSQL("DROP TABLE" + "adtable");
this.onCreate(db);
}


public Context getmContext() {
return mContext;
}


public void setmContext(Context mContext) {
this.mContext = mContext;
}


public String getStr() {
return str;
}


public void setStr(String str) {
this.str = str;
}


public String getTable() {
return table;
}


public void setTable(String table) {
this.table = table;
}


}
發佈了39 篇原創文章 · 獲贊 8 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章