/// <summary> /// 数据转置 /// </summary> private void TransferData(IVTestDataTransferThreadWrapper wrapper) { while (wrapper.Loop) { try { DeviceElement device = wrapper.Device; DateTime dtStartTime = DateTime.Now; string strFileFullName = DataTransfer.GetFullFile(device.Path, device.Format); string msg = string.Empty; if (!string.IsNullOrEmpty(strFileFullName)) { string accConString = string.Format(ACCESS_STRING, strFileFullName); string sqlConString = SQLSERVER_STRING; DataTransfer sdgData = new DataTransfer(accConString, sqlConString); sdgData.AccessToSqlServer(device.Name, device.Type, string.Empty); DateTime dtEndTime = DateTime.Now; if (sdgData.TransferCount > 0) { msg = string.Format("开始时间:{0};结束时间:{1};耗用时间:{2}秒;转置数据数量:{3}。{4}", dtStartTime, dtEndTime, (dtEndTime - dtStartTime).TotalSeconds, sdgData.TransferCount, strFileFullName ); _evnetLog.WriteEntry(msg); } } else { msg = string.Format("开始时间:{0};获取ACCESS数据库文件失败。", dtStartTime); _evnetLog.WriteEntry(msg); } } catch (Exception ex) { _evnetLog.WriteEntry(ex.Message, EventLogEntryType.Error); } if (wrapper.Loop) { Thread.Sleep(_sleepTime); } } wrapper.AutoResetEvent.Set(); }
/// <summary> /// 数据转置 /// </summary> private void TransferData(DeviceElement device) { try { string strFillFullName = txtFullName.Text; string lotNumber = this.txtLotNumber.Text; if (string.IsNullOrEmpty(strFillFullName)) { strFillFullName = DataTransfer.GetFullFile(device.Path, device.Format); } if (string.IsNullOrEmpty(strFillFullName)) { MessageBox.Show("请选择需要读取的Access文件!"); return; } DateTime dtStart = DateTime.Now; SetLableText(this.lblMsg, "正在运行,请稍等..."); SetButtonEnable(btnDataTransfer, false); string accConString = string.Format(ACCESS_CONNECTION_STRING, strFillFullName); string sqlConString = SQLSERVER_STRING; DataTransfer sdgData = new DataTransfer(accConString, sqlConString); bool bAllSuccess = sdgData.AccessToSqlServer(device.Name, device.Type, lotNumber); if (bAllSuccess == false) { MessageBox.Show("转置数据时出现错误,详细请查看Windows事件日志。"); } DateTime dtEnd = DateTime.Now; string msg = string.Format("开始时间:{0}。\n结束时间:{1}。\n耗用时间:{2}秒。\n转置数据数量:{3}。", dtStart.ToString("yyyy-MM-dd HH:mm:ss"), dtEnd.ToString("yyyy-MM-dd HH:mm:ss"), (dtEnd - dtStart).TotalSeconds, sdgData.TransferCount); SetButtonEnable(btnDataTransfer, true); SetLableText(this.lblMsg, msg); } catch (Exception ex) { EventLog.WriteEntry("Astronergy.MES.IVTest", ex.Message, EventLogEntryType.Error); MessageBox.Show(ex.Message); } }