private async Task <bool> Update_A_Row(DP6SQLROW row) { return(await((Func <Task <bool> >)(() => { return Task.Run(() => { try { string[] arrField = new string[1]; string[] arrValue = new string[1]; OraDB oraDB = new OraDB("qwer", "sfcabar", "sfcabar*168"); string tablename = "sfcdata.barautbind"; if (oraDB.isConnect()) { IsTCPConnect = true; arrField[0] = "SCBARCODE"; arrValue[0] = row.Bar; DataSet s = oraDB.selectSQL(tablename.ToUpper(), arrField, arrValue); SinglDt = s.Tables[0]; if (SinglDt.Rows.Count == 0) { MsgText = AddMessage("未查询到 " + row.Bar + " 信息"); oraDB.disconnect(); return false; } else { string[,] arrFieldAndNewValue = { { "BLDATE", ("to_date('" + row.BLDATE + "', 'yyyy/mm/dd hh24:mi:ss')").ToUpper() }, { "BLID", row.BLID }, { "BLNAME", row.BLNAME }, { "BLUID", row.BLUID }, { "BLMID", row.BLMID } }; string[,] arrFieldAndOldValue = { { "SCBARCODE", row.Bar } }; oraDB.updateSQL2(tablename.ToUpper(), arrFieldAndNewValue, arrFieldAndOldValue); s = oraDB.selectSQL(tablename.ToUpper(), arrField, arrValue); SinglDt = s.Tables[0]; oraDB.disconnect(); MsgText = AddMessage("条码 " + row.Bar + " 已更新"); return true; } } else { IsTCPConnect = false; MsgText = AddMessage("数据库链接失败"); return false; } } catch (Exception ex) { IsTCPConnect = false; MsgText = AddMessage("数据插入失败: " + ex.Message); Console.WriteLine(ex.Message); return false; } } ); }))()); }
private async void ReUpLoad() { DataTable dt = new DataTable(); DataTable dt1; dt.Columns.Add("BLDATE", typeof(string)); dt.Columns.Add("BLID", typeof(string)); dt.Columns.Add("BLNAME", typeof(string)); dt.Columns.Add("BLUID", typeof(string)); dt.Columns.Add("BLMID", typeof(string)); dt.Columns.Add("Bar", typeof(string)); string filename = @"D:\NotUpdate.csv"; UpdateCount = 0; if (File.Exists(filename)) { dt1 = Csvfile.GetFromCsv(filename, 1, dt); if (dt1.Rows.Count > 0) { File.Delete(filename); foreach (DataRow item in dt1.Rows) { DP6SQLROW dP6SQLROW = new DP6SQLROW(); dP6SQLROW.BLDATE = item[0].ToString(); dP6SQLROW.BLID = item[1].ToString(); dP6SQLROW.BLMID = item[4].ToString(); dP6SQLROW.BLNAME = item[2].ToString(); dP6SQLROW.BLUID = item[3].ToString(); dP6SQLROW.Bar = item[5].ToString(); bool r; using (var releaser = await m_lock.LockAsync()) { r = await Update_A_Row(dP6SQLROW); } if (r)//更具是否上传成功,写入不同的记录文档 { lock (DisEq) { _BarcodeRecord.Enqueue(dP6SQLROW); } WriteRecordtoExcel(dP6SQLROW, true); UpdateCount++; //上传成功 } else { WriteRecordtoExcel(dP6SQLROW, false); //上传失败 } } } } LastReUpdateStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Inifile.INIWriteValue(iniParameterPath, "ReUpLoad", "LastReUpdateStr", LastReUpdateStr); }
private void LoadBarCsvFromFile() { DataTable dt = new DataTable(); DataTable dt1; dt.Columns.Add("BLDATE", typeof(string)); dt.Columns.Add("BLID", typeof(string)); dt.Columns.Add("BLNAME", typeof(string)); dt.Columns.Add("BLUID", typeof(string)); dt.Columns.Add("BLMID", typeof(string)); dt.Columns.Add("Bar", typeof(string)); string bcstr = GetBanci(); string filename = @"D:\Record\" + bcstr + ".csv"; try { if (File.Exists(filename)) { dt1 = Csvfile.GetFromCsv(filename, 1, dt); if (dt1.Rows.Count > 0) { foreach (DataRow item in dt1.Rows) { DP6SQLROW dp6 = new DP6SQLROW(); dp6.BLDATE = item[0].ToString(); dp6.BLID = item[1].ToString(); dp6.BLNAME = item[2].ToString(); dp6.BLUID = item[3].ToString(); dp6.BLMID = item[4].ToString(); dp6.Bar = item[5].ToString(); lock (DisEq) { _BarcodeRecord.Enqueue(dp6); } } } } } catch (Exception ex) { MsgText = AddMessage(ex.Message); } }
/// <summary> /// 脚本执行完,给PLC赋值 /// </summary> private async void hcInspectCallback() { lock (PlcRW) { //给PLC置位 aS300ModbusTCP.WriteSigleCoil("M5001", true); } if (true)//更具找到的条码,上传数据 { DP6SQLROW dP6SQLROW = new DP6SQLROW(); dP6SQLROW.BLDATE = DateTime.Now.ToString(); dP6SQLROW.BLID = BLID; dP6SQLROW.BLMID = BLMID; dP6SQLROW.BLNAME = BLNAME; dP6SQLROW.BLUID = BLUID; dP6SQLROW.Bar = "123"; bool r; using (var releaser = await m_lock.LockAsync()) { r = await Update_A_Row(dP6SQLROW); } if (r)//更具是否上传成功,写入不同的记录文档 { lock (DisEq) { _BarcodeRecord.Enqueue(dP6SQLROW); } WriteRecordtoExcel(dP6SQLROW, true); //上传成功 } else { WriteRecordtoExcel(dP6SQLROW, false); //上传失败 } } }
private void WriteRecordtoExcel(DP6SQLROW dP6SQLROW, bool flag) { string bcstr = GetBanci(); string filename = @"D:\Record\" + bcstr + ".csv"; if (!flag) { filename = @"D:\NotUpdate.csv"; } try { if (!File.Exists(filename)) { string[] heads = { "BLDATE", "BLID", "BLNAME", "BLUID", "BLMID", "Bar" }; Csvfile.AddNewLine(filename, heads); } string[] conte = { dP6SQLROW.BLDATE, dP6SQLROW.BLID, dP6SQLROW.BLNAME, dP6SQLROW.BLUID, dP6SQLROW.BLMID, dP6SQLROW.Bar }; Csvfile.AddNewLine(filename, conte); } catch (Exception ex) { MsgText = AddMessage(ex.Message); } }