/// <summary> /// 更新数据方法 /// </summary> /// <param name="lst">列表对象</param> private void UpdateData(Models.DataBaseRecord rec, DataOrder dataorder) { if (dataorder == DataOrder.Cooling) { var result = from buff in recLst where string.IsNullOrEmpty(buff.temperature4) && buff.serialNumber == rec.serialNumber select buff; if (result == null) { return; } if (result.ToList().Count == 0) { recLst.Add(rec); } else { Models.DataBaseRecord bu = result.ToList()[0]; bu.coolingTime = (timeSecondCooling).ToString("f1"); bu.pressure = rec.pressure; bu.temperature4 = rec.temperature4; bu.flow1 = rec.flow1; bu.flow2 = rec.flow2; bu.flow3 = rec.flow3; } } else if (dataorder == DataOrder.Heat) { recLst.Add(rec); } BinaryFile.FileName = fileName; BinaryFile.SaveBinary(recLst.ConvertAll(s => (object)s)); }
/// <summary> /// 添加一条记录 /// </summary> /// <param name="record">数据记录属性</param> /// <returns></returns> public static int AddHeatRecords(Models.DataBaseRecord record) { string sql = "insert into [HeatDataSheet]([serialNumber],[operatorName],[jobNumber],[voltage],[current],[power],[frequency],[energy],[temperature1],[temperature2],[temperature3],[temperature4],[flow1],[flow2],[flow3],[pressure],[heatTime],[coolingTime])"; sql += "values (@serialNumber,@operatorName,@jobNumber,@voltage,@current,@power,@frequency,@energy,@temperature1,@temperature2,@temperature3,@temperature4,@flow1,@flow2,@flow3,@pressure,@heatTime,@coolingTime)"; OleDbParameter[] para = new OleDbParameter[] { new OleDbParameter("@serialNumber", string.IsNullOrEmpty(record.serialNumber) ? "" : record.serialNumber), new OleDbParameter("@operatorName", string.IsNullOrEmpty(record.operatorName) ? "" : record.operatorName), new OleDbParameter("@jobNumber", string.IsNullOrEmpty(record.jobNumber) ? "" : record.jobNumber), new OleDbParameter("@voltage", string.IsNullOrEmpty(record.voltage) ? "" : record.voltage), new OleDbParameter("@current", string.IsNullOrEmpty(record.current) ? "" : record.current), new OleDbParameter("@power", string.IsNullOrEmpty(record.power) ? "" : record.power), new OleDbParameter("@frequency", string.IsNullOrEmpty(record.frequency) ? "" : record.frequency), new OleDbParameter("@energy", string.IsNullOrEmpty(record.energy) ? "" : record.energy), new OleDbParameter("@temperature1", string.IsNullOrEmpty(record.temperature1) ? "" : record.temperature1), new OleDbParameter("@temperature2", string.IsNullOrEmpty(record.temperature2) ? "" : record.temperature2), new OleDbParameter("@temperature3", string.IsNullOrEmpty(record.temperature3) ? "" : record.temperature3), new OleDbParameter("@temperature4", string.IsNullOrEmpty(record.temperature4) ? "" : record.temperature4), new OleDbParameter("@flow1", string.IsNullOrEmpty(record.flow1) ? "" : record.flow1), new OleDbParameter("@flow2", string.IsNullOrEmpty(record.flow2) ? "" : record.flow2), new OleDbParameter("@flow3", string.IsNullOrEmpty(record.flow3) ? "" : record.flow3), new OleDbParameter("@pressure", string.IsNullOrEmpty(record.pressure) ? "" : record.pressure), new OleDbParameter("@heatTime", string.IsNullOrEmpty(record.heatTime.ToString()) ? "" : record.heatTime.ToString()), new OleDbParameter("@coolingTime", string.IsNullOrEmpty(record.coolingTime.ToString()) ? "" : record.coolingTime.ToString()), }; return(DBHelp.ExecuteCommand(sql, para)); }
/// <summary> /// 冷却数据更新到list /// </summary> public void LaterData() { Models.DataBaseRecord rec = new Models.DataBaseRecord { coolingTime = (timeSecondCooling).ToString("f1"), serialNumber = LoginWindowViewModel.productNumber.ProductNumberFull, operatorName = LoginWindowViewModel.productNumber.OperatorName, jobNumber = LoginWindowViewModel.productNumber.WorksNumber, pressure = S71KConnect.userItem.ActPressure.ToString("f1"), temperature4 = S71KConnect.userItem.ActTemp4.ToString("f1"), flow1 = S71KConnect.userItem.ActFlow1.ToString("f1"), flow2 = S71KConnect.userItem.ActFlow2.ToString("f1"), flow3 = S71KConnect.userItem.ActFlow3.ToString("f1") }; UpdateData(rec, DataOrder.Cooling); //载入数据到xml }
/// <summary> /// 更新一条检测记录 /// </summary> /// <param name="record">数据记录属性</param> /// <returns></returns> public static bool UpdateKJRecordByNO(Models.DataBaseRecord record) { try { //string sql = "update [DataSheet] set "; //sql += "[kjh]='" + record.kjh + "'"; //sql += " where [qh]=" + "'" + record.qh + "'"; //DBHelp.ExecuteCommand(sql); return(true); } catch (Exception e) { Console.WriteLine(e.Message); throw; } }
/// <summary> /// 根据SQL语句查询所有的记录 /// </summary> /// <param name="safeSql">SQL语句</param> /// <returns></returns> public static List <Models.DataBaseRecord> GetRecordBySql(string safeSql) { List <Models.DataBaseRecord> list = new List <Models.DataBaseRecord>(); list.Clear(); try { DataSet ds = DBHelp.GetDataSet(safeSql); if (ds == null) { return(list); } foreach (DataRow row in ds.Tables[0].Rows) { Models.DataBaseRecord record = new Models.DataBaseRecord(); record.serialNumber = row["serialNumber"].ToString(); record.operatorName = row["operatorName"].ToString(); record.jobNumber = row["jobNumber"].ToString(); record.voltage = row["voltage"].ToString(); record.current = row["current"].ToString(); record.power = row["power"].ToString(); record.frequency = row["frequency"].ToString(); record.energy = row["energy"].ToString(); record.temperature1 = row["temperature1"].ToString(); record.temperature2 = row["temperature2"].ToString(); record.temperature3 = row["temperature3"].ToString(); record.temperature4 = row["temperature4"].ToString(); record.flow1 = row["flow1"].ToString(); record.flow2 = row["flow2"].ToString(); record.flow3 = row["flow3"].ToString(); record.pressure = row["pressure"].ToString(); record.heatTime = row["heatTime"].ToString(); record.coolingTime = row["coolingTime"].ToString(); list.Add(record); } return(list); } catch (Exception e) { Console.WriteLine(e.Message); throw; } }
/// <summary> /// 加热数据更新到list /// </summary> public void EarlierData() { Models.DataBaseRecord rec = new Models.DataBaseRecord { heatTime = timeSecondHeat.ToString("f1"), serialNumber = LoginWindowViewModel.productNumber.ProductNumberFull, operatorName = LoginWindowViewModel.productNumber.OperatorName, jobNumber = LoginWindowViewModel.productNumber.WorksNumber, voltage = S71KConnect.userItem.Voltage.ToString("f1"), current = S71KConnect.userItem.Current.ToString("f1"), power = S71KConnect.userItem.Power.ToString("f1"), frequency = S71KConnect.userItem.Frequency.ToString("f1"), energy = S71KConnect.userItem.Energy.ToString("f1"), temperature1 = S71KConnect.userItem.ActTemp1.ToString("f1"), temperature2 = S71KConnect.userItem.ActTemp2.ToString("f1"), temperature3 = S71KConnect.userItem.ActTemp3.ToString("f1") }; UpdateData(rec, DataOrder.Heat); //载入数据到xml }
/// <summary> /// 检查序列化文件是否存在,如果存在就读取再保存到access数据库,不存在就new一个新的list /// </summary> private void CheckFileBuff() { try { //检查目录下是否有序列化文件,若存在就反序列化读取,不存在就创new一个新的list if (File.Exists(fileName)) { DataBase.DBHelp.FileName = DataBase.DBHelp.fileName; //指定数据库路径 BinaryFile.FileName = fileName; //指定序列化文件路径 //读取出序列化文件的内容到List表 recLst = BinaryFile.ReadBinary().ConvertAll(s => (Models.DataBaseRecord)s); //读取序列化文件内容到list Models.DataBaseRecord rec = recLst[0]; //获取出列表第一个参数项 List <string> listTem = new List <string>(); //实例化一个类属性让下面SQL语读出查找的项用来做判断 listTem = DataBase.CQServices.GetRecordSql(@"SELECT DataSheet.serialNumber FROM DataSheet WHERE(((DataSheet.serialNumber) = '" + rec.serialNumber + @"'))"); //判断数据库里有无重复编号,有的话就删除,没有就插入 if (listTem.Count > 0) { DataBase.CQServices.DeleteRecord(rec.serialNumber); //删除重复项 } DataBase.CQServices.BulckInsert(recLst); //向ACCESS数据库添加数据列表 File.Delete(fileName); //删除序列化文件 recLst.Clear(); //清空数据列表 } else { recLst.Clear(); } } catch (Exception ex) { CMessageBox.Show(ex.Message, "提示"); return; } }