|
|
|
Update таблицы вручную.
|
|||
|---|---|---|---|
|
#18+
Источником данных для грида является таблица предварительно созданная (Dim tbl as New DataTable) и заполненная с помощью датаридера. Пользователь внес свои изменения. Что-то добавил, что-то удалил, а что-то модифицировал. Щелкнул кнопку "Сохранить". В БД "улетает" штук 5 значений, в основном ID из других таблиц, а в гриде должно отобразиться штук 15 полей (результат объединения нескольких таблиц). Если сформировать объект комманд вида Код: plaintext 1. Пробовал так (CmdIns - сохраненный объект SqlCommand для вставки данных, cnn - SqlConnection, tbl - обновляемая таблица): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Один путь не срабатывает из-за того, что поле ID этой самой таблицы ReadOnly и rw.ItemsArray = tb.Rows(0).ItemsArray выдает ошибку. А второй путь tbl.Merge(tb) приводит к тому, что записей в копии таблицы на клиенте становится 2 - одна исходная, которая обрабатывалась, заполненная частично, и только нужными числовыми значениями, а вторая - полученная из БД. Во втором случае вопрос стоит куда девать эту первую уже не нужную запись? rw.Delete() останавливает цикл обработки по ошибке... что-то там с Enumerator' ом коллекции. :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 13:34 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34632006&tid=1352721]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 488ms |

| 0 / 0 |
