Exemplo n.º 1
0
 /// <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();
 }
Exemplo n.º 2
0
 /// <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);
     }
 }