powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SqlDataReader или SqlDataAdapter (MSSQL)
25 сообщений из 25, страница 1 из 1
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921200
Добрый вечер!

Приложение на WPF, хранимые процедуры на MSSQL. Вопрос, что лучше использовать SqlDataReader или SqlDataAdapter. Предполагаются обновления данных в гриде на прямую, по аналогии с Excel, но в таком случае будет дергаться хранимая процедуры, то есть преимущества автоматического обновления данных в SqlDataAdapter проходят мимо меня. Есть какие-то весомые плюсы и минусы у этих двух подходов? Какой порекомендовали бы исходя из опыта использования?

Спасибо.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921354
Сотрудник Главного Управления
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,
я вот тоже в нескольких проектах использовал только хранимые процедуры для взаимодействия с БД на MS SQL Server

при этом я вообще не использовал SqlDataReader или SqlDataAdapter (просто забил на них)

я использовал стороннюю библиотеку, представляющую собой легкий и шустрый ORM
https://github.com/jonwagner/Insight.Database
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921421
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

DataAdapter внутри себя использует DataReader.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921423
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сотрудник Главного Управления,

в Insight.Database используется DataReaderWrapper - обёртка над тем же DataReader.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921431
Сотрудник Главного Управления
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
да, это всё понятно, речь шла о непосредственном использовании.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921451
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сотрудник Главного Управления,

а вот ТСу явно не понятно
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921471
skyANA
Евгений Стронг,

DataAdapter внутри себя использует DataReader.


Понятно, спасибо. Такой вопрос, как к опытному разработчику на C#. Я просто тут достаточно новенький ещё. Пришел с Delphi. Вот допустим ситуация, у меня есть грид, по двойному клику должна открыться форма с данными. Результат будет возвращать хранимка. Как лучше поступить? Использовать выходные параметры и считать каждый в нужное поле формы или через датасет? Как вот на C# в этом плане реализуют? Классический метод так скажем.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921473
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

а Business Objects вы в глаза не видели?
Изначально широко применялись датасеты, дататейблы.
Но сейчас редко где их встретишь, особенно там, где один и тот же код работает ещё и с веб, мобильными приложениями, различными сервисами.

Идея датасетов - это типа загрузил данные из БД и какое-то время автономно с ними в приложении работаешь.
Потом накопленные изменения сохраняешь обратно в БД.

ИМХО подходила для бизнеса 2000-х, вот и реализовали.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921476
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA

ИМХО подходила для бизнеса 2000-х, вот и реализовали.

а что же за эти годы изменилось в ведении бизнеса?
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921478
skyANA
Евгений Стронг,

а Business Objects вы в глаза не видели?
Изначально широко применялись датасеты, дататейблы.
Но сейчас редко где их встретишь, особенно там, где один и тот же код работает ещё и с веб, мобильными приложениями, различными сервисами.

Идея датасетов - это типа загрузил данные из БД и какое-то время автономно с ними в приложении работаешь.
Потом накопленные изменения сохраняешь обратно в БД.

ИМХО подходила для бизнеса 2000-х, вот и реализовали.


Я понял. Ну в общем тогда через датасет хорошо работать с данными, когда таблица представляет собой подобие таблицы эксель и данные нужно менять по аналогии с ячейкой данных. В остальных случаях считывать параметры с хранимки, когда понятно, что возвращается одна запись для чтения.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921480
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos
skyANA

ИМХО подходила для бизнеса 2000-х, вот и реализовали.

а что же за эти годы изменилось в ведении бизнеса?

С точки зрения технологий много всего.
К примеру в 2000-х поставщику звонили, писали письма, факсы отсылали.
А теперь интеграция на уровне сервисов.
А если брать бизнес, клиентами которого являются физики, то сравни к примеру как ты покупал билеты тогда, вызывал такси, оплачивал счета, открывал вклад в банке...
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921481
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
skyANA
Евгений Стронг,

а Business Objects вы в глаза не видели?
Изначально широко применялись датасеты, дататейблы.
Но сейчас редко где их встретишь, особенно там, где один и тот же код работает ещё и с веб, мобильными приложениями, различными сервисами.

Идея датасетов - это типа загрузил данные из БД и какое-то время автономно с ними в приложении работаешь.
Потом накопленные изменения сохраняешь обратно в БД.

ИМХО подходила для бизнеса 2000-х, вот и реализовали.


Я понял. Ну в общем тогда через датасет хорошо работать с данными, когда таблица представляет собой подобие таблицы эксель и данные нужно менять по аналогии с ячейкой данных. В остальных случаях считывать параметры с хранимки, когда понятно, что возвращается одна запись для чтения.

Смотря как работать.
Почему вдруг изменили формат самого Excel, если со старым так хорошо работать?
Да и что значит хорошо? С какой точки зрения? Производительности, удобства пользователя? Структуры данных?
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921483
skyANA
Евгений Стронг
пропущено...


Я понял. Ну в общем тогда через датасет хорошо работать с данными, когда таблица представляет собой подобие таблицы эксель и данные нужно менять по аналогии с ячейкой данных. В остальных случаях считывать параметры с хранимки, когда понятно, что возвращается одна запись для чтения.

