在好例子网,分享、交流、成长!
您当前所在位置:首页ASP 开发实例VB编程 → vb 上传数据库存实列

vb 上传数据库存实列

VB编程

下载此实例
  • 开发语言:ASP
  • 实例大小:0.82M
  • 下载次数:54
  • 浏览次数:415
  • 发布时间:2018-12-11
  • 实例类别:VB编程
  • 发 布 人:wan52866414
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 数据库 上传 库存 数据

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

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

实例下载地址

vb 上传数据库存实列

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警