using System; using System.Data; using System.Data.OleDb; using System.Data.SqlClient; namespace Wankuma.Data { /// /// Disposer の概要の説明です。 /// public class Disposer { private Disposer() { } /// /// OleDbDataAdapterの破棄を行います。 /// 結びついているすべてのコマンド、コネクションをDisposeします。 /// /// DisposeしたいSqlDataAdapterを指定 public static void Dispose(SqlDataAdapter da) { if ( da != null ) { Dispose((IDbDataAdapter)da); da.Dispose(); } } /// /// OleDbDataAdapterの破棄を行います。 /// 結びついているすべてのコマンド、コネクションをDisposeします。 /// /// DisposeしたいOleDbDataAdapterを指定 public static void Dispose(OleDbDataAdapter da) { if ( da != null ) { Dispose((IDbDataAdapter)da); da.Dispose(); } } /// /// DataAdapterの破棄を行います。 /// 結びついているすべてのコマンドのDisposeします。 /// /// 配下4Commandを廃棄するDataAdapterを指定します。 private static void Dispose(IDbDataAdapter da) { if ( da != null ) { Dispose(da.SelectCommand); Dispose(da.InsertCommand); Dispose(da.UpdateCommand); Dispose(da.DeleteCommand); } } /// /// DBCommand用Dispose /// 配下のコネクションもDisposeします。 /// /// DisposeしたいOleDBCommandやSqlCommandなどを指定 public static void Dispose(IDbCommand com) { if ( com != null ) { Dispose(com.Connection); com.Dispose(); com = null; } } /// /// DbConnection用Dispose /// 配下のコネクションもDisposeします。 /// /// DisposeしたいOleDBConnectionやSqlConnectionなどを指定 public static void Dispose(IDbConnection con) { if ( con != null ) { con.Close(); con.Dispose(); con = null; } } } }