Смотря как работать.
Почему вдруг изменили формат самого Excel, если со старым так хорошо работать?
Да и что значит хорошо? С какой точки зрения? Производительности, удобства пользователя? Структуры данных?


Ну потому что есть БД на MSSQL, C# и dataview. В одной из таблиц необходимо возможность изменять данные так же просто, как в эксель. Не поднимая форм. Поэтому в таком случае лучше разумеется использовать dataset подход.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921496
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

если вам так лучше, то мы не против, используйте
а пользователю как правило монопенесуально то, что там в кишках программы, ему другое важно
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921601
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Я понял. Ну в общем тогда через датасет хорошо работать с данными, когда таблица представляет собой подобие таблицы эксель и данные нужно менять по аналогии с ячейкой данных. В остальных случаях считывать параметры с хранимки, когда понятно, что возвращается одна запись для чтения.

Датасет c привязанным адаптером прекрасно умеет делать обновление/вставку/удаление данных в базе с помощью ХП.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921617
Сотрудник Главного Управления
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Использовать выходные параметры и считать каждый в нужное поле формы
Это отвратительная идея, какие нафиг выходные параметры, процедура просто возвращает "набор строк".
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921833
Сотрудник Главного Управления
Евгений Стронг
Использовать выходные параметры и считать каждый в нужное поле формы
Это отвратительная идея, какие нафиг выходные параметры, процедура просто возвращает "набор строк".


Ну так у меня возвращаться будет одна строка только. Всегда. Поэтому можно значения считать по выходным параметрам. Но я конечно же сторонник того, чтобы считать результат. Меньше кода.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921834
Сон Веры Павловны
Евгений Стронг
Я понял. Ну в общем тогда через датасет хорошо работать с данными, когда таблица представляет собой подобие таблицы эксель и данные нужно менять по аналогии с ячейкой данных. В остальных случаях считывать параметры с хранимки, когда понятно, что возвращается одна запись для чтения.

Датасет c привязанным адаптером прекрасно умеет делать обновление/вставку/удаление данных в базе с помощью ХП.


Вот этого не знал. Спасибо. Я думал происходит обновление по средством UPDATE всех полей. А если можно ещё и хранимку свою подцепить, то вообще идеально. Значит буду работать исключительно через адаптер.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921865
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Я думал происходит обновление по средством UPDATE всех полей.

Это если генерить адаптер дизайнером и на основании таблицы - насколько я помню, на основании ХП дизайнер такого не умеет, т.е. придётся конфигурить его самому в коде. Но в этом нет ничего страшного и невыполнимого.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921874
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
Евгений Стронг
Я думал происходит обновление по средством UPDATE всех полей.

Это если генерить адаптер дизайнером и на основании таблицы - насколько я помню, на основании ХП дизайнер такого не умеет, т.е. придётся конфигурить его самому в коде. Но в этом нет ничего страшного и невыполнимого.

всё там можно, просто указывайте для каждой операции тип команды, текст и параметры

...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39921934
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Сон Веры Павловны
пропущено...

Датасет c привязанным адаптером прекрасно умеет делать обновление/вставку/удаление данных в базе с помощью ХП.


Вот этого не знал. Спасибо. Я думал происходит обновление по средством UPDATE всех полей. А если можно ещё и хранимку свою подцепить, то вообще идеально. Значит буду работать исключительно через адаптер.

В документации всё подробно расписано.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39922516
Roman Mejtes
Сон Веры Павловны
пропущено...

Это если генерить адаптер дизайнером и на основании таблицы - насколько я помню, на основании ХП дизайнер такого не умеет, т.е. придётся конфигурить его самому в коде. Но в этом нет ничего страшного и невыполнимого.

всё там можно, просто указывайте для каждой операции тип команды, текст и параметры



Ты где такую штуку видишь, дружище?) Я то все через код делаю, думал так всё на си шарпе. А тут оказывается и события со свойствами есть, как у делфийских знакомых мне компонентов. Подскажи плиз.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39922603
Сотрудник Главного Управления
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Я то все через код делаю, думал так всё на си шарпе. А тут оказывается и события со свойствами есть, как у делфийских знакомых мне компонентов. Подскажи плиз.

Всё и нужно делать через код.
А елозить мышкой в дизайнере и натыкивать свойства - это тупиковый путь.
Дизайнер форм нужно использовать, чтобы логично и красиво расположить элементы формы.
А дальше уже - только кодом.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39923191
Сотрудник Главного Управления
Евгений Стронг
Я то все через код делаю, думал так всё на си шарпе. А тут оказывается и события со свойствами есть, как у делфийских знакомых мне компонентов. Подскажи плиз.

Всё и нужно делать через код.
А елозить мышкой в дизайнере и натыкивать свойства - это тупиковый путь.
Дизайнер форм нужно использовать, чтобы логично и красиво расположить элементы формы.
А дальше уже - только кодом.


Согласен. Но я тут про то, что видны методы наглядно прям в приложении. Это удобно.
...
Рейтинг: 0 / 0
SqlDataReader или SqlDataAdapter (MSSQL)
    #39923246
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Это удобно.
при начальном освоении
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SqlDataReader или SqlDataAdapter (MSSQL)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]