Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! это насущный вопрос и много про него написано в интернете, но видимо я ламер пока в сущности проблема в теме, т.е. необходимо обновить данные в БД, используя измененные значения в datagridview Во-первых есть таблица: Код: plaintext 1. 2. 3. 4. вывожу в созданные datagridview через процедуру с параметрами Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. поля id и name не редактируются, а поле value меняет юзер, через модальную форму на которой находится textbox, в который юзер вводит изменение вот ее вызов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. нажав кнопку форма закрывается и в гриде появляется изменение... и вопрос как теперь внести все измененные данные в таблицу БД ??? ведь у меня по сути есть только DataTable у меня это dTable и в них хранятся данные, а названия таблицы у меня нигде не описано, т.к. я вызываю через процедуру... и как с этим бороться ??? лучше показать на моем примере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 20:11 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22, Я делаю так: Пишу класс для работы с таблицей БД (или сущностью, если это уместно). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В форме пишу: Код: plaintext а потом пишу Код: plaintext Вот как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2011, 05:42 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
Вариантов множество решить подобное. можно using code behind style or wizard style. Up to you. Вот тебе самый простой 1 На формы укладываешь грид и (SQL/Object)датасоурс 2 Связываешь соурс бд(SQL/storedprocedure/C# class) 3 Связываешь грид с датосоурс 4 мапишь поля для вывода Вот основные шаги,(самый простой способ как по мне), делается почти все визардом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2011, 16:03 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
более менее понятно, вот только не понял как сделать вставку набора данных т.е.: у меня есть DataTable, который заполнен програмно и как мне быстро загрузить в БД, не перебирая строки? я создал такую же таблицу с такими же столбцами в БД и написал Код: plaintext 1. 2. но у меня выходит ошибка: Update requires a valid InsertCommand when passed DataRow collection with new rows. навернякак надо как-то по другому, но я не нашел пока...( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2011, 18:33 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22, ДатаАдаптеру необходимо явно указать ИнсертКомманд, АпдэйтКомманд и ДелетеКомманд. А также задать параметры команд, связывая эти параметры со столбцами ДатаТэйбла. Типа вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2011, 05:37 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
а если я имею DataTable структура и значения соответствуют таблице в БД, то можно как-то не перебирая ячейки взять и вставить данные из этого DataTable в БД...наименования таблиц совпадают... хотелось бы прям на примере....где есть DataTable и Таблица БД....и как их вставить, не через цикл ?....вообщем мне надо самый быстрый способ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2011, 23:20 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22, Самый быстрый в кодировании или в исполнении обновления? А без цикла, я думаю никак. У тебя ДатаТэйбл содержит допустим 100 строк. Из них новых 20, изменённых 20 и ещё 10 "помеченных" удалёнными. Ты либо сам организуешь цикл по 100 строкам, либо настроенный ДатаАдаптер пробежит по всем 100 строкам, чтобы узнать какая тут строка новая, изменённая или удалённая, и сформировать, и послать серверу соответствующую команду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2011, 05:43 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
Barkan,. а без цикла никак ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2011, 12:12 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22а без цикла никак ? А зачем?! Ж:) Я не знаю способа без цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2011, 13:20 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
Barkan, У меня 9000 записей, и пробегатся по ним...каждый раз вставляя не айс по времени, мне надо типа запроса select * into tbl from table вообщем нужно сократить время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2011, 22:59 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22У меня 9000 записей, и пробегатся по ним...каждый раз вставляя не айс по времени, мне надо типа запроса select * into tbl from table вообщем нужно сократить время Пожалел бы лучше юзверей. У них скоро косоглазие начнётся - смотреть и редактировать 9000 записей в ДатаГридВью. Я бы на твоём месте лучше подумал как оптимизировать интерфейс, чтобы не вываливать на человека такое количество инфы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2011, 05:37 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
Barkan, в том то и дело, что это юзеры не видят...мне надо залить эти данные в БД и с ними там работать...причем как можно быстрее залить в БД т.е. у меня всего 2 столбца и 9000 строк в дататабл и надо быстро залить в бд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2011, 00:24 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22, Тогда при чём тут ДатаГридВью? Некоторые сервера позволяют одним ИНСЕРТОМ вставлять несколько строк. Попробуй покопать в эту сторону. Однако по любому команду надо сформировать, а для этого ЦИКЛОМ по ДатаТэйблу! Ещё как вариант (правда из твоих сообщений не понятно откуда и как берутся эти 9000 строк), может их заливать по мере их появления, а не тогда, когда их уже много. И просто интересно - сколько сейчас длится заливка и сколько ты хотел бы достичь? И сколько по времени занимает просто ЦИКЛ перебора? Думаю что сам цикл идёт "влёт". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2011, 05:42 |
|
||
|
update данных из datagridview
|
|||
|---|---|---|---|
|
#18+
dmitriy22а если я имею DataTable структура и значения соответствуют таблице в БД, то можно как-то не перебирая ячейки взять и вставить данные из этого DataTable в БД...наименования таблиц совпадают... хотелось бы прям на примере....где есть DataTable и Таблица БД....и как их вставить, не через цикл ?....вообщем мне надо самый быстрый способ adapter.Update() - всё уже до вас сделано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2011, 17:03 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=44&tid=1350768]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 342ms |

| 0 / 0 |
