2009年8月5日水曜日

SQL コントロール

package left;

import java.sql.*;
import java.io.*;
import java.util.*;

public class SqlControl
{
private static Connection conn = null; // DB接続を格納する変数
private static Statement stmt = null; // DB操作を行うステートメントを格納する変数
public static ResultSet ExecuteSelect(String sql)
{
return (ResultSet)Execute(sql);
}
public static int ExecuteUpdate(String sql)
{
return ((Integer)Execute(sql)).intValue();
}
public static Object Execute(String sql)
{
if(conn != null || stmt != null)
CloseDb();
Object objRet = null;
String driverName ="oracle.jdbc.OracleDriver"; // DBの名前
String url = "jdbc:oracle:thin:@school:1521:school"; // DBのアドレス
String user = "study"; // DB接続のユーザー名
String password = "study"; // DB接続のパスワード
try
{
// DBを操作するためのドライバクラスを初期化する(DB操作時のお約束処理)
Class.forName(driverName);
// DBに接続する(DB操作時のお約束処理)
conn = DriverManager.getConnection(url, user, password);
// DBを操作するステートメントを作成する(DB操作時のお約束処理)
stmt = conn.createStatement();
// 実行結果を戻り値に設定する
if(sql.startsWith("select"))
objRet = SqlExecuteQuery(stmt, sql);
else
objRet = SqlExecuteUpdate(stmt, sql);
}
catch(Exception e)
{
System.out.println("err");
}
return objRet;
}
public static void CloseDb()
{
// statementとconnectionを閉じる(DB操作時のお約束処理)
try
{
if(stmt != null)
{
stmt.close();
}
if(conn != null)
{
conn.close();
}
}
catch(Exception e)
{
}
}
//
// 関数名 : SqlExecuteQuery
// 機 能 : DBを参照する
// 引 数 : stmt = SQLを実行するステートメントクラス
// sql = SQLの実行文
// 戻り値 : なし
// 更新日 :
//
private static ResultSet SqlExecuteQuery(Statement stmt, String sql)
{
try
{
// SQLを実行
return stmt.executeQuery(sql);
}
catch(Exception e)
{
return null;
}
}
//
// 関数名 : SqlExecuteUpdate
// 機 能 : DBを更新する処理を実行する
// 引 数 : stmt = SQLを実行するステートメントクラス
// sql = SQLの実行文
// 戻り値 : なし
// 更新日 :
//
private static Integer SqlExecuteUpdate(Statement stmt, String sql)
{
try
{
// SQLを実行
return (Integer)stmt.executeUpdate(sql);
}
catch(Exception e)
{
return null;
}
}
}

0 件のコメント:

コメントを投稿