|
分類:[.NET 全般]
import java.sql.*; import java.util.*; public class JavaSQL { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ menyu me=new menyu();//メニューのインスタンス化 me.menyu1();//メニュー処理へ } }
class menyu{//メニュー表示クラス SQL sl=new SQL();//一覧のインスタンス化 sinki si=new sinki();//新規入力のインスタンス化 int s;//項目選択の変数 void menyu1(){//メニュー表示 Scanner stdIn=new Scanner(System.in); System.out.println("メニュー\n1:新規登録\n2:学生情報表示(個別)\n3:学生情報表示(一覧)\n4:終了"); System.out.print("項目を選択してください(半角入力):"); s=stdIn.nextInt();//項目選択 handan();//項目内容の判断 } void handan(){//項目内容判断 sentaku se=new sentaku();//選択処理のインスタンス化 se.s2=s;//続ける際の判定 switch(s){ case 1://新規入力 si.sinki1();//新規入力の処理へ se.sentaku1();//処理後の項目選択 break; case 2://個別情報表示 sl.kobetu();//個別表示の処理へ se.sentaku1();//処理後の項目選択 break; case 3://一覧情報表示 sl.ichiran();//一覧表示の処理へ se.sentaku1();//処理後の項目選択 break; case 4://終了 System.out.println("プログラムを終了します。");//プログラム終了案内 break; } } }
class sinki{//新規入力クラス Scanner stdIn=new Scanner(System.in); int gakuban;//学番 String name;//名前 int year;//年(西暦) int month;//月 int day;//日 void sinki1(){//新規入力 System.out.print("学番を入力してください(半角入力):"); gakuban=stdIn.nextInt();//学番入力 System.out.print("氏名を入力してください:"); name=stdIn.next();//氏名入力 birthday();//生年月日入力 sinkiSQL();//新規入力SQL処理 } void birthday(){//生年月日入力処理 System.out.print("生年月日を入力してください(半角入力)\n"); do{ System.out.print("年(西暦):"); year=stdIn.nextInt(); if(year<0){//紀元前入力になっていないか check(); } }while(year<0); do{ System.out.print("月:"); month=stdIn.nextInt(); if(month>12 || month<1){//1月から12月までか check(); } }while(month>12 ||month<1); while(true){ System.out.print("日:"); day=stdIn.nextInt(); if(month==2 && day<30){//2月判断 break; } //31日判断 if((month==1 || month==3 || month==5 ||month==7 ||month==8 || month==10 ||month==12) && day<32){ break; } //30日判断 if((month==4 || month==6 || month==9 ||month==11)&& day<31){ break; } check(); } } void check(){//入力ミスメッセージ System.out.println("もう一度入力してください!"); } void sinkiSQL(){//新規入力SQL Connection con = null; try { // MySQLに接続 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass"); System.out.println("MySQLに接続できました。"); Statement stm = con.createStatement(); //同じ学番がないかのチェックSQL String sql="select gakuban from gakusei where gakuban="+gakuban; //SQL実行 ResultSet rs = stm.executeQuery(sql); while(rs.next()){ int as=rs.getInt("gakuban");//習得した学番を変数に格納 if(gakuban==as){//入力した学番と習得した学番が一致するか System.out.println("指定した学番は存在します!"); return;//登録せずに処理を抜ける } } //新規入力SQL sql="insert into gakusei values('"+gakuban+"','"+name+"','"+year+"-"+month+"-"+day+"')"; //SQL実行(新規登録) int result=stm.executeUpdate(sql); //登録完了メッセージ System.out.println("新規登録されました"); }catch (SQLException e) { System.out.println("MySQLに接続できませんでした。"); }finally { if (con != null) { try { con.close(); } catch (SQLException e) { System.out.println("MySQLのクローズに失敗しました。"); } } } } }
class SQL{//SQLクラス void kobetu(){//個別入力処理 Connection con = null; try { Scanner stdIn=new Scanner(System.in); // MySQLに接続 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass"); System.out.println("MySQLに接続できました。"); Statement stm = con.createStatement(); System.out.print("検索する学番を入力してください(半角入力)\n入力:"); //検索する学番入力 int bangou=stdIn.nextInt(); //SQL文入力 String sql = "select gakuban,name,birthday from gakusei where gakuban="+bangou; //SQLの実行 ResultSet rs = stm.executeQuery(sql); if(rs.next()){//結果があるか System.out.println("gakuban\tname\tbirthday"); //データ習得 String gakuban=rs.getString("gakuban"); String name=rs.getString("name"); String birthday=rs.getString("birthday"); //データ出力 System.out.println(gakuban+"\t"+name+"\t"+birthday); }else{//結果がなかったとき System.out.println("指定した学番は存在しません"); } } catch (SQLException e) { System.out.println("MySQLに接続できませんでした。"); }finally { if (con != null) { try { con.close(); } catch (SQLException e) { System.out.println("MySQLのクローズに失敗しました。"); } } } } void ichiran(){//一覧表示SQL Connection con = null; try { // MySQLに接続 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass"); System.out.println("MySQLに接続できました。"); Statement stm = con.createStatement(); //SQL文入力 String sql = "select gakuban,name,birthday from gakusei"; //SQLの実行 ResultSet rs = stm.executeQuery(sql); System.out.println("gakuban\tname\tbirthday"); while(rs.next()){//検索結果があればtrue //データ習得 String gakuban=rs.getString("gakuban"); String name=rs.getString("name"); String birthday=rs.getString("birthday"); //データ出力 System.out.println(gakuban+"\t"+name+"\t"+birthday); } } catch (SQLException e) { System.out.println("MySQLに接続できませんでした。"); } finally { if (con != null) { try { con.close(); } catch (SQLException e) {
|