Как я могу обновлять свои таблицы только при обнаружении совпадающих данных?
Я создал подпрограмму обновления, которая содержит:
Public Sub update() sqlconn1.Open() Profileadaptor.SelectCommand = New SqlCommand("select * from " + "[Profile]", sqlconn1) Profileadaptor.SelectCommand.ExecuteNonQuery() Profileadaptor.Fill(profiledt) 'Death table Deathadaptor.SelectCommand = New SqlCommand("select * from " + "[Death]", sqlconn1) Deathadaptor.SelectCommand.ExecuteNonQuery() Deathadaptor.Fill(deathdt) 'Cemetery table Cemeteryadaptor.SelectCommand = New SqlCommand("select * from " + "Cemetery_reference", sqlconn1) Cemeteryadaptor.SelectCommand.ExecuteNonQuery() Cemeteryadaptor.Fill(cemdt) 'burial table Burialadaptor.SelectCommand = New SqlCommand("select * from " + "Burial", sqlconn1) Burialadaptor.SelectCommand.ExecuteNonQuery() Burialadaptor.Fill(burialdt) 'SSN table SSNadaptor.SelectCommand = New SqlCommand("select * from " + "Cemetery_reference", sqlconn1) SSNadaptor.SelectCommand.ExecuteNonQuery() SSNadaptor.Fill(SSNdt) sqlconn1.Close() End Sub
Я создал подпрограммы для каждой таблицы, содержащей классы, чтобы удерживать переменную до тех пор, пока ее новая информация не будет добавлена в datatable в конце, который основан на rowposition.
затем, наконец, как только все соответствие сделано, он переключается на последнюю подпрограмму
Sub update_all_tables() 'profile table Profileadaptor.UpdateCommand = cbpa.GetUpdateCommand() Profileadaptor.Update(profiledt) Profileadaptor.Dispose() 'death table Deathadaptor.UpdateCommand = cbda.GetUpdateCommand() Deathadaptor.Update(deathdt) Deathadaptor.Dispose() 'burial table Burialadaptor.UpdateCommand = cbba.GetUpdateCommand() Burialadaptor.Update(burialdt) Burialadaptor.Dispose() 'cemetery table Cemeteryadaptor.UpdateCommand = cbca.GetUpdateCommand() Cemeteryadaptor.Update(cemdt) Cemeteryadaptor.Dispose() 'SSN table SSNadaptor.UpdateCommand = cbssn.GetUpdateCommand() SSNadaptor.Update(SSNdt) SSNadaptor.Dispose() End Sub
хотя это было быстрее, чем мой исходный код, он все еще медленный. Я предполагаю, что это потому, что я обновляю таблицу в целом, а не соответствующие данные в таблице.
Что я уже пробовал:
Я пошел ряд за рядом обновления, которые были чрезвычайно медленными, чтобы обновить таблицы в конце.
Gerry Schmitz
Кошка жива или мертва?
MadMyche
Нет никакой кошки