基本信息
源码名称:vb 上传数据库存实列
源码大小:0.82M
文件格式:.zip
开发语言:ASP
更新时间:2018-12-11
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

Imports System.IO
Imports System.Data.SqlClient
Imports System.Text
Public Class UpDataToServer
    ''' <summary>
    ''' 文件说明:
    ''' 本模块功能实现数据自动上传到服务器上的数据库中,安装电脑为服务器
    ''' 上传文件夹均自动生成,前提条件:临时文件夹,上传文件夹,备份文件
    ''' 夹中各站别的文件名称必须保持一致。
    ''' 杨垒  2010-12-20
    ''' </summary>
    ''' <remarks></remarks>
#Region "Private Field"
    Private DbMes As New YLeeFramework.ylDbSql("192.168.0.237", "LightMasterMes", "sa", "lm2011")
    Private DbNbosa As New YLeeFramework.ylDbSql("192.168.0.237", "NBOSA", "sa", "lm2011")
    Private DeviceName As String = "E:"
    Private UpFilePath As String = DeviceName & "\ProductFile\UpLoad\"
    Private BackupFilePath As String = DeviceName & "\ProductFile\BackupFile\"
    Private TempFilePath As String = DeviceName & "\ProductFile\TempFile\"
    Private ErrorFilePath As String = DeviceName & "\ProductFile\ErrorFile\"
    Private StartTime As DateTime
    Private UpFileTime As DateTime

    Private UpdateBatchSize As Integer = 20000

    Private Const FileNameLength = 65
#End Region

#Region "Excute Exception"
    Private Overloads Sub ExcuteException(ByVal Exc As Exception)
        Dim ErrMsg As String = "错误信息:" & Exc.Message & "---" & Exc.ToString & "---" & Exc.Source.ToString
        Dim ComputerName As String = My.Computer.Name
        Dim ErrRaiseTime As String = Now.ToString
        'Dim SqlInsert As String = "Insert Into Ex_UpFileErrMsg (ComputerName,ErrorMsg,ErrRaiseTime) Values ('" & ComputerName & "','" & ErrMsg & "','" & ErrRaiseTime & "')"
        'DbMes.ExecuteNonQuery(SqlInsert)
    End Sub
    Private Overloads Sub ExcuteException(ByVal DicAnalogFileCount As Dictionary(Of String, Integer))
        Dim ComputerName As String = My.Computer.Name
        Dim UpFileTime As String = Now.ToString
        Dim UpFileSign As String = "数据上传"
        For Each StationNameKey As String In DicAnalogFileCount.Keys
            If DicAnalogFileCount(StationNameKey) > 0 Then
                'Dim SqlInsert As String = "Insert Into Ex_UpFileOverMsg (StationName,ComputerName,UpCount,UpTime,UpSign) Values ('" & StationNameKey & "','" & ComputerName & "','" & DicAnalogFileCount(StationNameKey) & "','" & UpFileTime & "','" & UpFileSign & "')"
                'DbMes.ExecuteNonQuery(SqlInsert)
            End If
        Next
    End Sub
    Private Overloads Sub ExcuteException(ByVal ErrorMsg As String)
        Dim ComputerName As String = My.Computer.Name
        Dim ErrRaiseTime As String = Now.ToString
        'Dim SqlInsert As String = "Insert Into Ex_UpFileErrMsg (ComputerName,ErrorMsg,ErrRaiseTime) Values ('" & ComputerName & "','" & ErrorMsg & "','" & ErrRaiseTime & "')"
        'DbMes.ExecuteNonQuery(SqlInsert)
    End Sub
#End Region

#Region "Service Event"
    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
        StartTime = My.Computer.Clock.LocalTime
        Try
            If Me.TimerUpData Is Nothing Then
                Me.TimerUpData = New System.Timers.Timer
            End If
            Me.TimerUpData.Interval = 1000
            Me.TimerUpData.Enabled = True
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub

    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.
        Try
            If Me.TimerUpData IsNot Nothing Then
                Me.TimerUpData.Enabled = False
            End If
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub

    Private Sub TimerUpData_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles TimerUpData.Elapsed
        Me.UpFileTime = My.Computer.Clock.LocalTime
        Dim DuraUpFile As Integer = DateDiff(DateInterval.Second, Me.StartTime, Me.UpFileTime)
        If DuraUpFile >= 300 Then
            Me.StartTime = My.Computer.Clock.LocalTime
            Me.TimerUpData.Stop()
            Me.UpLocalDataToServer()
            Me.TimerUpData.Start()
        End If
    End Sub
