|
|
Imports System.IO
|
|
|
Imports System.Data
|
|
|
Imports System.Data.SqlTypes
|
|
|
Imports System.Data.SqlClient
|
|
|
Public Class frmApplAbgleich
|
|
|
|
|
|
Dim Sourcedataset As New DataSet
|
|
|
Dim Sourcedataadapter As SqlDataAdapter
|
|
|
Dim Sourcesqlconnection As New SqlConnection
|
|
|
Dim SourceCommandBuilder As SqlCommandBuilder
|
|
|
|
|
|
Dim Destdataset As New DataSet
|
|
|
Dim DestConnString As String
|
|
|
Dim DestTablename As String
|
|
|
|
|
|
Dim Destdataadapter As SqlDataAdapter
|
|
|
Dim Destsqlconnection As New SqlConnection
|
|
|
Dim DestCommandBuilder As SqlCommandBuilder
|
|
|
|
|
|
Sub New(ByVal Destination_Connectionstring As String, ByVal Destination_Tablename As String)
|
|
|
Me.InitializeComponent()
|
|
|
DestConnString = Destination_Connectionstring
|
|
|
DestTablename = Destination_Tablename
|
|
|
End Sub
|
|
|
Private Sub frmApplAbgleich_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
|
Try
|
|
|
Destdataadapter = New SqlDataAdapter("Select * from " & DestTablename, Me.Destsqlconnection)
|
|
|
Me.Destsqlconnection.ConnectionString = Me.DestConnString
|
|
|
DestCommandBuilder = New SqlCommandBuilder(Destdataadapter)
|
|
|
Destdataadapter.Fill(Destdataset, "DestTable")
|
|
|
Me.C1Dest.DataSource = Destdataset.Tables(0)
|
|
|
Me.C1Dest.DataMember = Destdataset.Tables(0).TableName
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
|
|
|
Try
|
|
|
Sourcedataadapter = New SqlDataAdapter("Select * from View_ITSM_TXP_Appl", Me.Sourcesqlconnection)
|
|
|
Me.Sourcesqlconnection.ConnectionString = Globals.sConnectionString
|
|
|
SourceCommandBuilder = New SqlCommandBuilder(Sourcedataadapter)
|
|
|
Sourcedataadapter.Fill(Sourcedataset, "SourceTable")
|
|
|
Me.C1Source.DataSource = Sourcedataset.Tables(0)
|
|
|
Me.C1Source.DataMember = Sourcedataset.Tables(0).TableName
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
|
|
|
Dim i As Integer
|
|
|
Dim AnzNeu As Integer = 0
|
|
|
Dim AnzGel<EFBFBD>scht As Integer = 0
|
|
|
Dim AnzMutiert As Integer = 0
|
|
|
Dim mutiert As Boolean = False
|
|
|
' Destdataset.Tables(0).Clear()
|
|
|
' Destdataset.Tables.Add(Sourcedataset.Tables(0).Copy)
|
|
|
Dim recfound As Boolean = False
|
|
|
For Each ddr As DataRow In Destdataset.Tables(0).Rows
|
|
|
recfound = False
|
|
|
For Each sdr As DataRow In Sourcedataset.Tables(0).Rows
|
|
|
If ddr.Item("applikationnr") = sdr.Item("Applikationnr") Then recfound = True
|
|
|
Next
|
|
|
If Not recfound Then
|
|
|
ddr.Delete()
|
|
|
AnzGel<EFBFBD>scht = AnzGel<EFBFBD>scht + 1
|
|
|
End If
|
|
|
Next
|
|
|
If Destdataset.HasChanges Then
|
|
|
Destdataadapter.Update(Destdataset.GetChanges, "DestTable")
|
|
|
End If
|
|
|
Destdataset.AcceptChanges()
|
|
|
For Each sdr As DataRow In Sourcedataset.Tables(0).Rows
|
|
|
recfound = False
|
|
|
mutiert = False
|
|
|
For Each ddr As DataRow In Destdataset.Tables(0).Rows
|
|
|
If ddr.Item("Applikationnr") = sdr.Item("Applikationnr") Then
|
|
|
For i = 0 To Sourcedataset.Tables(0).Columns.Count - 1
|
|
|
If ddr.Item(Sourcedataset.Tables(0).Columns(i).ColumnName).ToString <> sdr.Item(Sourcedataset.Tables(0).Columns(i).ColumnName).ToString Then
|
|
|
ddr.Item(Sourcedataset.Tables(0).Columns(i).ColumnName) = sdr.Item(Sourcedataset.Tables(0).Columns(i).ColumnName)
|
|
|
mutiert = True
|
|
|
End If
|
|
|
Next
|
|
|
If mutiert Then AnzMutiert = AnzMutiert + 1
|
|
|
recfound = True
|
|
|
End If
|
|
|
Next
|
|
|
If Not recfound Then
|
|
|
Dim xx As DataRow = Destdataset.Tables(0).NewRow
|
|
|
For i = 0 To Sourcedataset.Tables(0).Columns.Count - 1
|
|
|
xx.Item(Sourcedataset.Tables(0).Columns(i).ColumnName) = sdr.Item(Sourcedataset.Tables(0).Columns(i).ColumnName)
|
|
|
Next
|
|
|
Destdataset.Tables(0).Rows.Add(xx)
|
|
|
AnzNeu = AnzNeu + 1
|
|
|
End If
|
|
|
Next
|
|
|
If Destdataset.HasChanges Then
|
|
|
Destdataadapter.Update(Destdataset.GetChanges, "DestTable")
|
|
|
End If
|
|
|
Destdataset.AcceptChanges()
|
|
|
MsgBox("Abgleich erfolgreich durchgef<65>hrt:" + vbCrLf + "- Neu: " + AnzNeu.ToString.Trim + vbCrLf + "- Mutiert: " + AnzMutiert.ToString.Trim + vbCrLf + "- Gel<65>scht: " + AnzGel<EFBFBD>scht.ToString.Trim)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
|
|
|
Me.Close()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
|
|
|
Me.Close()
|
|
|
End Sub
|
|
|
End Class |