Вставка набора данных в таблицу базы данных - PullRequest
0 голосов
/ 31 августа 2009

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

На данный момент у меня есть веб-сервис, который собирает записи на сервере партиями, используя наборы данных asp.net в качестве контейнеров. Как я могу передать весь набор данных в таблицу в моем локальном? Таблица на моем местном сайте пуста.

Приветствия заранее!

Ответы [ 2 ]

3 голосов
/ 31 августа 2009

Если у вас уже есть DataSet, содержащий один или несколько DataTables, почему бы вам просто не использовать SqlDataAdapter и вызывать его метод .Update () с вашим DataSet?

В SqlDataAdapter вы можете определить InsertCommand, UpdateCommand, DeleteCommand, который позаботится о трех основных операторах вставки / обновления / удаления для ваших строк. Все, что вам нужно сделать, это определить / записать эти три оператора SQL один раз, а SqlDataAdapter сделает все остальное за вас (цикл по строкам, выяснение, вставлять, обновлять или удалять и т. Д.).

Если хотите, вы можете даже использовать базовый оператор SELECT из SelectCommand в вашем DataSet и использовать SqlCommandBuilder для построения операторов INSERT, UPDATE и DELETE на основе вашего SELECT.

Марк

0 голосов
/ 31 августа 2009

Есть несколько вариантов. Вот первые два, которые приходят на ум.

  • Можно было бы перебрать DataTable и построить оператор SQL Insert для каждого цикла, а затем выполнить оператор Insert для локального.
  • Другой вариант - использовать Bulk Copy для вставки данных
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...