tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: Sqlserverからの差分入力
投稿日: 2008/08/05(Tue) 13:28
投稿者Potechi
オショウ様回答ありがとうございました。
最後に今一度教えてください。
工程的にあっているかわかりませんが
 @テーブルAとテーブルBを比較しテーブルAにのみ存在するデータを取得
 Private Sub 選択クエリ()
  Cn = New SqlConnection(・・・)
    Dim SQLCm As SqlCommand = Cn.CreateCommand
    Adapter = New SqlDataAdapter(SQLCm)
    選択Table = New DataTable
    Dim sql As String
    sql = "SELECT  tbl_A.* "
    sql = sql & "FROM tbl_A LEFT OUTER JOIN tbl_B ON tbl_A.コード = tbl_B.コード "
    sql = sql & "WHERE (((tbl_B.コード) Is Null))"
    SQLCm.CommandText = sql
    Adapter.Fill(選択Table)
 END SUB

 AテーブルAとテーブルBを比較しテーブルBにのみ存在するデータを取得
 Private Sub 差分クエリ()
    Cn = New SqlConnection(・・・)
    Dim SQLCm As SqlCommand = Cn.CreateCommand
    Adapter = New SqlDataAdapter(SQLCm)
    差分Table = New DataTable
    Dim sql As String
    sql = "SELECT  tbl_B.* "
    sql = sql & "FROM tbl_B LEFT OUTER JOIN  tbl_A ON tbl_B.コード = tbl_A.コード "
    sql = sql & "WHERE (((tbl_A.コード) Is Null))"
    SQLCm.CommandText = sql
    Adapter.Fill(差分Table)
 END SUB

 B両方のテーブルに含まれている場合はテーブルBの値を取得
 Private Sub 更新クエリ()
    Cn = New SqlConnection(・・・)
    Dim SQLCm As SqlCommand = Cn.CreateCommand
    Adapter = New SqlDataAdapter(SQLCm)
    更新Table = New DataTable
    Dim sql As String
    sql = "SELECT  tbl_B.* "
    sql = sql & "FROM tbl_A INNER JOIN tbl_B ON tbl_A.コード = tbl_B.コード"
    SQLCm.CommandText = sql
    Adapter.Fill(更新Table)
 END SUB

 C上記で取得したデータを連結し表示
   Private Sub cmd_Change_Click
    選択Table.Merge(差分Table)
    選択Table.Merge(更新Table)
    Me.dgv_MasteTable.DataSource = 選択Table
  END SUB

C工程で最終的に出来た"選択Table"のデータをテーブルAに反映させればいいのかなとは思うのですがその方法がわかりません。

今のところ私の知る範囲ではがんばったつもりではいるのですがここでまたまた停滞してしまいました。

申し訳ありませんがご指導お願いいたします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。