Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Вопросик.. у меня форма, на ней коннекшн и датаадаптер.. из этой формы открываются другие формы - справочники (грузы, организации).. как я понял нужно на каждой форме-справочнике снова создавать коннекшн и датаадаптер (делаю их не программно, а перетаскиванием).. а не будет ли "тормозов" при отрытии приложения от такого количества коннешнов? нужно ли управлять открытием/закрытием коннекшнов созданных не программно или они закрываются автоматически? спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:54 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 16:32 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Спасибо, но все равно немножко не то, что я хотел услышать.. я сделаю допустим штук 5 коннекшнов... нужно ли мне их открывать и закрывать их программно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 09:27 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
я, помню, читал где-то что выполнив Fill адаптер закрывается автоматом.. т.е. коннекшн закрывается или ему надо помочь программно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 09:29 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Даже если и открывается и закрывается автоматом, то рекомендовал бы открывать и закрывать руками, во избежании путаниц, типо: вот таких ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:00 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Спасибо, vladgrig.. наверное остановлюсь на том, что в главной форме сделаю коннэкшны перетаскиванием, а в справочниках буду создавать коннэкшны только программно.. надеюсь это правильное решение.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:07 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
ДудкинСпасибо, но все равно немножко не то, что я хотел услышать.. я сделаю допустим штук 5 коннекшнов... нужно ли мне их открывать и закрывать их программно? Адаптер оставляет соединение в том же состоянии, что оно было. А вот если использушь команды напрямую, тогда соединение нужно открывать и закрывать самому. По-умолчанию, насколько помню, используется пул соединений, так что соединения не уничножаются после закрытия, а переходят в неактивное состояние. При повторной попытке открытия соединения, оно будет получено из пула, что гораздо быстрее, чем если бы его пришлось создавать заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:10 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Спасибо, Ustazz.. А как Вы делаете? Создаете ли для каждой новой формы новое соединение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:13 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
ДудкинСпасибо, Ustazz.. А как Вы делаете? Создаете ли для каждой новой формы новое соединение? Я закрываю соединение при первой возможности. И не стесняюсь создавать новые. ☺ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:19 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Господа, утомил уже наверное.. Если я создам три соединения на трех формах (путем перетаскивания), будут ли эти ВСЕ три соединения открытимы на момент загрузки приложения? Или каждое соединение открывается при открытии своей формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:30 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, но я не пойму (в силу своего ламерства) - зачем к одной базе создавать несколько connect. Разве нельзя использовать один??? Создать Class (как описывал Sa), или подобное... Тем более авторПо-умолчанию, насколько помню, используется пул соединений, так что соединения не уничножаются после закрытия, а переходят в неактивное состояние. При повторной попытке открытия соединения, оно будет получено из пула, что гораздо быстрее, чем если бы его пришлось создавать заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:46 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
2 ALL Всем спасибо... Я нашел ответ на вопрос, который меня терзал... Изначально соединение закрыто.. поэтому, ИМХО, количество соединений не важно вот кодMsgBox(conn.State.ToString) AdapAll.Fill(DsAll1) MsgBox(conn.State.ToString) получается что количество соединений не влияет на время загрузки приложения (ведь все равно они все закрыты).. Если я не прав, пожалуйста поправьте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 11:47 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
мне кажется я понял проблему... Один из методов использования одного connect для разных форм: в формах можно писать dim form1 as new form1 (форма на которой connect1) и потом обрасчаться к connect вот так из этих форм form1.connect1 и тогда не нужно создавать новые connect на формах P.S. методы по созданию новых connect на разных формах я думаю, тоже правильны, но например мне это не удобно (дело вкуса) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 12:34 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
При перетаскивании коннекшена на форму, строка соединения прописывается в коде. Таким образом она будет прописана в коде столько раз, сколько есть форм в приложении. Часто ее удобнее хранить в каком то другом месте (например, в конфигурационном файле, реестре, что-то можно спрашивать у пользователя). Мне кажется удобней явно брать строку подключения из специального класса, например, так ApplicationSettings.ConnectionString. Если уж говорить, о том как делать еще правильней :) , так стоит вспомнить про отделение логики доступа к данным и бизнес-логики от интерфеса пользователя. В случае простого приложения доступа к БД это не так существенно. В сложных случаях одни и те же команды могут вызываться из разных форм и т. п. С такой точки зрения соединение - это не элемент формы. И используется этот объект только во время выполнения операции над БД; нас не должно волновать в каком состоянии он был до этого. Я делаю new SqlConnection(ApplicationSettings.ConnectionString), открываю соединение и не мучаюсь вопрсами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 14:56 |
|
||
|
сколько должно быть connection'ов
|
|||
|---|---|---|---|
|
#18+
Дудкин я, помню, читал где-то что выполнив Fill адаптер закрывается автоматом.. т.е. коннекшн закрывается или ему надо помочь программно? Для Fill явно открывать соединение действительно нет необходимости. Полезно самому открыть соединение явно если у вас группа Fill (два и более), после всех Fill соединение следует закрывать вручную- такой подход будет работать эффективнее. В остальных вопросах - несколько экземпляров класса Connection или один, то делайте как вам удобно. Тем более вас (пока :-) ) не интересуют некоторые вопросы, например единная строка соединения . Основное правило которое я придерживаюсь при использовании ADO.NET, да и советую придерживаться остальным это: "Открывать соединение как можно позже, закрывать как можно раньше" Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 09:42 |
|
||
|
|

start [/forum/topic.php?fid=20&gotonew=1&tid=1438973]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 425ms |

| 0 / 0 |
