2013-02-22 3 views
0

Я использую следующий код в метод DisposeКак закрыть активные соединения SQL Server?

Public Sub Dispose() Implements System.IDisposable.Dispose 
      If Not IsDBNull(Command) And Not Command Is Nothing Then 
       Dim tmpsqlcon As SqlConnection 
       tmpsqlcon = Command.Connection 
       Debug.Assert(Not IsDBNull(tmpsqlcon)) 
       SqlConnection.ClearPool(tmpsqlcon) 
       tmpsqlcon.Close() 
       Command.Dispose() 
       tmpsqlcon.Dispose() 
      End If 
     End Sub 

() и вызов этого метода каждый раз в работе с базой данных. Но это все еще показывает мне слишком много активной связи.

+0

как использовать команду и соединение в коде. – fofik

ответ

0

Вам не нужно использовать отчуждать, если Вы подключаетесь к БД с помощью заявление:

Пример:

Dim queryString As String = _ 
    "SELECT OrderID, CustomerID FROM dbo.Orders;" 

Using connection As New SqlConnection(connectionString) 
    Dim command As New SqlCommand(queryString, connection) 
    connection.Open() 

    Dim reader As SqlDataReader = command.ExecuteReader() 

    ' Call Read before accessing data. 
    While reader.Read() 
     Console.WriteLine(String.Format("{0}, {1}", _ 
      reader(0), reader(1))) 
    End While 

    ' Call Close when done reading. 
    reader.Close() 
End Using 

это путь, вы должны подключиться к БД.

некоторые подробнее:

how to close a sqlconnection in asp.net

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.close.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

Смежные вопросы