Symfoware Parallel Server JDBCドライバユーザーズガイド
目次 索引 Back Next

Up 付録B サンプルアプリケーション
Up B.2 Javaアプリケーション

B.2.3 パラメタを指定してデータを参照する

SQL文のパラメタを指定してデータベースのデータを参照するプログラム例を説明します。

// 以下のパッケージをインポートします。
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;

// クラスを定義します。
public class MyPreparedSelect
{

public static void main(String args[])
{
try
{
// JNDI環境を指定します。
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.fujitsu.symfoware.jdbc2.jndisp.SYMContextFactory");
env.put(Context.PROVIDER_URL,"SYM://myhost:10326");
InitialContext ctx = new InitialContext(env);

// JDBCデータソースを取得します。
DataSource ds = (DataSource)ctx.lookup("jdbc/ds1");

// データベースと接続します。
Connection con = ds.getConnection();

// PreparedStatementクラスの
// オブジェクトを生成します。
// IDが 3のデータを参照します。

PreparedStatement pstmt = con.prepareStatement(
"SELECT * FROM GENERAL.EMPLOYEE WHERE ID=?");

// パラメタに値を設定します。
pstmt.setInt(1, 3);

// SQL文を実行し、ResultSetクラスの
// オブジェクトを生成します。

ResultSet rs = pstmt.executeQuery();

int iID = 0;
String sName = null;

while (rs.next())
{

// データを取得します。
iID = rs.getInt(1);
sName = rs.getString(2);

// 取得した情報を表示します。
System.out.println("ID = " + iID);
System.out.println("NAME = " + sName);

}

// ResultSetクラスのオブジェクトをクローズします。
rs.close();

// PreparedStatementクラスの
// オブジェクトをクローズします。

pstmt.close();

// Connectionクラスのオブジェクトをクローズします。
con.close();

}

// SQLExceptionが発生した場合の処理を記述します。
catch (SQLException e)
{

// エラー情報を出力します。
System.out.println("ERROR MESSAGE : " + e.getMessage());
System.out.println("SQLSTATE : " + e.getSQLState());
System.out.println("ERROR CODE : " + e.getErrorCode());
}

// その他のExceptionが発生した場合の処理を記述します。
catch (Exception e)
{

// スタックトレースを出力します。
e.printStackTrace();
}
}
}
目次 索引 Back Next

All Rights Reserved, Copyright(C) 富士通株式会社 2006