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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章