老师,从客户的本地数据库同步数据到服务器数据库,由于本地数据库就只有这个客户的数据,所以没有 客户名称 这一列。
而服务器则是汇集各个客户,其他字段和客户的一模一样,就是加了个 客户名称 这一列
我是希望客户在同步数据的时候,可以把他的用户名传递到 客户名称 这一列,
但是SqlBulkCopy 好像只能是列名,不能用变量。
能有什么办法吗?
Dim tran As System.Data.SqlClient.SqlTransaction
try
Dim conn As new System.Data.SqlClient.SqlConnection("server=10.12.25.30;uid=aa3;pwd=z91;database=a")
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 tb1.datacols
If dc.name = "姓名" Or dc.name = "手机号码" Or dc.name = "提交编号" Or dc.name = "短信字数" Or dc.name = "计费条数" Then
Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping(dc.name, dc.name)
Copy.ColumnMappings.Add(mapping1)
End If
Next
copy.DestinationTableName = tb2 '指定服务器上目标表的名称
copy.BatchSize = 1000
copy.WriteToServer(tb1.basetable) '你的datatable名字,执行把DataTable中的数据写入DB
tran.Commit() '提交事务
catch ex As exception
tran.Rollback() '返回False 执行失败!
End try