For Each dr0 As DataRow In DataTables(cmb2.text).DataRows '遍历来源表行
Dim mNewRow As Integer ''控制临时表新行
mNewRow = 0
cnt = cnt + 1
Dim mStr As String
Dim mDate As Date
Dim mInt As Integer
Dim mDouble As Double
Dim mBoolean As Boolean
Dim mData As String
For Each item As String In lbx.items '遍历原始汇入的档案字段ltbTemp_skm 字段名
If mNewRow = 0 '临时表新行则目标表新增
mNewRow = 1
dr1 = DataTables(cmbTablename).addnew() '接收表
End If
'If oFD.Contains(item)= True Then '临时表字段否于目标表字段中
If oTable.DataCols.Contains(item)= True Then
'MessageBox.show(item & " " & ofd)
dc1 = DataTables(cmbTablename).DataCols(item) '目标表的列
'MessageBox.Show("row#:" & cnt & " " & dc1.name & " " & dc1.DataType.name & " " & dr0(item) )
Select Case dc1.DataType.name '目标字段型态名
Case "DateTime" '日期时间
If Date.TryParse(dr0(item),mDate) = True
dr1(item) = CDATE(dr0(item))
Else
dr1(item) = Nothing
End If
'Case "Boolean"
'Boolean.TryParse(dr0(item),mBoolean )
'dr1(item) =
Case "Int32" '整数
mData = (dr0(item).replace(",",""))
mData = mData.replace("%","")
If Integer.TryParse(mData,mInt ) = True
dr1(item) = CInt(mData )
Else
dr1(item) = Nothing
End If
'Case "Int16"
'Int16.TryParse(dr0(item),mVar)
Case "Double" '双精制
mData = (dr0(item).replace("%",""))
If Double.TryParse(mData,mDouble) Then
dr1(item) = CDbl(mData )
Else
dr1(item) = Nothing
End If
'Case "Single" '单精制
'Single.TryParse(dr0(item),mVar)
'Case "Decimal" 高精制
'D.TryParse(dr0(item),mVar)
Case "String" '字符
mData = dr0(item)
dr1(item) = mData
Case "Integer" '
If Integer.TryParse(dr0(item),mInt) = True
dr1(item) =cint( dr0(item))
Else
dr1(item) = Nothing
End If
End Select
Else
Continue For
End If
Next
Next