vb.net - 使用 vb.net 从数据集或数据表中选择数据不存在于另一个数据库中的数据
问题描述
我想将数据从远程 MSSQL 数据库插入到本地 MSSQL 数据库。但是应该有一个条件,只有那些在我的本地 database.table 中不存在的数据才会被选择插入。我可以从远程数据中填充数据集或数据表并更新本地数据表。但第一次成功插入后出现错误。错误与重复数据插入有关。那么有什么方法可以让我从填充的数据集或数据表中只选择那些在我的本地 database.table 中不存在的数据?我的代码如下。
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Imports System.Data.DataTable
Imports System.Data.DataSet
Class MainWindow
Dim dsl As New DataSet()
Dim dal As New SqlDataAdapter()
Dim conr As String = ("Data Source=MOONLOADER\MSSQLSERVER2005;Initial Catalog=SSBYM;User ID=sa;Password=sasa;")
Dim cnr As New SqlConnection(conr)
Dim conl As String = ("Data Source=MOONLOADER\MSSQLSERVER2005;Initial Catalog=SSBY;User ID=sa;Password=sasa;")
Dim cnl As New SqlConnection(conl)
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Try
'UPDATING URNLIST
dal.SelectCommand = New SqlCommand("select URN from TxnEnrollment", cnr)
dal.AcceptChangesDuringFill = False
dal.Fill(dsl, "URNLIST")
Dim dar As New SqlDataAdapter("select * from URNLIST", cnl)
Dim U As SqlCommandBuilder = New SqlCommandBuilder(dar)
dar.Update(dsl, "URNLIST")
'UPLOADING ENROLLMENT DATA
dal.SelectCommand = New SqlCommand("select * from TxnEnrollment where Personalized='1' and URN not in (SELECT URN FROM URNLIST)", cnl)
dal.AcceptChangesDuringFill = False
dal.Fill(dsl, "TxnEnrollment")
Dim dar0 As New SqlDataAdapter("select * from TxnEnrollment where Personalized='0'", cnr)
Dim U0 As SqlCommandBuilder = New SqlCommandBuilder(dar0)
dar0.Update(dsl, "TxnEnrollment")
'UPLOADING DEPENDENT DATA
dal.SelectCommand = New SqlCommand("select * from TxnDependents where Enrolled='1' and URN not in (SELECT URN FROM URNLIST)", cnl)
dal.AcceptChangesDuringFill = False
dal.Fill(dsl, "TxnDependents")
Dim dar1 As New SqlDataAdapter("select * from TxnDependents where Enrolled='0'", cnr)
Dim U1 As SqlCommandBuilder = New SqlCommandBuilder(dar1)
dar1.Update(dsl, "TxnDependents")
cnl.Close()
cnr.Close()
MessageBox.Show("Uploaded Successfully")
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
End Try
End Sub
End Class
解决方案
推荐阅读
- angular - 我有一个新项目,但是执行 ng serve 时出现错误
- c++ - 为什么 QJsonValue::toDouble 中存在精度损失?
- python - 输入用户名和密码 = ValueError: int() 以 10 为底的无效文字:''
- android - android Fragment 中的 onAttach() 和 isAdded() 有什么区别?
- css - 如何根据长度截断 a,并添加省略号(...)
- mysql - mysql - 在所有站点中查找唯一用户
- python - 将变量(非模型字段)传递给 django rest 框架中的序列化程序
- reporting-services - 保存到 Dynamics 365 中的报表实体时为空 RDL 报表
- asp.net-mvc - 引导模式内的表单提交将我重定向到查看页面
- javascript - 401未经授权的github api