81041
2019-11-18 86397b404b0f18da000b2eb9ad64a5cbedb4cc93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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);
       
    }
}