package com.fgkj.dao;
|
import android.content.ContentValues;
|
import android.content.Context;
|
import android.database.Cursor;
|
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase.CursorFactory;
|
import android.database.sqlite.SQLiteOpenHelper;
|
import android.util.Log;
|
|
public class DBHelper extends SQLiteOpenHelper {
|
private final static int VERSION = 1;
|
private final static String DB_NAME = "fbs9600.db";
|
private SQLiteDatabase db;
|
|
//SQLiteOpenHelper子类必须要的一个构造函数
|
public DBHelper(Context context, String name, CursorFactory factory,int version) {
|
//必须通过super 调用父类的构造函数
|
super(context, name, factory, version);
|
}
|
|
//数据库的构造函数,传递三个参数的
|
public DBHelper(Context context, String name, int version){
|
this(context, name, null, version);
|
}
|
|
//数据库的构造函数,传递一个参数的, 数据库名字和版本号都写死了
|
public DBHelper(Context context){
|
this(context, DB_NAME, null, VERSION);
|
}
|
|
// 回调函数,第一次创建时才会调用此函数,创建一个数据库
|
@Override
|
public void onCreate(SQLiteDatabase db) {
|
this.db = db;
|
//System.out.println("Create Database");
|
//创建tb_battinf
|
Create_battinf(db);
|
|
//创建tb_batttestdata_inf
|
Create_batttestdata_inf(db);
|
|
//db.close();
|
|
}
|
|
//回调函数,当你构造DBHelper的传递的Version与之前的Version调用此函数
|
@Override
|
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
|
System.out.println("update Database");
|
|
}
|
|
//关闭数据库
|
public void close(){
|
if(db != null){
|
db.close();
|
}
|
}
|
//创建tb_battinf
|
public static void Create_battinf(SQLiteDatabase db){
|
String Create_battinf_sql=" CREATE TABLE if not exists tb_battinf ( "+
|
"num integer PRIMARY KEY AUTOINCREMENT NOT NULL," +
|
"BattGroupId int(11) NOT NULL DEFAULT '0'," +
|
"BattGroupName varchar(100) NOT NULL DEFAULT ' '," +
|
"BattGroupName1 varchar(100) NOT NULL DEFAULT ' '," +
|
"BattFloatCurrent float NOT NULL DEFAULT '0'," +
|
"MonCount int(11) NOT NULL DEFAULT '0'," +
|
"MonCapStd float NOT NULL DEFAULT '0'," +
|
"MonVolStd float NOT NULL DEFAULT '0'," +
|
"MonResStd float NOT NULL DEFAULT '0'," +
|
"MonSerStd float NOT NULL DEFAULT '0'," +
|
"MonTmpStd float NOT NULL DEFAULT '0'," +
|
"BattProducer varchar(45) NOT NULL DEFAULT '0'," +
|
"BattInUseDate date NOT NULL DEFAULT '2006-07-06'," +
|
"station_install tinyint(1) NOT NULL DEFAULT '0'" +
|
")";
|
db.execSQL(Create_battinf_sql);
|
String battinf_index_sql=" CREATE UNIQUE INDEX index_BattGroupId_unique ON tb_battinf (BattGroupId ASC) ";
|
db.execSQL(battinf_index_sql);
|
}
|
//创建tb_batttestdata_inf
|
public static void Create_batttestdata_inf(SQLiteDatabase db){
|
String Create_batttestdata_inf_sql="CREATE TABLE if not exists tb_batttestdata_inf ("+
|
" num integer NOT NULL PRIMARY KEY AUTOINCREMENT," +
|
" BattGroupId int(11) NOT NULL DEFAULT '0'," +
|
" test_record_count int(11) NOT NULL DEFAULT '0'," +
|
" test_record_count_ex int(11) NOT NULL DEFAULT '0'," +
|
" test_type int(11) NOT NULL DEFAULT '0'," +
|
" record_time_interval int(11) NOT NULL DEFAULT '0'," +
|
" data_new tinyint(1) NOT NULL DEFAULT '0'," +
|
" data_available tinyint(1) NOT NULL DEFAULT '0'," +
|
" record_num int(11) NOT NULL DEFAULT '0'," +
|
" test_starttime datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" test_starttime_ex datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" test_starttype int(11) NOT NULL DEFAULT '0'," +
|
" record_time datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" test_timelong int(11) NOT NULL DEFAULT '0'," +
|
" test_stoptype int(11) NOT NULL DEFAULT '0'," +
|
" group_vol float NOT NULL DEFAULT '0'," +
|
" test_curr float NOT NULL DEFAULT '0'," +
|
" test_cap float NOT NULL DEFAULT '0'," +
|
" max_monnum int(11) NOT NULL DEFAULT '0'," +
|
" max_monvol float NOT NULL DEFAULT '0'," +
|
" min_monnum int(11) NOT NULL DEFAULT '0'," +
|
" min_monvol float NOT NULL DEFAULT '0'," +
|
" mon_num int(11) NOT NULL DEFAULT '0'," +
|
" mon_vol float NOT NULL DEFAULT '0'," +
|
" upload_usr_id int(11) NOT NULL DEFAULT '0'," +
|
" upload_data_ext int(11) NOT NULL DEFAULT '0'," +
|
" upload_client_type int(11) NOT NULL DEFAULT '0'" +
|
")";
|
db.execSQL(Create_batttestdata_inf_sql);
|
String index_battgroup_idsql="CREATE INDEX index_battgroup_id ON tb_batttestdata_inf (BattGroupId ASC)";
|
db.execSQL(index_battgroup_idsql);
|
String index_test_record_countsql= "CREATE INDEX index_test_record_count ON tb_batttestdata_inf (test_record_count ASC)";
|
db.execSQL(index_test_record_countsql);
|
String index_test_starttimesql="CREATE INDEX index_test_starttime ON tb_batttestdata_inf (test_starttime ASC)";
|
db.execSQL(index_test_starttimesql);
|
}
|
//创建tb_batttestdata
|
public static void Create_batttestdata(SQLiteDatabase db,int battgroupid){
|
String Create_batttestdata_sql="CREATE TABLE if not exists tb_batttestdata_" +battgroupid+
|
" num integer NOT NULL PRIMARY KEY AUTOINCREMENT," +
|
" BattGroupId int(11) NOT NULL DEFAULT '0'," +
|
" test_record_count int(11) NOT NULL DEFAULT '0'," +
|
" test_type int(11) NOT NULL DEFAULT '0'," +
|
" data_new tinyint(1) NOT NULL DEFAULT '0'," +
|
" data_available tinyint(1) NOT NULL DEFAULT '0'," +
|
" record_num int(11) NOT NULL DEFAULT '0'," +
|
" test_starttime datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" record_time datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" test_timelong int(11) NOT NULL DEFAULT '0'," +
|
" online_vol float NOT NULL DEFAULT '0'," +
|
" group_vol float NOT NULL DEFAULT '0'," +
|
" test_curr float NOT NULL DEFAULT '0'," +
|
" test_cap float NOT NULL DEFAULT '0'," +
|
" mon_num int(11) NOT NULL DEFAULT '0'," +
|
" mon_vol float NOT NULL DEFAULT '0'," +
|
" mon_tmp float NOT NULL DEFAULT '0'" +
|
")";
|
db.execSQL(Create_batttestdata_sql);
|
String index_test_record_countsql= "CREATE INDEX index_test_record_count_"+battgroupid+" ON tb_batttestdata_"+battgroupid+" (test_record_count ASC);";
|
db.execSQL(index_test_record_countsql);
|
|
}
|
}
|