Member 11856456 Ответов: 0

Как я могу сжать свой код в оператор foreach для изменений таблиц и нескольких адаптеров таблиц


Код, который у меня есть, предназначен для отдельных таблиц, однако через некоторое время я понял, что таблицы можно поместить в набор данных и ссылаться на них.

вот что у меня есть:

Dim IDlibrary As DataSet = New DataSet("all_tables")
Dim Profileadaptor = New SqlDataAdapter
    Dim Deathadaptor = New SqlDataAdapter
 Dim cbpa As SqlCommandBuilder = New SqlCommandBuilder(Profileadaptor)
    Dim cbda As SqlCommandBuilder = New SqlCommandBuilder(Deathadaptor)

 Profileadaptor.SelectCommand = New SqlCommand("select * from " + "[Profile]", sqlconn1)
        Profileadaptor.SelectCommand.ExecuteNonQuery()
        Profileadaptor.Fill(profiledt)
        IDlibrary.Tables.Add(profiledt)

        Deathadaptor.SelectCommand = New SqlCommand("select * from " + "[Death]", sqlconn1)
        Deathadaptor.SelectCommand.ExecuteNonQuery()
        Deathadaptor.Fill(deathdt)
        IDlibrary.Tables.Add(profiledt)



после всех изменений, если таковые имеются, у меня есть раздел только для них:

Dim changedtable As DataTable

changedtable = profiledt.GetChanges
        If Not IsNothing(changedtable) Then
            Profileadaptor.UpdateCommand = cbpa.GetUpdateCommand()
            Profileadaptor.Update(changedtable)
            Profileadaptor.Dispose()
        End If

        'death table
        changedtable = deathdt.GetChanges
        If Not IsNothing(changedtable) Then
            Deathadaptor.UpdateCommand = cbda.GetUpdateCommand()
            Deathadaptor.Update(changedtable)
            Deathadaptor.Dispose()
        End If



вот к чему я стремлюсь в какой-то степени:

For Each tab As DataTable In IDlibrary.Tables
           changedtable = tab.GetChanges()
           If Not IsNothing(changedtable) Then

           End If
       Next


что у меня есть проблема с sqldataadaptors, мне нужно как-то получить доступ к списку saldataadaptors, но я не знаю, как это сделать. кроме того, я не уверен, нужна ли мне таблица изменений datatable, возможно, ее можно было бы написать
If Not IsNothing(tab.GetChanges()) Then
не уверен.

Что я уже пробовал:

попытался сделать sqltableadaptor, который мог бы ссылаться на все адаптеры, но я не смог заставить его работать. Я надеюсь, что кто-то сможет направить меня в правильном направлении.

0 Ответов