Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5

Классический ado.net

20.11.2015, 22:57. Показов 2164. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В каких проектах сейчас используются executescalar и executenonquery? Какие нужды они удовлетворяют?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2015, 22:57
Ответы с готовыми решениями:

Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net
Всем привет! Нужно написать клиент-серверное приложение на основе Microsoft Sql Server 2005 Express Edition. Некое клиент-серверное...

Отличия ADO.NET'03 и ADO.NET'05
Друзья, есть ли отличия в технологии ADO.NET для 2003 и для 2005, и насколько они велики? Вопрос вот почему, имеет ли смысл, в случае...

Книги по ADO.NET
Может быть, пропустил такую тему и где-то уже было, но вот интересно знать ваше мнение - какая из всех книг по ADO.NET является лучшей ? ...

23
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18297 / 14221 / 5368
Регистрация: 17.03.2014
Сообщений: 28,897
Записей в блоге: 1
21.11.2015, 16:12
Alex9, на уровень ADO.NET имеет смысл спускаться если нужна максимально возможная производительность т.к. в этом случае кол-во посредников между кодом в БД сводится к минимуму. Что касается "удовлетворения нужд", то они описаны в документации. ExecuteScalar используют для получения одного значения из SELECT запроса. ExecuteNonQuery для выполнения запросов не возвращающих данные (INSERT/UPDATE/DELETE и т.п.)
1
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
21.11.2015, 16:14  [ТС]
Помимо производительности, мы что-то теряем при переходе к EntityFramework или LINQ to sql?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.11.2015, 16:36
Цитата Сообщение от Alex9 Посмотреть сообщение
В каких проектах сейчас используются executescalar и executenonquery?
Думаю во многих.
Работать с EF имеет смысл с большими проектами, а при одной небольшой БД, одной (нескольких) табличках, EF избыточен, ятд. Да и тормознутый он, что бы не говорили. Прямые запросы куда как быстрее отрабатывают.
Цитата Сообщение от Alex9 Посмотреть сообщение
Какие нужды они удовлетворяют?
В конечном итоге все равно все сводится к ним, так что они могут удовлетворить любые нужды. Все эти обертки придуманы для удобства программистов.
1
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
21.11.2015, 18:06
Цитата Сообщение от Alex9 Посмотреть сообщение
Помимо производительности, мы что-то теряем при переходе к EntityFramework или LINQ to sql?
всё в итоге сводится к производительности
а вообще - множество специфических функций СУБД, гибкость, контроль, расширяемость
вычисляемые столбцы, функции, хранимые процедуры, триггеры, контроль индексов, физические настройки файлов бд, частичные/распределенные таблицы, разнообразные bulk операции и прочие разные дикости вроде filetable
1
Заблокирован
22.11.2015, 11:03
Цитата Сообщение от insite2012 Посмотреть сообщение
Работать с EF имеет смысл с большими проектами, а при одной небольшой БД, одной (нескольких) табличках, EF избыточен
Может быть наоборот? На уровень ADO.NET спускаться необходимо при слишком больших БД, и написания своей обертки DataSet, для небольших проектов, в несколько таблиц, можно использовать EF, мы не заметим прироста производительности имея пару таблиц в БД в связке ADO.NET или ADO.NET EF. Да и вообще, вся логика и обработка данных должна быть на сервере SQL, в клиенте должна быть лишь передача данных на сервер, тогда и разработка и поддержка проекта будет легче, достаточно будет только менять параметры в SQL сервер, а клиент останется практически без изменений.
1
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 11:23
Цитата Сообщение от Хозяин Посмотреть сообщение
для небольших проектов, в несколько таблиц, можно использовать EF, мы не заметим прироста производительности имея пару таблиц в БД в связке ADO.NET или ADO.NET EF.
Да ну, не рассказывайте. Проведите эксперимент: две БД, одна работает через запросы ADO.NET, а вторая через EF. И посмотрите, что быстрее. Прямые запросы куда как быстрее отрабатывают.
Цитата Сообщение от Хозяин Посмотреть сообщение
вся логика и обработка данных должна быть на сервере SQL, в клиенте должна быть лишь передача данных на сервер
Это никак не зависит от того, что вы будете применять. В конце концов, выносите всю логику работы с БД на сервер, организуйте классическую связку БД - Сервер (на WCF, к примеру) - Клиент. И будет счастье.
0
Заблокирован
22.11.2015, 11:33
Цитата Сообщение от insite2012 Посмотреть сообщение
Да ну, не рассказывайте. Проведите эксперимент: две БД, одна работает через запросы ADO.NET, а вторая через EF. И посмотрите, что быстрее. Прямые запросы куда как быстрее отрабатывают.
Разницы не замечу, если это будет БД из примерно < 30 таблиц, разница будет видна лишь при большом количестве одновременных запросов к БД и ко-ве таблиц > 100 к примеру , так как старый добрый ADO.NET быстрее с этим справляется. Написал достаточно много небольших проектов на EF и тормознутости не заметил, она лишь заметна при первом обращении к БД, когда создается экземпляр подключения к БД, затем все работает достаточно шустро. При очень больших и сложных проектах используют ADO.NET, вся логика на SQL Server, в клиенте минимум кода. EF удобно использовать для сайтов с небольшим посещением и нагрузкой, а также простых Desktop приложениях, он прекрасно справляется со своей задачей.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 11:36
Цитата Сообщение от Хозяин Посмотреть сообщение
Разницы не замечу
А я замечаю разницу, даже с одной таблицей и подходом Database First (все модели уже сгенерированы), не говоря уж про Code First.
Как тут как-то верно сказали, EF уныл и тормознут. Конечно, каждому-свое, но я отдаю приоритет ADO.NET (каламбур-с ).
0
Заблокирован
22.11.2015, 11:41
insite2012, Согласитесь, использовать для быстрой разработки EF удобнее, чем писать кучу тупого и скучного кода на ADO.NET, для простого приложения, не требующего максимум производительности при работе с БД. Для серьезных проектов, требующих максимум производительности, используют ADO.NET и отказываются даже от стандартных DataSet в пользу своих наработок, ибо он избыточен и в нем слишком большие потери по производительности.