#End Region

#Region "Up Data To Server"
#Region "Base File Excute"
    Private Sub ValidateIsDirectoryExists(ByVal FilePath As String)
        If My.Computer.FileSystem.DirectoryExists(FilePath) = False Then
            My.Computer.FileSystem.CreateDirectory(FilePath)
        End If
    End Sub

    '处理每行中的每个字段,若不符合给进行处理
    Private Function ExcuteFields(ByVal FileLine As String, ByVal FieldsLength() As Integer, ByVal StationName As String) As String()
        Try
            Dim Fields() As String = FileLine.Trim.Split(",")
            For Index As Integer = 0 To FieldsLength.Length - 1
                If String.IsNullOrEmpty(Fields(Index)) = True Then
                    Fields(Index) = "NULL"
                    Me.CreateErrorLineFile(FileLine, StationName)
                Else
                    Fields(Index) = Fields(Index).Trim.ToUpper
                End If
                If Fields(Index).Length > FieldsLength(Index) Then
                    Fields(Index) = Fields(Index).Substring(0, FieldsLength(Index))
                    'Me.CreateErrorLineFile(FileLine, StationName)
                End If
            Next
            Return Fields
        Catch ex As Exception
            Me.ExcuteException(ex)
            Return Nothing
        End Try
    End Function
    '出现错误的行给提取出来并生成一个文件
    Private Sub CreateErrorLineFile(ByVal ErrorLine As String, ByVal StationName As String)
        Try
            Dim BaseFilePath As String = "E:\ProductFile\ErrorFile\"
            If My.Computer.FileSystem.DirectoryExists(BaseFilePath) = False Then
                My.Computer.FileSystem.CreateDirectory(BaseFilePath)
            End If
            Dim FilePath As String = BaseFilePath & StationName & "\"
            If My.Computer.FileSystem.FileExists(FilePath) = False Then
                My.Computer.FileSystem.CreateDirectory(FilePath)
            End If
            Dim FileName As String = FilePath & StationName & "-" & Now.ToShortDateString & ".txt"
            Using SR As StreamWriter = File.AppendText(FileName)
                SR.WriteLine(ErrorLine)
                SR.Flush()
            End Using
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub
    Private Function GetStationName(ByVal DirectionFilePath As String) As String
        Try
            Dim Pos As Integer = DirectionFilePath.LastIndexOf("\")
            Dim StationName As String = DirectionFilePath.Substring(Pos   1, DirectionFilePath.Length - Pos - 1)
            Return StationName
        Catch ex As Exception
            Me.ExcuteException(ex)
            Return "NULL"
        End Try
    End Function
    Private Function GetFileList(ByVal DirectoryName As String) As List(Of String)
        Dim FileList As New List(Of String)
        Try
            For Each FileName As String In My.Computer.FileSystem.GetFiles(DirectoryName & "\")
                FileList.Add(FileName)
            Next
            Return FileList
        Catch ex As Exception
            Me.ExcuteException(ex)
            Return Nothing
        End Try
    End Function
    Private Sub DeleteFile(ByVal FileList As List(Of String))
        Try
            For Each FileName As String In FileList
                If My.Computer.FileSystem.FileExists(FileName) Then
                    My.Computer.FileSystem.DeleteFile(FileName)
                End If
            Next
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub
#End Region

#Region "Up Each Station File"
    Private Sub MoveErrorFile(ByVal SourceFileName As String, ByVal StationName As String)
        Try
            Dim ErrPath As String = ErrorFilePath & StationName & "\"
            If My.Computer.FileSystem.DirectoryExists(ErrPath) = False Then
                My.Computer.FileSystem.CreateDirectory(ErrPath)
            End If
            Dim FileName As String = My.Computer.FileSystem.GetName(SourceFileName)
            My.Computer.FileSystem.MoveFile(FileName, ErrPath & FileName, True)
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub
    Private Sub BulkUpdataToServer(ByVal ListFile As List(Of String), ByVal Conn As SqlConnection, ByVal Ds As DataSet, ByVal DesTableName As String, ByVal UpdateRowsCount As Integer)
        Try
            Conn.Open()
            Using Bulk As SqlBulkCopy = New SqlBulkCopy(Conn)
                Bulk.BatchSize = Me.UpdateBatchSize
                Bulk.DestinationTableName = DesTableName
                Bulk.BulkCopyTimeout = 600
                Bulk.WriteToServer(Ds.Tables(DesTableName))
            End Using
            Conn.Close()
            Conn.Dispose()
            Me.DeleteFile(ListFile)
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub
    Private Function UpdateFile_Apd(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "15", "15", "25", "25", "15", "15", "25", "15", "15", "15", "15", "25", "25", "25", "15", "8"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 17 Then
                            UpdateRows  = 1
                            Fields(5) = StrConv(Fields(5), VbStrConv.Narrow)
                            If Fields(0).Trim.Length > 7 Then
                                Dim SqlInsert As String = "Insert Into APD(SN,ProductType,ProductStaion,ProductDate,ProductLot,WorkerID,OrderID,BadReason,Vbr,Iop,Icc,RL,StartTime,EndTime,Duration,ProductOrderID,Result) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
                                                       "'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "'," & _
                                                       "'" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(10).Trim & "','" & Fields(11).Trim & "'," & _
                                                       "'" & Fields(12).Trim & "','" & Fields(13).Trim & "','" & Fields(14).Trim & "','" & Fields(15).Trim & "','" & Fields(16).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_PT(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "15", "15", "25", "25", "15", "15", "25", "15", "15", "15", "15", "15", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)

                        Dim FieldList As List(Of String) = Fields.ToList()
                        If Fields.Length = 12 Then
                            FieldList.Add("NULL")
                            FieldList.Add("NULL")
                        ElseIf Fields.Length = 13 Then
                            FieldList.Add("NULL")
                        End If
                        Fields = FieldList.ToArray()
                        If Fields.Length = 14 Then
                            UpdateRows  = 1
                            If Fields(0).Trim.Length > 7 Then
                                Dim SqlInsert As String = "Insert Into PT_Align(SN,ProductType,ProductStation,ProductDate,ProductLot,WorkerID,DepartmentID,FlowCardID,Icc,Iop,ComputerName,Result,Field1,Field2) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
                                "'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "'," & _
                                "'" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(10).Trim & "','" & Fields(11).Trim & "','" & Fields(12).Trim & "','" & Fields(13).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_IMD2(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "6", "20", "8", "15", "25", "25", "25", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 9 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into IMD2_Test(SN,Result,ProductType,WorkerID,IMD2,ProductDate,ComputerName,DepartmentName) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
                                          "'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_IMD3(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "6", "20", "8", "15", "25", "25", "25", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 9 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into IMD3_Test(SN,Result,ProductType,WorkerID,IMD3,ProductDate,ComputerName,DepartmentName) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
                                         "'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_PdAlign(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "8", "8", "15", "15", "15", "8", "15", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 13 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into PD_Align(SN,ProductType,ProductStation,ProductLot,ProductDate,WorkerID,OrderID,BadReason,Res,RL,Result,Idark) values " & _
                           " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & My.Computer.Clock.LocalTime & "'," & _
                           "'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "'," & _
                           "'" & Fields(10).Trim & "','" & Fields(11).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_PdTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "8", "8", "15", "15", "15", "15", "8", "25"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 13 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into PD_Align_Test( SN,ProductType,ProductStation,ProductLot,ProductDate,WorkerID,OrderID,BadReason,Res,RL,Idark,Result) values " & _
                     " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(12).Trim & "','" & My.Computer.Clock.LocalTime & "'," & _
                     "'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "'," & _
                     "'" & Fields(10).Trim & "','" & Fields(11).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_RosaPdTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "8", "15", "15", "15", "15", "15", "15", "15", "15", "8"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 15 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into PD_Align_Rosa_Test(SN, ProductType, ProductStation, ProductLot, ProductDate, WorkerID, BadReason, Res_1310, RL_1310, Power_1310, Res_1550, RL_1550, Power_1550,Idark, Result) values" & _
                     " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "'," & _
                     "'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "'," & _
                     "'" & Fields(10).Trim & "','" & Fields(11).Trim & "','" & Fields(12).Trim & "','" & Fields(13).Trim & "','" & Fields(14).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_Ldmy(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "30", "25", "25", "8", "30", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 9 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into LDMY(SN,ProductType,ProductStation,ProductDate,ProductLot,WorkerID,ProductOrderID,OrderID) values " & _
                    " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & My.Computer.Clock.LocalTime & "','" & Fields(4).Trim & "'," & _
                    "'" & Fields(5).Trim & "','" & Fields(7).Trim & "','" & Fields(6).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_LdAlign(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim TableName As String = "LD"
        Dim UpdateRows As Integer = 0
        Dim myDataAdapter As SqlDataAdapter = DbNbosa.GetSqlDataAdapter("SELECT TOP 1 * FROM LD")
        Dim myConnection As SqlConnection = myDataAdapter.SelectCommand.Connection
        Dim myDataSet = New DataSet()
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "30", "15", "15", "15", "15", "6", "30", "25"}
        myDataSet.CaseSensitive = True
        myDataAdapter.Fill(myDataSet, TableName)
        myDataAdapter.UpdateBatchSize = Me.UpdateBatchSize
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > 50 Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 11 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim newRow As DataRow = myDataSet.Tables(TableName).NewRow()
                                newRow("SN") = Fields(0).Trim
                                newRow("ProductType") = Fields(1).Trim
                                newRow("ProductStation") = Fields(2).Trim
                                newRow("ProductDate") = My.Computer.Clock.LocalTime
                                newRow("ToolCode") = Fields(4).Trim
                                newRow("WorkerID") = Fields(5).Trim
                                newRow("OrderID") = Fields(6).Trim
                                newRow("Power") = Fields(7).Trim
                                newRow("Result") = Fields(8).Trim
                                newRow("ProductOrderID") = Fields(9).Trim
                                newRow("BadReason") = Fields(10).Trim
                                ' 将新数据行新增至数据集内的数据表。
                                myDataSet.Tables(TableName).Rows.Add(newRow)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.BulkUpdataToServer(ListFile, myConnection, myDataSet, TableName, UpdateRows)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_LdAutoAlign(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim TableName As String = "LdAutoAlign"
        Dim UpdateRows As Integer = 0
        Dim myDataAdapter As SqlDataAdapter = DbNbosa.GetSqlDataAdapter("SELECT TOP 1 * FROM LdAutoAlign where SN='1'")
        Dim myConnection As SqlConnection = myDataAdapter.SelectCommand.Connection
        Dim myDataSet = New DataSet()
        Dim FieldsLength() As Integer = New Integer() {"20", "20", "25", "25", "25", "15", "15", "10", "15", "15", "15", "15", "15", "15", "10", "15"}
        myDataSet.CaseSensitive = True
        myDataAdapter.Fill(myDataSet, TableName)
        myDataAdapter.UpdateBatchSize = Me.UpdateBatchSize
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > 50 Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length >= 16 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim newRow As DataRow = myDataSet.Tables(TableName).NewRow()
                                Dim Pdate, Ptime As DateTime
                                Dim ComputerName As String
                                If DateTime.TryParse(Fields(3).Trim, Pdate) = True AndAlso DateTime.TryParse(Fields(4).Trim, Ptime) = True Then
                                    If Fields(3).Trim.Substring(0, 4) <> DateTime.Now.Year Then
                                        Pdate = DateTime.Now
                                    End If
                                    If Fields(4).Trim.Substring(0, 4) <> DateTime.Now.Year Then
                                        Ptime = DateTime.Now
                                    End If
                                Else
                                    Pdate = DateTime.Today
                                    Ptime = DateTime.Now
                                End If
                                If Fields(13).Length > 9 Then
                                    ComputerName = Fields(13).Trim.Substring(0, 8)
                                Else
                                    ComputerName = Fields(13).Trim
                                End If
                                newRow("SN") = Fields(0).Trim
                                newRow("ProductType") = Fields(1).Trim
                                newRow("FlowCardId") = Fields(2).Trim
                                newRow("ProductDate") = Pdate
                                newRow("ProductTime") = Ptime
                                newRow("WorkerID") = Fields(5).Trim
                                newRow("WorkerName") = Fields(6).Trim
                                newRow("AlignTime") = Fields(7).Trim
                                newRow("PfMax") = Fields(8).Trim
                                newRow("PfBeforeLaser") = Fields(9).Trim
                                newRow("PfAfterLaser") = Fields(10).Trim
                                newRow("AlignType") = Fields(11).Trim
                                newRow("AlignMachineId") = Fields(12).Trim
                                newRow("ComputerName") = ComputerName
                                newRow("Result") = Fields(14).Trim
                                newRow("CheckBy") = Fields(15).Trim
                                newRow("Field1") = "null"
                                newRow("Field2") = "null"
                                newRow("Field3") = "null"
                                newRow("Field4") = "null"
                                newRow("Field5") = "null"
                                ' 将新数据行新增至数据集内的数据表。
                                myDataSet.Tables(TableName).Rows.Add(newRow)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.BulkUpdataToServer(ListFile, myConnection, myDataSet, TableName, UpdateRows)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function

    Private Function UpdateFile_Hammer(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "25", "25", "25", "25", "25", "25", "25", "30", "25", "25", "25"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 16 Then
                            If Fields(0).Trim.Length > 5 Then
                                Dim strSql As New StringBuilder
                                strSql.Append("insert into Laser_Hammer(")
                                strSql.Append("SN,ProductType,ProductStation,ProductDate,HammerPreValue,WorkerID,OrderID,BadReason,HammerValue,StartTime,EndTime,Interval,ProductOrderID,Result,LdWorkerID,ToolID)")
                                strSql.Append(" values (")
                                strSql.Append("@SN,@ProductType,@ProductStation,@ProductDate,@HammerPreValue,@WorkerID,@OrderID,@BadReason,@HammerValue,@StartTime,@EndTime,@Interval,@ProductOrderID,@Result,@LdWorkerID,@ToolID)")

                                Dim parameters() As SqlParameter = {
                                     New SqlParameter("@SN", SqlDbType.VarChar, 15),
                                     New SqlParameter("@ProductType", SqlDbType.VarChar, 20),
                                     New SqlParameter("@ProductStation", SqlDbType.VarChar, 15),
                                     New SqlParameter("@ProductDate", SqlDbType.DateTime),
                                     New SqlParameter("@HammerPreValue", SqlDbType.VarChar, 25),
                                     New SqlParameter("@WorkerID", SqlDbType.VarChar, 20),
                                     New SqlParameter("@OrderID", SqlDbType.VarChar, 20),
                                     New SqlParameter("@BadReason", SqlDbType.VarChar, 30),
                                     New SqlParameter("@HammerValue", SqlDbType.VarChar, 15),
                                     New SqlParameter("@StartTime", SqlDbType.DateTime),
                                     New SqlParameter("@EndTime", SqlDbType.DateTime),
                                     New SqlParameter("@Interval", SqlDbType.Int, 4),
                                     New SqlParameter("@ProductOrderID", SqlDbType.VarChar, 30),
                                     New SqlParameter("@Result", SqlDbType.VarChar, 6),
                                     New SqlParameter("@LdWorkerID", SqlDbType.VarChar, 30),
                                     New SqlParameter("@ToolID", SqlDbType.VarChar, 30)}
                                Dim st, et As DateTime
                                If DateTime.TryParse(Fields(9), st) = True AndAlso DateTime.TryParse(Fields(10).Trim, et) = True Then
                                    If Fields(9).Trim.Substring(0, 4) <> DateTime.Now.Year Then
                                        st = DateTime.Now
                                    End If
                                    If Fields(10).Trim.Substring(0, 4) <> DateTime.Now.Year Then
                                        et = DateTime.Now
                                    End If
                                Else
                                    st = DateTime.Now
                                    et = DateTime.Now
                                End If
                                parameters(0).Value = Fields(0).Trim
                                parameters(1).Value = Fields(1).Trim
                                parameters(2).Value = Fields(2).Trim
                                parameters(3).Value = My.Computer.Clock.LocalTime
                                parameters(4).Value = Fields(4).Trim
                                parameters(5).Value = Fields(5).Trim
                                parameters(6).Value = Fields(6).Trim
                                parameters(7).Value = Fields(7).Trim
                                parameters(8).Value = Fields(8).Trim
                                parameters(9).Value = st
                                parameters(10).Value = et
                                parameters(11).Value = Fields(11).Trim
                                parameters(12).Value = Fields(12).Trim
                                parameters(13).Value = Fields(13).Trim
                                parameters(14).Value = Fields(14).Trim
                                parameters(15).Value = Fields(15).Trim
                                UpdateRows  = DbNbosa.ExecuteNonQuery(strSql.ToString(), parameters)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_TeTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "25", "8", "15", "15", "6", "8", "15", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 11 Then
                            Fields(4) = StrConv(Fields(4), VbStrConv.Narrow)
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into TE_Test(SN,ProductType,ProductStation,WorkerID,OrderID,TE,Result,BadReason,ProductOrderID,ProductDate) values " & _
                        " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(4).Trim & "','" & Fields(8).Trim & "'," & _
                        "'" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(9).Trim & "','" & Fields(5).Trim & "','" & My.Computer.Clock.LocalTime & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_SmsrTest25(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "8", "8", "15", "15", "15", "15", "15", "15", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 13 Then
                            If Fields(6).Trim.Length > 15 Then
                                Fields(6) = Fields(6).Trim.Substring(0, 15)
                            End If
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into SMSR_Test_25(SN,ProductType,ProductStation,ProductDate,WorkerID,OrderID,BadReason,SMSR,WD,WaveLength,Tempereture,Result) values" & _
                     " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "'," & _
                     "'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(12).Trim & "','" & Fields(11).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_SmsrTest70(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "8", "8", "15", "15", "15", "15", "15", "15", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 13 Then
                            If Fields(6).Trim.Length > 15 Then
                                Fields(6) = Fields(6).Trim.Substring(0, 15)
                            End If
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into SMSR_Test_70(SN,ProductType,ProductStation,ProductDate,WorkerID,OrderID,BadReason,SMSR,WD,WaveLength,Tempereture,Result) values " & _
                       " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "'," & _
                       "'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(12).Trim & "','" & Fields(11).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_SmsrTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Try
            Dim ListFile25 As New List(Of String)
            Dim ListFile75 As New List(Of String)
            ListFile25.Clear()
            ListFile75.Clear()
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                Dim FilePath As String = ListFile.Item(Count).ToString.Trim
                Dim FileName As String = My.Computer.FileSystem.GetName(FilePath)
                If FileName.IndexOf("25度") > 0 Then
                    ListFile25.Add(FilePath)
                Else
                    ListFile75.Add(FilePath)
                End If
            Next
            If ListFile25.Count > 0 Then
                UpdateRows = Me.UpdateFile_SmsrTest25(ListFile25, StationName)
            End If
            Threading.Thread.Sleep(1000)
            If ListFile75.Count > 0 Then
                UpdateRows  = Me.UpdateFile_SmsrTest70(ListFile75, StationName)
            End If
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            Me.ExcuteException(ex)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_TestBehindTc(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim TableName As String = "TC_Test_Next_TX"
        Dim UpdateRows As Integer = 0
        Dim myDataAdapter As SqlDataAdapter = DbNbosa.GetSqlDataAdapter("SELECT TOP 1 * FROM TC_Test_Next_TX")
        Dim myConnection As SqlConnection = myDataAdapter.SelectCommand.Connection
        Dim myDataSet = New DataSet()
        Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "8", "8", "15", "15", "15", "15", "30", "25"}
        myDataSet.CaseSensitive = True
        myDataAdapter.Fill(myDataSet, TableName)
        myDataAdapter.UpdateBatchSize = Me.UpdateBatchSize
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 11 Then
                            ' 呼叫 DataTable 对象的 NewRow 方法来建立一个 DataRow 对象
                            If Fields(0).Trim.Length > 5 Then
                                Dim newRow As DataRow = myDataSet.Tables(TableName).NewRow()
                                newRow("SN") = Fields(0).Trim
                                newRow("ProductType") = Fields(1).Trim
                                newRow("ProductStation") = Fields(2).Trim
                                newRow("WorkerID") = Fields(3).Trim
                                newRow("OrderID") = Fields(4).Trim
                                newRow("PfPre") = Fields(5).Trim
                                newRow("PfNex") = Fields(6).Trim
                                newRow("Result") = Fields(7).Trim
                                newRow("BadReason") = Fields(8).Trim
                                newRow("ProductOrderID") = Fields(9).Trim
                                newRow("ProductDate") = Fields(10).Trim
                                ' 将新数据行新增至数据集内的数据表。
                                myDataSet.Tables(TableName).Rows.Add(newRow)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.BulkUpdataToServer(ListFile, myConnection, myDataSet, TableName, UpdateRows)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_ISat(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"10", "30", "15", "15", "10", "10", "30", "10", "30", "30"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
                    Me.MoveErrorFile(FileName, StationName)
                Else
                    SR = New StreamReader(FileName, System.Text.Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
                        If Fields.Length = 10 Then
                            UpdateRows  = 1
                            Fields(4) = StrConv(Fields(4), VbStrConv.Narrow)
                            Fields(5) = StrConv(Fields(5), VbStrConv.Narrow)
                            If Fields(7).Length > 10 Then
                                Fields(7) = Fields(7).Substring(Fields(7).Length - 10, 10)
                            End If
                            If Fields(1).Trim.Length > 7 Then
                                Dim SqlInsert As String = "Insert Into RSSI(Result,SN,RSSI1,RSSI2,WorkerID,ApdWorkerID,ProductType,DepartmentID,TestDate,ComputerName) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
                                     "'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "'," & _
                                     "'" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
    Private Function UpdateFile_FourDirectTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
        Dim UpdateRows As Integer = 0
        Dim FieldsLength() As Integer = New Integer() {"20", "25", "25", "25", "25", "8", "15", "15", "15", "15", "15", "10", "15", "15", "25", "15", "15"}
        Dim FileName As String = String.Empty
        Dim SR As StreamReader = Nothing
        Try
            For Count As Integer = ListFile.Count - 1 To 0 Step -1
                FileName = ListFile.Item(Count).ToString.Trim
                If My.Computer.FileSystem.GetName(FileName).Length < 65 Then
                    SR = New StreamReader(ListFile.Item(Count).ToString.Trim, Encoding.Default)
                    SR.ReadLine()
                    Dim MyLine As String = SR.ReadLine
                    While Not String.IsNullOrEmpty(MyLine)
                        UpdateRows  = 1
                        Dim Fields() As String = MyLine.Split(",")
                        If Fields.Length = 15 Then
                            Fields(5) = StrConv(Fields(5), VbStrConv.Narrow)
                            If Fields(0).Trim.Length > 5 Then
                                Dim SqlInsert As String = "Insert Into ForDirection_Test( SN, ProductType, ProductStation, FlowCardId, ProductDate, WorkerId, Tc_Pf, Pf1, Pf2, Pf3, Pf4, Result, DepartmentID, ComputerName, ProductTime, Fields1, Fields2) values " & _
                        " ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & _
                        "" & Fields(9).Trim & "','" & Fields(10).Trim & "','" & Fields(11).Trim & "','" & Fields(12).Trim & "','" & Fields(13).Trim & "','" & Fields(14).Trim & "','NULL','NULL')"
                                DbNbosa.ExecuteNonQuery(SqlInsert)
                            End If
                        End If
                        MyLine = SR.ReadLine
                    End While
                    SR.Close()
                End If
            Next
            Me.DeleteFile(ListFile)
            Return UpdateRows
        Catch ex As SqlException
            SR.Close()
            Me.MoveErrorFile(FileName, StationName)
            Return UpdateRows
        End Try
    End Function
#End Region
#Region "UpFile"
    '把文件从临时文件夹移动到备份文件夹和上传文件夹
    Private Sub MoveFileToBackupAndUpLoad(ByVal StationNameList As List(Of String))
        Try
            If My.Computer.FileSystem.DirectoryExists(Me.TempFilePath) = True Then
                For Each DirectoryName As String In My.Computer.FileSystem.GetDirectories(Me.TempFilePath)
                    Dim StationName As String = Me.GetStationName(DirectoryName)
                    If StationNameList.Contains(StationName) = True Then
                        Dim TheBackupPath As String = Me.BackupFilePath & StationName & "\"
                        Me.ValidateIsDirectoryExists(TheBackupPath)
                        Dim BackupPath As String = TheBackupPath & Now.ToShortDateString & "\"
                        Me.ValidateIsDirectoryExists(BackupPath)
                        Dim UpLoadPath As String = Me.UpFilePath & StationName & "\"
                        Me.ValidateIsDirectoryExists(UpLoadPath)
                        For Each SourceFile As String In My.Computer.FileSystem.GetFiles(DirectoryName & "\")
                            Dim FileName As String = My.Computer.FileSystem.GetName(SourceFile)
                            Dim UpFileNamePath As String = UpLoadPath & FileName
                            Dim BackupFileNamePath As String = BackupPath & FileName
                            My.Computer.FileSystem.CopyFile(SourceFile, UpFileNamePath, True)
                            Threading.Thread.Sleep(10)
                            My.Computer.FileSystem.CopyFile(SourceFile, BackupFileNamePath, True)
                            Threading.Thread.Sleep(10)
                            My.Computer.FileSystem.DeleteFile(SourceFile)
                        Next
                    End If
                Next
            End If
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub
    Private Sub UpLocalDataToServer()
        Try
            Dim StationList As List(Of String) = DbMes.FillDataToList("Select StationName from Ex_UpFileStation")
            Me.MoveFileToBackupAndUpLoad(StationList)
            If My.Computer.FileSystem.DirectoryExists(UpFilePath) = True Then
                Dim DicUpDataCount As New Dictionary(Of String, Integer)
                For Each DirectoryName As String In My.Computer.FileSystem.GetDirectories(UpFilePath)
                    Dim StationName As String = Me.GetStationName(DirectoryName) '根据文件夹名称获得站别名称
                    Dim FileList As List(Of String) = Me.GetFileList(DirectoryName)
                    If StationList.Contains(StationName) Then
                        If DicUpDataCount.ContainsKey(StationName) = False Then DicUpDataCount.Add(StationName, 0)
                        Select Case StationName
                            Case "APD耦光"
                                DicUpDataCount(StationName) = Me.UpdateFile_Apd(FileList, StationName)
                            Case "PD耦光"
                                DicUpDataCount(StationName) = Me.UpdateFile_PdAlign(FileList, StationName)
                            Case "PT耦光"
                                DicUpDataCount(StationName) = Me.UpdateFile_PT(FileList, StationName)
                            Case "PD测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_PdTest(FileList, StationName)
                            Case "ROSA PD测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_RosaPdTest(FileList, StationName)
                            Case "IMD2测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_IMD2(FileList, StationName)
                            Case "IMD3测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_IMD3(FileList, StationName)
                            Case "LD铆压"
                                DicUpDataCount(StationName) = Me.UpdateFile_Ldmy(FileList, StationName)
                            Case "LD耦光"
                                DicUpDataCount(StationName) = Me.UpdateFile_LdAlign(FileList, StationName)
                            Case "LD自动耦光"
                                DicUpDataCount(StationName) = Me.UpdateFile_LdAutoAlign(FileList, StationName)
                            Case "Hammer"
                                DicUpDataCount(StationName) = Me.UpdateFile_Hammer(FileList, StationName)
                            Case "TE测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_TeTest(FileList, StationName)
                            Case "SMSR测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_SmsrTest(FileList, StationName)
                            Case "ISat测试", "IL测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_ISat(FileList, StationName)
                            Case "TC后测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_TestBehindTc(FileList, StationName)
                            Case "四方向测试"
                                DicUpDataCount(StationName) = Me.UpdateFile_FourDirectTest(FileList, StationName)
                            Case Else

                        End Select
                    End If
                    Threading.Thread.Sleep(3000)
                Next
                'Me.ExcuteException(DicUpDataCount)
            End If
        Catch ex As Exception
            Me.ExcuteException(ex)
        End Try
    End Sub
#End Region
#End Region
End Class