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;
}
}
}
}