2014-06-20 132 views
1

我們正在使用Microsoft企業庫訪問sql服務器database.We是 有一些關於如何關閉數據庫連接的懷疑。代碼如下。要做到這一點企業庫數據庫連接關閉

DatabaseFactory.SetDatabaseProviderFactory(new DatabaseProviderFactory(), false); 
Database db = new DatabaseProviderFactory().Create("Dataconnectionstring"); 
string sqlCommand = ""; 
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); 
dbCommand.CommandTimeout = 0; 
try 
{ 
    success = Convert.ToInt32(db.ExecuteScalar(dbCommand)); 
    return success; 
} 
    so how can we close database connection.  
+0

https://stackoverflow.com/questions/15473907/how-to-close-connection-of-microsoft-practices-enterpriselibrary-data-executenon – MatthewMartin

回答

0

的一種方法是使用using語句。
所有實現IDisposable的對象都可以這種方式使用,當代碼到達結尾括號時,它調用Dispose(),該對象被認爲是擺脫了對象。

DatabaseFactory.SetDatabaseProviderFactory(new DatabaseProviderFactory(), false); 
     int success = 0; 
     using (var db = new DatabaseProviderFactory().Create("Dataconnectionstring")) 
     { 
      string sqlCommand = ""; 
      using (var dbCommand = db.GetStoredProcCommand(sqlCommand)) 
      { 
       dbCommand.CommandTimeout = 0; 
       try 
       { 
        success = Convert.ToInt32(db.ExecuteScalar(dbCommand)); 
       } 
      } 
     } 

    return success; 
+0

錯!數據庫不是一次性的。 – Emanuele

+0

@Emanuele嗨Emanuele,當你說數據庫不是一次性的,你指的是哪個對象? –

+0

2天前我試過了你的代碼。我想在使用(var db = new DatabaseProviderFactory()。Create(「Dataconnectionstring」)) – Emanuele