Добавлено через 1 минуту
Цитата Сообщение от insite2012 Посмотреть сообщение
Как тут как-то верно сказали, EF уныл и тормознут.
Я с вами не спорил, что EF тормознут, вы писали выше, что EF лучше использовать для больших проектов, я вас поправил и написал что все наоборот
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 11:46
Цитата Сообщение от Хозяин Посмотреть сообщение
Я с вами не спорил, что EF тормознут
Спорили-спорили, не отказывайтесь))) У меня все записано (Контора пишет(с)).
Цитата Сообщение от Хозяин Посмотреть сообщение
Разницы не замечу
Цитата Сообщение от Хозяин Посмотреть сообщение
вы писали выше, что EF лучше использовать для больших проектов, я вас поправил и написал что все наоборот
Я считаю, что при одной-двух таблицах заморачиваться с EF - гиблое дело и не имеет смысла, проще написать быстро класс-обертку для ADO.NET, в котором инкапсулировать нужную логику.
Но, в конце концов,
Цитата Сообщение от insite2012 Посмотреть сообщение
каждому-свое
0
Заблокирован
22.11.2015, 12:02
Цитата Сообщение от insite2012 Посмотреть сообщение
Я считаю, что при одной-двух таблицах заморачиваться с EF - гиблое дело и не имеет смысла, проще написать быстро класс-обертку для ADO.NET, в котором инкапсулировать нужную логику.
По мне так проще написать на EF, несколько кликов мышки и обертка готова, не обязательно ваять руками классы и т. д., гораздо быстрее будет работать, чем использовать обертку разжиревшего DataSet класса ADO.NET
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 12:09
Цитата Сообщение от Хозяин Посмотреть сообщение
По мне так проще написать на EF
Кому как)))
Цитата Сообщение от Хозяин Посмотреть сообщение
не обязательно ваять руками классы
Ну скажем так, мне нравится ваять классы. Это доставляет мне удовольствие.
Ну и еще один аргумент - возможность работы программы на разных ОС. Я специально пишу программы на простеньком нетбуке с ОС WinXP и .NET 4.0, использую MVS 2010, для того чтобы они работали у максимального количества пользователей.
0
Заблокирован
22.11.2015, 12:12
insite2012, Windows XP в наше время не актуальна и писать под эту ОС считаю пустой тратой времени, так как нельзя будет использовать множество плюшек .NET, взять тот же WPF, все прелести раскрываются в Win 10, ну, или, хотя бы Win 7.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 12:17
Цитата Сообщение от Хозяин Посмотреть сообщение
Windows XP в наше время не актуальна и писать под эту ОС считаю пустой тратой времени
Ну вы же пишете программы для пользователей, и с целью заработка? Не будете же вы диктовать пользователям, какую ОС использовать? Таким образом, вам или писать, подстраиваясь под пользователей (и получить максимальный эффект), или писать ориентируясь на свои предпочтения, но тут вы теряете часть пользователей.
Я предпочитаю первое, с учетом того, что .NET 4.0 достаточно мощный и может обеспечить все потребности моих программ. Нет асинхронных продолжений? Да и черт с ними, как по мне, и без них вполне можно обойтись.
0
Заблокирован
22.11.2015, 12:23
insite2012, Это печально, если пользователи хотят идти хотя бы минимально в ногу со временем, они должны на сегодняшний день использовать как минимум Win 7. Программы написанные под Win XP, в наше время это набор костылей Которые в любом случае придется переписать на новый движок с переходом на другую ОС, я имею ввиду к примеру Win 10. В нашей стране пишут исключительно на WPF, если это Desktop приложение, а данная технология, как мы оба знаем, требует наличия Win 7 как минимум. Аргументирую это тем, что серьезные копании, не будут писать под Win XP, сейчас даже банковское ПО переписывают на новый движок, ибо мелкософт отказалась от поддержки вынь хр, дали время вроде бы для банкоматов до 2017-2018 годов, если не ошибаюсь.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 12:26
Цитата Сообщение от Хозяин Посмотреть сообщение
если пользователи хотят идти хотя бы минимально в ногу со временем, они должны
Ну, для начала, они никому и ничего не должны. Это их личное дело - какую ОС использовать.
Цитата Сообщение от Хозяин Посмотреть сообщение
Программы написанные под Win XP, в наше время это набор костылей
Я так не думаю, по крайней мере свои не считаю костылями.
Цитата Сообщение от Хозяин Посмотреть сообщение
в любом случае придется переписать на новый движок с переходом на другую ОС, я имею ввиду к примеру Win 10.
У всех пользователей, кто проверял, мои программы работают на любой ОС, начиная с WinXP. Проверялось и на 7-ке, и на 8-ке, и на 10-ке.
Цитата Сообщение от Хозяин Посмотреть сообщение
данная технология, как мы оба знаем, требует наличия Win 7 как минимум.
С чего бы? На WinXP SP3 WPF приложение отлично работает.
0
Заблокирован
22.11.2015, 12:31
Цитата Сообщение от insite2012 Посмотреть сообщение
С чего бы? На WinXP SP3 WPF приложение отлично работает.
Да ладно? И Использует все плюхи?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.11.2015, 12:33
Цитата Сообщение от Хозяин Посмотреть сообщение
Да ладно?
Работает-работает, будьте уверены.
Цитата Сообщение от Хозяин Посмотреть сообщение
И Использует все плюхи?
Вы сказали что не работает, что не верно-а все-не все - вопрос не в этом. Под .NET 3.5 тоже не заработает то, что в 4-м работает.
Поймите, у нас разные сферы разработки, и разные точки зрения. У меня - желание охватить как можно большее количество пользователей, и получить максимальный эффект от программы. И не мне ему диктовать, какую ОС предпочесть. Вы же не пишете программы ради одного удовольствия? Кроме этого еще есть и выгода, целесообразность выбора именно такой платформы.
0
Заблокирован
22.11.2015, 12:47
Цитата Сообщение от insite2012 Посмотреть сообщение
У меня - желание охватить как можно большее количество пользователей, и получить максимальный эффект от программы.
Ваши пользователи случайно не студенты? Если вы желаете писать софт не только для студентов, смотрите глобальнее на это. Разработка софта для компании, которая себя считает как минимум приличной и например международного уровня, сомневаюсь, что там будут стоять Win XP и они будут просить на сегодняшний день софт под .NET 4 и ниже Как минимум там будет приложение Desktop на WPF + какой-нибудь сайт завязанный под эту же БД, если не кроссплатформенное приложение написанное на Java.
Цитата Сообщение от insite2012 Посмотреть сообщение
и получить максимальный эффект от программы.
В том и дело, что максимальный эффект от программы вы можете получить, использовав последние достижения .NET, или я ошибаюсь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2015, 12:47
Помогаю со студенческими работами здесь

ado.net в vs 2008
Я так понял использовать asp.net ado.net в vs 2008 не получиться ?подскажите? если можно так плиз помогите как а то соединение типа не...

Книги по ADO .NET(C#)
Здравствуйте! Может кто подсказать хорошую книгу по ADO .NET на русском языке, желательно как можно новее. Какая версия ADO .NET на данный...

Информация по ADO.NET
Народ не подскажите хорошую макулатуру по базам ADO.NET?

ADO.NET and TreeView
Вопрос такой Есть База University Таблица: Building No NameRu

библиотека ado.net
Вобщем такая задача: есть две таблицы в MySQL: 1 - &quot;Товар&quot; (ИД, название, цена товара), 2 - &quot;Категория&quot; (ИД_товара, название)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru