2014-03-28 205 views
0

我有問題隨機獲取錯誤,如「sql事務已完成不再可用」,「交易已經提交...」在閱讀很多帖子後,我認爲它的問題共享連接問題打賭我無法找到問題所在。 從0開始,我想創建一個「類2個porpuoses - 確保連接關閉 - 更少的編碼 的簡單類有2種方法GDT(提供數據表)和Ejecutar(西班牙語執行)多線程和連接池

¿任何人可以告訴我,如果這個類是精心設計的具有非共享連接的問題?

Public Class clsAccesoBD2 

Public Function GDT(ByVal strSql As String) As DataTable 
    Try 
     Using Cnn As New SqlConnection(ConfigurationManager.ConnectionStrings("CadenaPEA").ConnectionString) 
      Using da As New SqlDataAdapter(strSql, Cnn) 
       Using dt As New DataTable 
        da.Fill(dt) 
        Return dt 
       End Using 
      End Using 
     End Using 
    Catch ex As Exception 
     'Log code here 

擲 結束Try 端功能

Public Function Ejecutar(ByVal strSql As String) As Integer 
    Try 
     Using Cnn As New SqlConnection(ConfigurationManager.ConnectionStrings("CadenaPEA").ConnectionString) 
      Using Cb As New SqlCommand(strSql, Cnn) 
       Dim RegistrosAfectados As Integer 
       Cnn.Open() 
       RegistrosAfectados = Cb.ExecuteNonQuery() 
       Cnn.Close() 
       Return RegistrosAfectados 
      End Using 
     End Using 
    Catch ex As Exception 
     'Log code here 
     Throw 
    End Try 

End Function 

末級

角城

回答

0

緊密分貝連接(即Cnn.Close()finallytry-catch-finally構造

+0

我認爲,當使用「使用」statament和錯誤發生和焦點移動捕捉blcok,連接自動關閉(因爲這是超出使用塊)。 –