老师,在利用SqlBulkCopy将 本地表"导入数据" 插入到 sql外部数据表"股piao日线" 时,希望如果“代码”和“日期”都相同的行就不插入。请老师看一下第二段代码对不对?
谢谢!
’1、SqlBulkCopy代码
Dim tran As System.Data.SqlClient.SqlTransaction
try
Dim conn As new System.Data.SqlClient.SqlConnection("server=voyo;uid=sa;pwd=hailun.;database=Test")
conn.Open() '打开链接
tran = conn.BeginTransaction()
Dim copy As new System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran)
For Each dc As DataCol In DataTables("导入数据").datacols
Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping(dc.name, dc.name)
Copy.ColumnMappings.Add(mapping1)
Next
copy.Destinati '指定服务器上目标表的名称
copy.BatchSize = 1000
copy.WriteToServer(DataTables("导入数据").basetable) '你的datatable名字,执行把DataTable中的数据写入DB
tran.Commit() '提交事务
catch ex As exception
msgbox(ex.message)
tran.Rollback() '返回False 执行失败!
End try
2、添加条件代码
For Each dr As DataRow In DataTables("导入数据").DataRows
Dim pr As DataRow
With DataTables("股piao日线")
pr = .SQLFind("代码 = '" & dr("代码") & "'and 日期 = '" & dr("日期") & "'")
End With
If pr Is Nothing Then
。。。。。。(加入上面的)SqlBulkCopy代码
End If
Next