Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / закрытие соединения при DataReader / 8 сообщений из 8, страница 1 из 1
09.04.2004, 12:22
    #32475230
DNV
DNV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
к примеру есть код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
sub CCC(Sql)
	Dim Cmd As New SqlCommand(SQL, New SqlConnection(CnString))
	Dim R As SqlDataReader = Cmd.ExecuteReader
	....
	R.Close()
	Cmd.Dispose()
	...
	...
end sub

когда закроется соединение?
когда я делаю Cmd.Dispose или при выходе из процедуры
...
Рейтинг: 0 / 0
09.04.2004, 13:34
    #32475409
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
Хороший вопрос. Я думаю, при закрытии Cmd потеряется ссылка на объект соединения, а при выходе из процедуры освободится память, занимаемая этим объектом.
...
Рейтинг: 0 / 0
09.04.2004, 15:16
    #32475703
DNV
DNV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
теперь вот какой вопрос.

Dim Cmd As New SqlCommand(SQL, New SqlConnection(CnString))
...
Cmd.Dispose()

при Cmd.Dispose коннект закроется или обязательно надо делать
сначала
Cmd.SelectCommand.Connection.Dispose()
а потом уж
Cmd.Dispose()

Именно так сделано в 'Duwamish'

разве при Cmd.Dispose не выполняется автоматом Cmd.SelectCommand.Connection.Dispose() ???
...
Рейтинг: 0 / 0
10.04.2004, 11:56
    #32476376
DNV
DNV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
ответьте же кто нибудь, плиз
...
Рейтинг: 0 / 0
21.04.2004, 11:51
    #32489288
DNV
DNV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
ответьте плиз на последний вопрос
...
Рейтинг: 0 / 0
23.04.2004, 12:37
    #32493771
KnowALL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
Думаю, что нет.

Когда мы пишем:

Код: plaintext
Dim Cmd As New SqlCommand(SQL, New SqlConnection(CnString)) 


сначала создается соединение, а потом объект Command.

А при удалении Cmd мы удаляем Command, а Connection остается.

Следовательно, его надо удалять. Или дождаться сборщика мусора, который освободит неиспользуемые области памяти. Правда когда именно он запустится, знает только Microsoft :)
...
Рейтинг: 0 / 0
23.04.2004, 13:01
    #32493865
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
А я вообще никогда не закрываю соединение. Правда я его отдельным компонентом создаю

-- Tygra's --
...
Рейтинг: 0 / 0
25.04.2004, 15:43
    #32495761
EvAlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
закрытие соединения при DataReader
Я не вижу открытия соединения.
Насколько я знаю DataReader в отличие от DataAdapter не открывает соединение и не закрывает самостоятельно.
Выход из процедуры память тоже не очищает - .net это делает сам в том случае если считает, что процедура не будет использованна.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / закрытие соединения при DataReader / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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