powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / сколько должно быть connection'ов
15 сообщений из 15, страница 1 из 1
сколько должно быть connection'ов
    #32567525
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопросик.. у меня форма, на ней коннекшн и датаадаптер.. из этой формы открываются другие формы - справочники (грузы, организации).. как я понял нужно на каждой форме-справочнике снова создавать коннекшн и датаадаптер (делаю их не программно, а перетаскиванием)..
а не будет ли "тормозов" при отрытии приложения от такого количества коннешнов?
нужно ли управлять открытием/закрытием коннекшнов созданных не программно или они закрываются автоматически?
спасибо.
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32567806
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ответ
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32568965
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но все равно немножко не то, что я хотел услышать..
я сделаю допустим штук 5 коннекшнов... нужно ли мне их открывать и закрывать их программно?
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32568969
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, помню, читал где-то что выполнив Fill адаптер закрывается автоматом.. т.е. коннекшн закрывается или ему надо помочь программно?
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569137
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже если и открывается и закрывается автоматом, то рекомендовал бы открывать и закрывать руками, во избежании путаниц, типо: вот таких
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569163
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, vladgrig..
наверное остановлюсь на том, что в главной форме сделаю коннэкшны перетаскиванием, а в справочниках буду создавать коннэкшны только программно..
надеюсь это правильное решение..
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569172
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДудкинСпасибо, но все равно немножко не то, что я хотел услышать..
я сделаю допустим штук 5 коннекшнов... нужно ли мне их открывать и закрывать их программно?

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

По-умолчанию, насколько помню, используется пул соединений, так что соединения не уничножаются после закрытия, а переходят в неактивное состояние. При повторной попытке открытия соединения, оно будет получено из пула, что гораздо быстрее, чем если бы его пришлось создавать заново.
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569178
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Ustazz..
А как Вы делаете? Создаете ли для каждой новой формы новое соединение?
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569186
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДудкинСпасибо, Ustazz..
А как Вы делаете? Создаете ли для каждой новой формы новое соединение?
Я закрываю соединение при первой возможности.
И не стесняюсь создавать новые.

...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569216
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, утомил уже наверное.. Если я создам три соединения на трех формах (путем перетаскивания), будут ли эти ВСЕ три соединения открытимы на момент загрузки приложения? Или каждое соединение открывается при открытии своей формы?
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569264
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, но я не пойму (в силу своего ламерства) - зачем к одной базе создавать несколько connect. Разве нельзя использовать один???
Создать Class (как описывал Sa), или подобное...
Тем более
авторПо-умолчанию, насколько помню, используется пул соединений, так что соединения не уничножаются после закрытия, а переходят в неактивное состояние. При повторной попытке открытия соединения, оно будет получено из пула, что гораздо быстрее, чем если бы его пришлось создавать заново.
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569270
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ALL
Всем спасибо...
Я нашел ответ на вопрос, который меня терзал...
Изначально соединение закрыто.. поэтому, ИМХО, количество соединений не важно
вот кодMsgBox(conn.State.ToString)
AdapAll.Fill(DsAll1)
MsgBox(conn.State.ToString)
получается что количество соединений не влияет на время загрузки приложения (ведь все равно они все закрыты)..
Если я не прав, пожалуйста поправьте...
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569404
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется я понял проблему...
Один из методов использования одного connect для разных форм:
в формах можно писать dim form1 as new form1 (форма на которой connect1)
и потом обрасчаться к connect вот так из этих форм form1.connect1
и тогда не нужно создавать новые connect на формах
P.S. методы по созданию новых connect на разных формах я думаю, тоже правильны, но например мне это не удобно (дело вкуса)
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32569819
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При перетаскивании коннекшена на форму, строка соединения прописывается в коде. Таким образом она будет прописана в коде столько раз, сколько есть форм в приложении. Часто ее удобнее хранить в каком то другом месте (например, в конфигурационном файле, реестре, что-то можно спрашивать у пользователя). Мне кажется удобней явно брать строку подключения из специального класса, например, так ApplicationSettings.ConnectionString.

Если уж говорить, о том как делать еще правильней :) , так стоит вспомнить про отделение логики доступа к данным и бизнес-логики от интерфеса пользователя. В случае простого приложения доступа к БД это не так существенно. В сложных случаях одни и те же команды могут вызываться из разных форм и т. п. С такой точки зрения соединение - это не элемент формы. И используется этот объект только во время выполнения операции над БД; нас не должно волновать в каком состоянии он был до этого. Я делаю new SqlConnection(ApplicationSettings.ConnectionString), открываю соединение и не мучаюсь вопрсами :)
...
Рейтинг: 0 / 0
сколько должно быть connection'ов
    #32570842
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дудкин
я, помню, читал где-то что выполнив Fill адаптер закрывается автоматом.. т.е. коннекшн закрывается или ему надо помочь программно?


Для Fill явно открывать соединение действительно нет необходимости.
Полезно самому открыть соединение явно если у вас группа Fill (два и более), после всех Fill соединение следует закрывать вручную- такой подход будет работать эффективнее.

В остальных вопросах - несколько экземпляров класса Connection или один, то делайте как вам удобно. Тем более вас (пока :-) ) не интересуют некоторые вопросы, например единная строка соединения .

Основное правило которое я придерживаюсь при использовании ADO.NET, да и советую придерживаться остальным это:
"Открывать соединение как можно позже, закрывать как можно раньше"


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / сколько должно быть connection'ов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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