|
分類:[.NET 全般]
import java.util.Scanner;
import java.sql.*;
//メニュー
public class DB2 {
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
System.out.println("メニュー");
System.out.println("1:新規登録");
System.out.println("2:個別検索");
System.out.println("3:一覧表示");
System.out.println("4:終了");
try{ //半角数字以外で入力された時の対処
System.out.print("メニューをお選びください:");
int x=stdIn.nextInt();
switch(x){
case 1:
torokuC.toroku(); //新規登録へ
break;
case 2:
kobetuC.kobetu(); //個別表示へ
break;
case 3:
listC.list(); //一覧表示へ
break;
case 4:
endC.end(); //終了へ
break;
default:
System.out.println("入力内容が間違っています。");
System.out.println();
main(null);
}
}catch(Exception e){
System.out.println("入力内容が間違っています。");
System.out.println();
main(null);
}
}
}
//新規登録
class torokuC{
public static void toroku(){
Scanner stdIn=new Scanner(System.in);
stdIn.useDelimiter("\\r\\n"); //Scannerで読み込む時、区切りを"空白"から"改行"へ変更
gcheckC gc=new gcheckC();
ycheckC yc=new ycheckC();
//登録内容入力
System.out.println();
System.out.println("新規登録する内容を入力してください。");
System.out.print("学番:");
gc.ga=stdIn.next();
System.out.print("氏名:");
String na=stdIn.next();
System.out.print("生年月日(YYYYMMDD):");
yc.ymd=stdIn.next();
//登録内容の確認
System.out.println();
System.out.println("登録内容の確認");
System.out.println("学番:"+gc.ga);
System.out.println("氏名:"+na);
yc.yscheck(); //生年月日の確認表示
while(true){
System.out.print("登録内容に間違いはないですか(1:はい 2:いいえ):");
int mt=stdIn.nextInt();
switch(mt){
case 1:
//学番エラーチェック
try{
gc.gacheck(); //学番チェッククラスへ
if(gc.h==1){
throw new Exception(); //エラーへ
}
gc.gscheck(); //学番チェッククラスへ
if(gc.h==1){
throw new Exception(); //エラーへ
}
gc.gycheck(); //学番チェッククラスへ
if(gc.h==1){
throw new Exception(); //エラーへ
}
}catch(Exception e){
System.out.print("入力しなおしますか(1:はい 2:いいえ):");
int n=stdIn.nextInt();
switch(n){
case 1:
toroku(); //新規登録へ
break;
case 2:
DB2.main(null); //メニューへ
System.out.println();
break;
}
}
//生年月日エラーチェック
if(yc.a==1){
System.out.println("生年月日が正しく入力されていません。");
System.out.print("入力しなおしますか(1:はい 2:いいえ):");
int n=stdIn.nextInt();
switch(n){
case 1:
toroku(); //新規登録へ
break;
case 2:
DB2.main(null); //メニューへ
System.out.println();
break;
}
}
yc.yacheck();
yc.ymcheck(); //生年月日チェッククラスへ
if(yc.h==1){
System.out.print("入力しなおしますか(1:はい 2:いいえ):");
int n=stdIn.nextInt();
switch(n){
case 1:
toroku(); //新規登録へ
break;
case 2:
DB2.main(null); //メニューへ
System.out.println();
break;
}
}
int yyy=Integer.parseInt(yc.ymd);
//↓mysql登録文
Connection con=null;
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","workusr","workpass"); //ログイン
Statement stm=con.createStatement();
String sql="insert into gakusei values('"+gc.g+"','"+na+"','"+yyy+"')"; //SQL文 (登録
int result=stm.executeUpdate(sql);
}catch(Exception e){
}finally{
if(con!=null){
try{
con.close();
}catch(SQLException e){
System.out.println("MySQLのクローズに失敗しました。");
}
}
}
//↑
if(gc.h<1){
System.out.println("登録しました。");
}
System.out.println();
System.out.print("お選びください(1:メニュー 2:終了):");
int e=stdIn.nextInt();
System.out.println();
switch(e){
case 1:
DB2.main(null);
break;
case 2:
endC.end();
break;
}
break;
case 2:
toroku();
System.out.println();
break;
default:
System.out.println("入力が間違っています。");
System.out.println();
continue;
}
break;
}
}
}
//個別表示
class kobetuC{
public static void kobetu(){
Scanner stdIn=new Scanner(System.in);
stdIn.useDelimiter("\\r\\n");
gcheckC gc=new gcheckC();
ks b=new ks();
System.out.println();
System.out.println("検索する学生番号を入力してください。");
System.out.print("学番:");
gc.ga=stdIn.next();
gc.gacheck();
gc.gscheck();
gc.gncheck();
Connection con=null;
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","workusr","workpass"); //ログイン
Statement stm = con.createStatement();
String sql = "select * from gakusei where gakuban='"+gc.g+"'";
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
b.gakuban = rs.getInt("gakuban");
b.name = rs.getString("name");
b.birthday = rs.getString("birthday");
System.out.println("検索結果 -> " + b.gakuban + ":" + b.name + ":" +b.birthday);
System.out.println();
System.out.print("お選びください(1:更新 2:削除3:メニュー4:終了):");
int w=stdIn.nextInt();
System.out.println();
switch(w){
case 1:
b.kousin();
break;
case 2:
b.sakuzyo();
break;
case 3:
DB2.main(null);
break;
case 4:
endC.end();
break;
}
}
}catch(Exception e){
System.out.println("入力内容に間違いがあります。");
System.out.print("入力しなおしますか(1:はい 2:いいえ):");
int n=stdIn.nextInt();
switch(n){
case 1:
kobetuC.kobetu();
break;
case 2:
DB2.main(null);
break;
}
}
}
}
//一覧表示
class listC{
public static void list(){
System.out.println();
Scanner stdIn=new Scanner(System.in);
Connection con=null;
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","workusr","workpass");
Statement stm=con.createStatement();
String sql="select * from gakusei";
ResultSet rs=stm.executeQuery(sql);
while(rs.next()){
int gakusei =rs.getInt("gakuban");
String name =rs.getString("name");
String birthday =rs.getString("birthday");
System.out.println("学番:"+gakusei+"\t 名前:"+name+"\t 生年月日:"+birthday);
}
}catch(Exception e){
}finally{
if(con!=null){
try{
con.close();
}catch(SQLException e){
System.out.print("MYSQLのクローズに失敗しマスター");
}
}
}
//削除
while(true){
System.out.print("データを削除しますか(はい:1 いいえ:2):");
int hoh=stdIn.nextInt();
if(hoh==1){
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","workusr","workpass");
Statement stm=con.createStatement();
String sql="delete from gakusei";
int num = stm.executeUpdate(sql);
System.out.println("データを削除しました。");
}catch(Exception e){
}
}else if(hoh==2){
System.out.println();
DB2.main(null);
break;
}else{
System.out.println("入力が間違っています。");
System.out.println();
}
}
}
}
//終了
class endC{
public static void end(){
System.out.println("終了しました。");
}
}
//学番チェック
class gcheckC{
Scanner stdIn=new Scanner(System.in);
int g;
int h=0;
String ga;
void gacheck(){ //学番英数字チェック
try{
g=Integer.parseInt(ga);
}catch(Exception e){
System.out.println("英数字で入力してください。");
h=1;
}
}
void gscheck(){ //学番の桁チェック
char[] gs=ga.toCharArray();
if(5!=gs.length){
System.out.println("学番が5桁ではありません。");
h=1;
}
}
void gycheck(){ //学番既存チェック
Connection con=null;
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","workusr","workpass"); //ログイン
Statement stm=con.createStatement();
String sql="select * from gakusei where gakuban='"+g+"'"; //ffSQL文
ResultSet rsa=stm.executeQuery(sql);
while(rsa.next()){
int gakub=rsa.getInt("gakuban");
if(g==gakub){
System.out.println("その学番は既に存在します。");
h=1;
}
}
}catch(Exception e){
|