/*
 * $Id$
 * Copyright (c) 2006 LOGICAL-PARADOX.ORG
 */
package org.logical_paradox.common.sql;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * データベース関連のユーティリティ．
 * @author satoshi akabane@logical-paradox.org
 * @versiop $Revision$
 */
public class DbUtils {
	/**
	 * コンストラクタ．
	 * インスタンス化は許可しない．
	 */
	private DbUtils() {
	}
	/**
	 * データベース接続をクローズする．
	 * @param con データベース接続
	 * @return null:成功 / SQLException 失敗
	 */
	public static final SQLException closeConnection(Connection con) {
		SQLException exception = null;

		if(con != null) {
			try {
				con.close();
			} catch(SQLException e) {
				exception = e;
			}
		}
		
		return exception;
	}
	/**
	 * ステートメントをクローズする．
	 * @param stmt ステートメント
	 * @return null:成功 / SQLException 失敗
	 */
	public static final SQLException closeStatement(Statement stmt) {
		SQLException exception = null;

		if(stmt != null) {
			try {
				stmt.close();
			} catch(SQLException e) {
				exception = e;
			}
		}
		
		return exception;
	}
	/**
	 * 結果セットをクローズする．
	 * @param rs 結果セット
	 * @return null:成功 / SQLException 失敗
	 */
	public static final SQLException closeResultSet(ResultSet rs) {
		SQLException exception = null;

		if(rs != null) {
			try {
				rs.close();
			} catch(SQLException e) {
				exception = e;
			}
		}
		
		return exception;
	}
}
