Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
А зачем он нужен, этот DataSet?
|
|||
|---|---|---|---|
|
#18+
Все никак не получается у меня понять скрытого великого смысла Dataset'a в Windows-приложениях. Если сравнивать ADO и ADO.NET, то можно легко понять, что аналог АДОшному рекордсету - это DataTable. DataTable имеет свой собственный DataAdapter, отвечающий за считывание/изменение данных. А в DataSet группируются несколько DataTable, навешиваются Relations и все такое. Вопрос: зачем это надо на практике? 1. Если есть большая таблица с короткими записями и к ней справочная - с длинными записями (напр, Заказы (КодЗаказа, КодКлиента) и Клиенты(КодКлиента, Имя, Телефон, Адрес, и т.д.). Чтобы не тащить много данных, можно считать отдельно одну табл, отдельно - вторую и проджойнить их уже на клиенте через ParentRow. Однако такие случаи не очень-то распространены и создавать ради них DataSet - сомнительное удовольствие. 2. Контроль за целостностью вводимых данных (ограничение внешнего ключа). Однако в подаляющем большинстве случаев (если не во всех) пользователь не может самостоятельно создать ключ, и, следовательно, не может нарушить целостность. К тому же контроль за целостностью вполне может осуществлять БД. Что ж еще-то? Почему нельзя ограничиться DataTable? К тому же, в случае отсоединенного набора, чем больший объем информации мы стащим на клиента, тем более вероятны конфликты обновления. Не лучше ли получать данные маленькими "порциями" в DataTable и как можно скорее их обновлять? Объясните, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 15:55 |
|
||
|
А зачем он нужен, этот DataSet?
|
|||
|---|---|---|---|
|
#18+
Одна из задумок была такой, что клиент загрузил датасет на компьютер, уехал в командировку, поработал, приехал, залил с изменениями на сервер автоматом и всё. Хотя это всего лишь один из возможных подходов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 16:45 |
|
||
|
А зачем он нужен, этот DataSet?
|
|||
|---|---|---|---|
|
#18+
Ну ничего себе. Это хорошо, когда есть уверенность, что больше никто с этми данными не работает. А иначе - конфликты обновления. Или - кто последний, тот и прав? Правильно ли я вас понял: В случае обыкновенного многопользовательского клиент-серверного приложения можно (или даже нужно, т.к. создание и поддержка DataSet отжирает куда больше ресурсов, чем DataTable) использовать DataTable? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 16:57 |
|
||
|
А зачем он нужен, этот DataSet?
|
|||
|---|---|---|---|
|
#18+
А типизированный DataTable можно сделать? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 17:00 |
|
||
|
А зачем он нужен, этот DataSet?
|
|||
|---|---|---|---|
|
#18+
одна из задумок была сделать из DataSet бизнес-объект. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 17:00 |
|
||
|
А зачем он нужен, этот DataSet?
|
|||
|---|---|---|---|
|
#18+
на счёт кто последний тот и прав, не много не правильно. по-умолчанию скорее всего кто первый тот и прав (так датаадаптер работает). а вообеще датасет очень удобная штука относительно него всякие гриды обычно заполняются, кроме того это действительно отсоединённая бд (обычно через вебсервисы получаем данные работаем с ними как можно дольше, что бы узкий канал связи не напрягать). а вообще-то по этому поводу много статей примеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2005, 17:50 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=32903101&tid=1353867]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 278ms |
| total: | 547ms |

| 0 / 0 |
