Как я могу сжать свой код в оператор 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, который мог бы ссылаться на все адаптеры, но я не смог заставить его работать. Я надеюсь, что кто-то сможет направить меня в правильном направлении.