DataTable INSERT/update в таблицу на сервер одним методом
Подскажите, есть ли возможность сделать insert/update всей таблицы DataTable одним методом? не создавая
конструкцию строку в ручную типа string = "insert into table value" + "" + "...."
Чтобы это все автоматом делалось. Заполнил таблицу на клиенте потом сказал dataTable.saveToMSSQLServer
Может есть сторонние известные классы от DataTable?
Сейчас делаю так
for (i = 0; i <= DS.Tables["CalcOp"].Rows.Count - 1; i++)
{
x.CommandString = "insert into CalcOp Values ( ";
x.CommandString = x.CommandString + "{@CalcOpID},";
x.CommandString = x.CommandString + "{@CalcID},";
x.CommandString = x.CommandString + "{@CalcOpType},";
x.CommandString = x.CommandString + "{@CalcOpName},";
.....
Делаю в ручную. Хотелось бы этого избежать ручной работы.
Или писать самому?
Спасибо.
Ответы (1 шт):
Смотрите класс SqlDataAdapter и его метод Update.
Чтобы этот адаптер мог выполнить запросы, у него должны быть заданы свойства InsertCommand, UpdateCommand, DeleteCommand. Они могут быть автоматически сгенерированы с помощью DbCommandBuilder.
Статьи по теме:
Updating Data Sources with DataAdapters,
Generating Commands with CommandBuilders.