記得在某次教育訓練時,講師有提到
SQL connection 的處理 一般人都不會注意 connection 會因為程式錯誤而造成沒有close 的問題
當時建議
用 try finally 來解決.
 
try{
    connection.open();
}
finally
{
    connection.close();
}
 
現在發現更簡單的語法, 用 using 也可以達成同樣的效果
 using (SqlConnection connection = new SqlConnection(connectionString))
   {
      connection.open();
 
 
   }

 
底下說明來自MSDN
 
C# 程式語言的 using 陳述式會藉由簡化您必須為建立和清除物件而撰寫的程式碼,以較為自動的方式呼叫 Dispose 方法。Using 陳述式會取得一項或多項資源、執行您指定的陳述式,然後處置該物件。請注意,using 陳述式對於物件之存留期不超過建構該物件之方法的物件才有用。下列程式碼範例會建立並清除 ResourceWrapper 類別的執行個體,一如之前在 C# 實作 Dispose 方法範例中所提供的說明。
class myApp
{
   public static void Main()
   {
      using (ResourceWrapper r1 = new ResourceWrapper())
      {
         // Do something with the object.
         r1.DoSomething();
      }
   }
}
前面含有 using 陳述式的程式碼,就相當於下列情形。
class myApp
{
   public static void Main()
   {
      ResourceWrapper r1 = new ResourceWrapper();
      try
      {
         // Do something with the object.
         r1.DoSomething();
      }
      finally
      {
         // Check for a null resource.
         if (r1 != null)
         // Call the object's Dispose method.
         r1.Dispose();
      }
   }
}
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 丫烈客 的頭像
    丫烈客

    丫烈客

    丫烈客 發表在 痞客邦 留言(0) 人氣()