//查询数据库源输入、温湿度等数据 public static bool FillDividerDataFromMaster(DividerProcess dividerProcess, DividerData dividerData) { string table = ""; List <DividerItem> list = null; switch (dividerProcess.curMode) { case EnumMode.Divider_V_AC: table = "divider_now_ac"; list = dividerData.voltageACData; break; case EnumMode.Divider_V_DCP: table = "divider_now_dcp"; list = dividerData.voltageDCPData; break; case EnumMode.Divider_V_DCN: table = "divider_now_dcn"; list = dividerData.voltageDCNData; break; case EnumMode.Divider_F: table = "divider_now_f"; list = dividerData.frequencyData; break; } int index = dividerProcess.curNum + 1; string sql = @"select input,temperature,humidity from " + table + " where id = " + index; DataBase db = new DataBase(); DataTable dt = db.ExecuteQuery(sql); float standOut = float.Parse(dt.Rows[0]["input"].ToString()); float temperature = float.Parse(dt.Rows[0]["temperature"].ToString()); float humidity = float.Parse(dt.Rows[0]["humidity"].ToString()); if (dt != null) { list[dividerProcess.curNum].StandOut = standOut; list[dividerProcess.curNum].Temperature = temperature; list[dividerProcess.curNum].Humidity = humidity; } if (standOut < 0.00001 || temperature < 0.00001) { return(false); } else { return(true); } }
//根据测量模式批量插入分压器数据到divider_data表 public static bool SaveDividerDataByMode(DividerData dividerData, EnumMode mode) { DataBase db = new DataBase(); // string sql = "ALTER TABLE `divider_data` AUTO_INCREMENT = MAX(id) + 1"; // db.ExecuteQuery(sql); DataTable sourceTable = new DataTable(); sourceTable.TableName = "divider_data"; sourceTable.Columns.Add("divider_id", typeof(int)); sourceTable.Columns.Add("source_volt", typeof(float)); sourceTable.Columns.Add("source_freq", typeof(float)); sourceTable.Columns.Add("stand_divider_volt", typeof(float)); sourceTable.Columns.Add("test_divider_volt", typeof(float)); sourceTable.Columns.Add("temperature", typeof(float)); sourceTable.Columns.Add("humidity", typeof(float)); List <DividerItem> list = null; switch (mode) { case EnumMode.Divider_V_DCP: list = dividerData.voltageDCPData; break; case EnumMode.Divider_V_DCN: list = dividerData.voltageDCNData; break; case EnumMode.Divider_V_AC: list = dividerData.voltageACData; break; case EnumMode.Divider_F: list = dividerData.frequencyData; break; } AddRow2TableDivider(sourceTable, list, dividerData.dividerId); try { BulkInsert(sourceTable); } catch (Exception) { return(false); } return(true); }
//所有模式批量插入分压器数据到divider_data表 public static bool SaveDividerDataAll(DividerData dividerData) { DataBase db = new DataBase(); DataTable sourceTable = new DataTable(); sourceTable.TableName = "divider_data"; sourceTable.Columns.Add("divider_id", typeof(int)); sourceTable.Columns.Add("source_volt", typeof(float)); sourceTable.Columns.Add("source_freq", typeof(float)); sourceTable.Columns.Add("stand_divider_volt", typeof(float)); sourceTable.Columns.Add("test_divider_volt", typeof(float)); sourceTable.Columns.Add("temperature", typeof(float)); sourceTable.Columns.Add("humidity", typeof(float)); int dividerId = 1; List <DividerItem> list = null; list = dividerData.voltageDCPData; AddRow2TableDivider(sourceTable, list, dividerId); list = dividerData.voltageDCNData; AddRow2TableDivider(sourceTable, list, dividerId); list = dividerData.voltageACData; AddRow2TableDivider(sourceTable, list, dividerId); list = dividerData.frequencyData; AddRow2TableDivider(sourceTable, list, dividerId); try { BulkInsert(sourceTable); } catch (Exception) { return(false); } return(true); }