|
Зачем нужны методы Delete, Insert, созданные мастером "TableAdapter configuration Wizard"
|
|||
---|---|---|---|
#18+
Добрый день. С помошью TableAdapter Configuration Wizard создал свой класс Strahovaya. На одном из шагов создания Он спросил у меня создавать ли команды delete,...,. я подтвердил. Теперь у меня есть свойства DeleteCommand и странный метод Delete. Странный, потому что я не понимаю его назначение. У постоенного класса есть свой метод Update: Код: plaintext 1. 2. 3.
Что поисходит при вызове Adapter.Update ? просто по порядку вызываются DeleteCommand, UpdateCommand, InsertCommand или по порядку вызываются построенные автоматически delete, update, insert? Отладка (Debug) не входит (Step Into) внутрь Adapter.Update , несмотря на то что я убрал Код: plaintext
Скажите что вызывается или подскажите как узнать. Буду признателен ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 09:24 |
|
Зачем нужны методы Delete, Insert, созданные мастером "TableAdapter configuration Wizard"
|
|||
---|---|---|---|
#18+
закоментил метод delete, сгенерированный автоматически -> запустил программу -> удалил произвольную запись -> вызвал update. В результате изменения на сервере произошли. Следовательно метод delete в удалении не участвовал. Следовательно участвует команда DeleteCommand. такой вывод я сделал самостоятельно. Но зачем тогда нужен метод Delete, который создан автоматически мастером... Склонен думать что это фрагмент политики Microsoft - писать лишнее и ненужное ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 16:20 |
|
Зачем нужны методы Delete, Insert, созданные мастером "TableAdapter configuration Wizard"
|
|||
---|---|---|---|
#18+
Фесенко Олег, да блин ьы можешь пользоваться и отдельно методом delete не хошь не пользуйся, каждая моська норовить укусить слона, как ж МС винвоат перед ними пиши свое, не пользуйся типизированным датасет ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2011, 10:05 |
|
Зачем нужны методы Delete, Insert, созданные мастером "TableAdapter configuration Wizard"
|
|||
---|---|---|---|
#18+
Фесенко ОлегЧто поисходит при вызове Adapter.Update ? просто по порядку вызываются DeleteCommand, UpdateCommand, InsertCommand или по порядку У каждой записи в DataTablе до вызова команды AcceptChanges строки имеют свойство Row.RowState типа DataRowState. Возможный статус: Код: plaintext 1. 2. 3. 4.
Для каждой строки в зависимости от ее DataRowState вызывается своя команда из DataAdapter Для Added - DataAdapter.InsertCommand Для Deleted - DataAdapter.DeleteCommand Для Modifired - DataAdapter.UpdateCommand Для Detached - это про отвязанную от Датасета строки - не знаю точно, что делается, так как ни разу этим не пользовался. Для Unchanged - ничего не вызывается Вызов AcceptChanges неявно реализуеться также при вызове BindingSourse.EndEdit() и DataGridView.EndEdit() Для того, что бы весь этот механизм работал, должны быть определены событияна изменение строки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Возможно, что кому-то надо будет различать события Changed и Deleted, тогда нужно будет делать для них разные обработчики. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2011, 23:03 |
|
Зачем нужны методы Delete, Insert, созданные мастером "TableAdapter configuration Wizard"
|
|||
---|---|---|---|
#18+
Спасибо товарищи за консультацию. Особенно Cat2 2 Leona1521 : Ты имеешь в виду "ручками" описывать DataSet? Я думал об этом. Не совсем, чтобы "слабо", но просто я визуал. К тому же больше программист VBA и поэтому пока мне так удобнее. Вспоминается реплика из "Золотого телёнка": если мастер конфигурации DataSet есть, то должен им кто-то пользоваться. Другое дело, что я убелился в его громоздкости. Наверняка есть плагины и надстройки построения более "лёгкого" DataSet... буду разбираться Ещё раз спасибо за направленный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 09:12 |
|
Зачем нужны методы Delete, Insert, созданные мастером "TableAdapter configuration Wizard"
|
|||
---|---|---|---|
#18+
Фесенко ОлегДругое дело, что я убелился в его громоздкости В чем громоздкость-то? Вы еще с адаптерами не разобрались, а уже недовольны чем-то Как правило автосгенерированые команды в адаптера все равно надо ручками переписывать. Сгенерированный код не часто удовлетворяет надобностям. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 18:50 |
|
|
start [/forum/topic.php?fid=17&fpage=42&tid=1350667]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
109ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 205ms |
0 / 0 |