/// <summary> /// 初始化数据库 /// </summary> public void InitDB() { try { string CommandText = "SELECT COUNT(*) as cnt FROM sqlite_master where type='table' and name='{0}'"; object count = this.SqliteHelper.ExecuteScalar(CommandType.Text, String.Format(CommandText, "cards")); if (count == null || count.ToString() == "0") { CommandText = "CREATE TABLE [cards] (kdt integer,epc nvarchar(200),dt integer,flag int,PRIMARY KEY(kdt,epc))"; int x = this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText); } CommandText = "SELECT COUNT(*) as cnt FROM sqlite_master where type='table' and name='{0}'"; count = this.SqliteHelper.ExecuteScalar(CommandType.Text, String.Format(CommandText, "WorkTimeList")); if (count == null || count.ToString() == "0") { CommandText = "CREATE TABLE [WorkTimeList] (ID varchar(32),LatestTime integer,FromTime integer,ToTime integer,Flag int ,PRIMARY KEY(ID,LatestTime))"; this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText); } CommandText = "SELECT COUNT(*) as cnt FROM sqlite_master where type='table' and name='{0}';"; count = this.SqliteHelper.ExecuteScalar(CommandType.Text, String.Format(CommandText, "params")); if (count == null || count.ToString() == "0") { CommandText = "CREATE TABLE [params] (pkey nvarchar(200),pvalue nvarchar(200),PRIMARY KEY(pkey))"; this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText); CommandText = ""; CfgAttribute cfgAttr = null; //Array Arrays = Enum.GetValues(typeof(ConfigParams)); ///// <summary> ///// 采集器编号 ///// </summary> //[Cfg("1", "^[a-zA-Z_0-9]+$", RegexOptions.None)] //DeviceNo, ///// <summary> ///// 循环周期(卡循环使用一次最少用时,单位:分钟) ///// </summary> //[Cfg("90", @"\d+$", RegexOptions.None)] //CycInterval, ///// <summary> ///// 采集器功能类型 ///// </summary> //[Cfg("-1", "*", RegexOptions.None)] //DeviceFuncType Array Arrays = new Enum[] { //采集器编号 ConfigParams.DeviceNo, //循环周期(卡循环使用一次最少用时,单位:分钟) ConfigParams.CycInterval, //采集器功能类型 ConfigParams.DeviceFuncType }; for (int i = 0; i < Arrays.Length; i++) { ConfigParams cp = (ConfigParams)Arrays.GetValue(i); cfgAttr = CfgAttribute.GetAttribute <CfgAttribute>(cp); CommandText += String.Format("insert into [params] (pkey,pvalue) values('{0}','{1}');", cp.ToString(), cfgAttr.DefaultValue); } this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText); } } catch (Exception ex) { LogManager.WriteLog(Framework.Libs.Common.LogFile.Error, ex.Message); throw ex; } }