Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316

Запросы в базу данных

09.01.2020, 09:52. Показов 1905. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть программа, которая работает с базой данных. Программа делает несколько запросов в базу данных. Но они происходят всегда в разное время. И у меня вопрос как правильно сделать, одно соединение с БД, которое открывается при запуске программы и потом делаются запросы к ней, но не будет такого, что два запроса нужно будет выполнить одновременно? Или создать для каждого запроса свое соединение и гонять только по нему?
Подскажите, пожалуйста
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.01.2020, 09:52
Ответы с готовыми решениями:

Как ускорить запись данных в базу данных?
Добрый день. Есть следующий тестовый код: class MyClass { public int a; public int b; public int c; } void main()

Обработка данных через запросы SQL внутри приложения (виртуальная база данных)
Есть данные, которые с точки зрения удобства написания кода, проще всего обрабатывать запросами SQL. Возможно ли сделать это внутри...

Сохранение данных из datagridview в базу данных под MS sql server 2012
Доброго времени суток. Делаю курсовую, и до этого момента думал, что самое сложное создать правильную модель данных, но оказалось...

6
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
09.01.2020, 10:24
Не надо держать открытое соединение на время работы программы.
Надо получить данные - открыл - получил - закрыл.

Если пользоваться фреймворками, то вопрос сам по себе отпадает. Ты работаешь с фреймом, а как там держится соединение уже не твоя проблема, тебе надо получить данные - ты их получаешь.
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
09.01.2020, 10:36  [ТС]
yurickas, какие для работы с базой данных можно использовать фреймворки?
А если возникнет ситуация когда два запроса одновременно запросят информацию с БД, тогда как быть?
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,433
09.01.2020, 11:26
Лучший ответ Сообщение было отмечено MAKC13 как решение

Решение

MAKC13, подключение нужно открывать только на время, пока оно нужно. А потом закрывать. ADO.NET всё равно такой запрос не закроет, а вернёт в пул, чтобы потом снова вам отдать, когда он снова понадобится.

Цитата Сообщение от MAKC13 Посмотреть сообщение
А если возникнет ситуация когда два запроса одновременно запросят информацию с БД, тогда как быть?
СУБД потому и существуют, что умеют корректно разруливать конкурентный доступ к данным. Что на чтение, что на запись.

Цитата Сообщение от MAKC13 Посмотреть сообщение
какие для работы с базой данных можно использовать фреймворки?
Можно никакие, можно мирко-ORM вида Dapper.NET или PetaPOCO, можно взрослые ORM типа Linq2Db или Entity Framework. Ни один из этих подходов не является самым лучшим. Но более-менее гибким и универсальным является Lin2Db.

Но если вы новичок, то рекомендую начать с Dapper. Там вы текст запроса будете писать руками, подключая голову. А отражение результата выборки на классы за вас сделает Dapper. Без понимания как работать с СУБД на чистом SQL нормально и эффективно пользоваться более крутыми вещами вы не сможете.
1
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
09.01.2020, 12:51  [ТС]
Usaga, а если я использую локальную базу данных и не использую фреймворки, а только подключая класс System.Data.SqlClient, то будет ли программа обладать вами описанными функциями?
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,433
09.01.2020, 13:19
MAKC13, "локальные" СУБД (чтобы вы под этим не имели ввиду) не рассчитаны на многопользовательскую работу. В остальном, всё тоже самое.
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
10.01.2020, 16:46  [ТС]
Usaga, Спасибо, вроде получилось разобраться)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2020, 16:46
Помогаю со студенческими работами здесь

Запись данных в базу данных mdb с использованием DataAdapter и DataSet
Попробовал сделать Update для таблицы контактов: private void Form1_Load(object sender, EventArgs e) { OleDbConnection...

Запись данных в базу данных SQL и выгрузка таблицы в форму
Нужно сделать 2 формы, одну с несколькими textBox'ами, чтобы при нажатии кнопки информация введённая в них, записывалась в Базу данных, и...

Создания базы данных и таблиц в базу данных в SQL Server Managment Studio
Здраствуйте. Нужно создать такую маленькую программу при помощи которой можно создать базу данных и таблицы в ней в SQL Server Managment...

LINQ2DB : имея классы описывающие таблицы базы данных сгенерировать непосредственно базу данных
Добрый день. Подскажите, можно ли имея классы описывающие таблицы базы данных сгенерировать непосредственно базу данных?

Пишу базу данных на основе данных из базы access
Здравствуйте уважаемые форумчане)) у меня к вам несколько вопросов 1) как сделать так чтобы при каждом запуске программа считывала все...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru