Как обновить данные из datatable в таблицу sql?

#c# #sql-server-2008 #datatable

#c# #sql-server-2008 #datatable

Вопрос:

У меня есть таблица sql с

 ID(unique) Name status
1          A    0
2          B    0
  

В моем коде я извлекаю все данные в таблицу данных и выполняю некоторое кодирование.
Основываясь на результатах, я изменю результаты с 0 на 1 или 2

После этого мне нужно обновить их обратно до sql.

Моя идея состоит в том, чтобы создать временную таблицу, вставить в нее каждую строку .. а затем обновить их до реальной таблицы sql, удалив временную таблицу.

Не очень хорошо, я знаю. Вот почему я спрашиваю, есть ли лучший способ сделать это?

Ответ №1:

Вы можете обновить содержимое таблицы обратно, работая с CommandBuilder .

Взгляните на этот пример .

Комментарии:

1. Я слышал об этом, но я не уверен, как использовать это в моей ситуации, поскольку моя «update TBLSOMETHING set status= newstatus где id= idfromdatatable». могу ли я добавить этот запрос в sqldataadapter и задать параметры для этих двух переменных?

2. Вам нужно загрузить таблицу из базы данных с помощью datadapter, заполняющего datatable, затем изменить запись, которую вы хотите изменить непосредственно в datatable, и таким образом обновить целевую таблицу с помощью command builder, взгляните на пример, который я связал.

3. О, вот как это работает.. я неправильно подумал .. еще один вопрос, .Update () заменит только обновленные значения, а не всю таблицу целиком, rite? потому что, как я упоминал в своем вопросе, мой идентификатор — это уникальный номер с автоматическим увеличением. кстати, Tkz много..

4. Как правило, вы должны добавлять примеры кода к своему ответу в (слишком распространенном) случае, когда ссылки отключаются.