package JavaSQL_Sample;
/*
* Java-SQL演習 1
*
* 画面から顧客IDを入力して該当する顧客マスタのレコードを読み込み、
* 顧客名、連絡先を表示する。
* 表示が終了したら、再度、顧客IDの入力を行い、処理を繰り返す。
* 入力顧客IDに999を入力することで処理終了とする。
*
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Sql01 {
public static void main(String args[]) {
String str;
int custID;
String DBSERVER = "jdbc:hsqldb:hsql://localhost";
String USER = "sa";
String PASSWD = "";
//キーボード入力設定
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
//hsql JDBCドライバロード
Class.forName("org.hsqldb.jdbcDriver");
//DB接続
Connection con =
DriverManager.getConnection(DBSERVER,USER,PASSWD);
Statement stmt = con.createStatement();
while(true){
//顧客ID入力
System.out.print("顧客ID:");
str = in.readLine();
custID = Integer.parseInt(str); //int変換
//処理終了か?
if(custID == 999){
break;
}
//SQL実行
String query = "SELECT * FROM 顧客マスタ WHERE 顧客ID = " + custID;
ResultSet rs = stmt.executeQuery(query);
if(rs.next()){
System.out.print("顧客名:");
System.out.println(rs.getString("顧客名"));
System.out.print("連絡先:");
System.out.println(rs.getString("連絡先"));
System.out.println(""); //改行
}else{
System.out.println("データ未登録");
System.out.println(" "); //改行
}
//結果セット開放
rs.close();
}
//接続開放
stmt.close();
//DB開放
con.close();
} catch (SQLException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException exp ){
exp.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}