Проблема обновления DataTable - PullRequest
       22

Проблема обновления DataTable

0 голосов
/ 27 октября 2009

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

В настоящее время я использую datatable, заполняя его, когда вставляю по

MyDataAdapter.Update(MyDataTable)

После внесения некоторых изменений в MyDataTable я снова использую метод MyDataAdapter.Update (MyDataTable).

Edit:

Извините, что не предоставил больше информации.

Может быть до 200 000 строк, которые будут созданы из файла XML. Там строки будут сохранены в базе данных. После чего будет какой-то процесс для каждой строки. И мне нужно будет обновить каждую строку в базе данных.

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

Это лучшее из меня.

Я думаю, что может быть разумнее подход.

Ответы [ 2 ]

1 голос
/ 27 октября 2009

В ответ на ваши комментарии:

DataAdapter.Update() будет обновлять (и вставлять / удалять) строку за строкой. Если у вас есть индивидуальные изменения, то нет более быстрого пути. Если у вас есть систематические изменения, такие как SET Price = Price+ 2 WHERE SelByDate < '1/1/2010', вам лучше использовать DbCommand для базы данных.

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

1 голос
/ 27 октября 2009

Если я правильно понимаю, вы выполняете две отдельные операции: загружаете строки в базу данных, а затем обновляете эти строки.

Если вставляемые строки поступают из другого источника данных, поддерживаемого ADO.NET, вы можете использовать SqlBulkCopy для вставки строк в пакетах, что будет более эффективно, чем использование данных.

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

Если вы можете предоставить более подробную информацию о том, что - и почему - вы задаете вопрос, то, возможно, мы лучше подберём для него ответ.

...