📄 infocontroller.java
字号:
//读取用户输入命令并做相应处理的组件
import java.io.*;
import java.sql.*;
import java.util.*;
import java.text.*;
public class infoController
{
public JdbcOdbc statRes=new JdbcOdbc();
//实例化jdbcodbc
public model demo=new model();
//实例化model
Statement sta=statRes.connecting();
ResultSet rs=null;
String sqlUpd=null,sqlDel=null,sqlQue=null,Sno=null;
//定义变量,并且初始化
public void displayMenu()
//显示菜单
{
System.out.println(" 操作菜单 ");
System.out.println("*********************************");
System.out.println(" 1 修改学生记录");
System.out.println(" 2 插入学生记录");
System.out.println(" 3 删除学生记录");
System.out.println(" 4 查询学生记录");
System.out.println(" 5 初始装入学生记录");
System.out.println(" 6 退出");
System.out.println("*********************************");
System.out.println("请选择(1-6):");
}
public int readChoice()
//读取用户的选择
{
int read;
while(true)
{
displayMenu();
//显示菜单
int read=0;
try
{
read=Integer.parseInt(inputStream.readLine());
//直接将从键盘输入的字符串转化为整型
}
catch (NumberFormatException e)
{
System.out.println("请您输入整数!!");
continue;
}
catch (IOException m)
{
System.out.println("系统出现问题");
continue;
}//捕捉IO例外
if(read==-1)
{
System.exit(0);}
}
if (read<0 || read >6)
//如果输入的值不符和要求,显示提示信息
{
System.out.println("请输入1-6之间的整数!");
continue;
}
else
{
break;
}
if(read==-1)
{
System.exit(0);}
return read;
}
}
public void command(String Sno)
//读取用户的选择,并做出相应处理
{
this.Sno=Sno;
//将变量变成内部变量
int choice=readChoice();
switch (choice)
{
case 1:insert(Sno);
//插入学生信息
break;
case 2:update(Sno);
//修改学生信息
break;
case 3:delete(Sno);
//删除学生信息
break;
case 4:query(Sno);
//查询学生信息
break;
case 5:load(Sno);
//录入学生信息
break;
case 6:System.out.println("欢迎下次再来查询");
System.exit(0);
}
}
public void insert(String Sno)
//学生信息的插入具体操作
{
String sex=null,sno=null,name=null,birthday=null;int i=1;
//定义变量并且进行初始化
while (true)
{
System.out.println("请输入您要插入的学生的信息:");
System.out.println("学号:");
sno=new model().getSno();
//得到学生学号
return sno;
//返回学生学号
System.out.println("姓名:");
name=new model().getName();
//得到学生姓名
return name;
// 返回学生姓名值
System.out.println("性别:");
//得到学生性别
sex=new model().getSex();
//得到学生性别
return sex;
//返回得到的值
System.out.println("出生日期:");
birthday=model.getDate();
//得到学生的生日
return birthday;
//返回得到的值
sqlUpd="insert into 学生基本信息 values('"+sno+"','"+name+"','"+sex+"','"+birthday+"')";
//读取学生信息并进行保存
try
{
sta.executeUpdate(sqlUpd);sqlUpd=null;
System.out.println("保存已成功!");
System.out.println("");
}
catch(Exception e)
{
System.out.println(e);}
break;
}
}
}
//学生信息的删除
public void delete(String Sno)
//通过用户输入学号,来删除学生信息
{
String name=null,sno=null,sex=null,choice=null;
//定义变量并且进行初始化
int i=1;
boolean success=false;
while(true)
{
System.out.println("1:学号;");
System.out.println("2:姓名;");
System.out.println("3:性别");
String i;
try
{
i=Integer.parseInt(inputStream.readLine());
//将从键盘输入的 i的值转化为整型
}
catch (NumberFormatException e)
{
System.out.println("请您输入整数!!");
continue;
}
catch (IOException m)
{
System.out.println("IO系统出现问题");
continue;
}
if (i!=1 && i!=2 && i!=3 )
{
System.out.println("请输入规定的值");
continue;
}
switch (i)
{
case 1:
System.out.println("请输入学号:");
sno=new model().getSno();
//得到学生学号
return sno;
//返回学生学号
sqlQue="select * from 学生基本信息 WHERE sno='"+sno+"'";
//查询语句
rs=statRes.query(sta,sqlQue);
//定义结果集
try
{
while (rs.next())
{
sno=rs.getString("sno");
name=rs.getString("name");
sex=rs.getString("sex");
System.out.println("");
System.out.print("学号:");
System.out.print(sno+" ");
System.out.print("姓名:" );
System.out.print(name+" ");
System.out.print("性别:");
System.out.print(sex+" ");
System.out.println();
System.out.println("");
//查询的学生信息
}
}
catch (Exception a)
{
System.out.println(a);}
//开始删除
System.out.println("您确定要删除");
String choice;
choice=new model().getChoice();
//选择分支
if (choice.equals("Y"))
//如果用户确定信息,就进行相关操作
{
sqlDel="DELETE * FROM 学生基本信息 WHERE sno='"+sno+"'";
//查询语句
}
if (statRes.delete(sta,sqlDel))
{
System.out.println("您已成功删除学号为 "+sno+" 的学生的全部记录!");
sqlDel=null;
break;
}
if (choice.equals("N"))
//如果用户取消操作,则不进行相关操作
{
System.out.println("取消");
System.out.println("");
break;
}
break;
//执行删除
case 2:
//通过用户输入姓名来删除学生信息
System.out.println("请输入姓名:");
name=new model().getName();
System.out.println("姓名是 "+name+" 的学生的全部信息:");
sqlQue="select * from 学生基本信息 WHERE name='"+name+"'";
rs=statRes.query(sta,sqlQue);
try
{
while (rs.next())
{
sno=rs.getString("sno");
name=rs.getString("name");
sex=rs.getString("sex");
//要删除的学生信息
System.out.println("");System.out.print("学号:");System.out.print(sno+" ");
System.out.print("姓名:" );System.out.print(name+" ");
System.out.print("性别:");System.out.print(sex+" ");
System.out.println("");
}
}
catch (Exception a)
{
System.out.println(a);}
//开始删除
System.out.println("您确定要删除");
System.out.println("确定(Y)");
System.out.println("取消(N)");
while (true)
{
choice=new model().getDecision();
if (choice.equals("Y"))
{
sqlDel="DELETE * FROM 学生基本信息 WHERE name='"+name+"'";
}
if (statRes.delete(sta,sqlDel))
{
System.out.println("记录已经全部被删除");
sqlDel=null;
System.out.println("");
break;
}
if (choice.equals("N"))
{
System.out.println("取消!");
break;
}
}
break;
case 3:
//通过用户输入学生性别来删除学生的相关信息
System.out.println("请输入学生的性别:");
sex=new model().getSex();
//得到学生性别
System.out.println("性别是 "+sex+" 的学生的全部信息:");
sqlQue="select * from 学生基本信息 WHERE sex='"+sex+"'";
//查询语句
rs=statRes.query(sta,sqlQue);
//结果集
try
{
while (rs.next())
{
sno=rs.getString("sno");
name=rs.getString("name");
sex=rs.getString("sex");
System.out.println("");
System.out.print("学号:");
System.out.print(sno+" ");
System.out.print("姓名:" );
System.out.print(name+" ");
System.out.print("性别:");
System.out.print(sex+" ");
System.out.println("");
} //要删除的学生信息
}
catch (Exception a)
{
System.out.println(a);
}
//开始删除
System.out.println("您确定要删除,确定");
System.out.println("确定(Y)");
System.out.println("取消(N)");
//请用户确定信息后进行操作
while (true)
{
choice=new model().getChoice();
//实例化model
if (choice.equals("Y"))
//如果用户确定删除信息,则进行相关操作
{
sqlDel="DELETE * FROM 学生基本信息 WHERE sex='"+sex+"'";
//删除学生信息
}
if (statRes.delete(sta,sqlDel))
//如果信息删除成功,则打印成功删除记录
{
System.out.println("您已成功删除记录!");
sqlDel=null;
System.out.println("");
break;
}
if (choice.equals("N"))
//如果用户取消操作,则删除操作不进行
{
System.out.println("取消");
System.out.println("");
break;
}
break;
}
public void load(String Sno)
{
String choice=null;
System.out.println("学生信息录入");
System.out.println("确定(Y)");
System.out.println("取消(N)");
//询问用户是否确定录入信息
while(true)
{
choice=new model().getChoice();
//得到用户的选择
if (choice.equals("N"))
{
System.out.println("取消。");
System.out.println("");
//不进行操作
}
else
{
String sqlDel="DELETE * FROM 学生基本信息";
if (statRes.delete(sta,sqlDel))
{
System.out.println("学生信息已经删除");
insert(Sno);
}
}
}
}
public void query(String Sno)
//查询的方法
{
String name=null,sno=null,sex=null,choice=null;int i=1;
while(true)
{
System.out.println("1:学号;");System.out.println("2:姓名;");System.out.println("3:性别");
String i;
try
{
i=Integer.parseInt(inputStream.readLine());
//将从键盘输入的i转化为整型
}
catch (NumberFormatException e)
{
System.out.println("请您输入整数!!");
continue;
}
catch (IOException m)
{
System.out.println("IO系统出现问题");
continue;
}
if (i!=1 && i!=2 && i!=3 )
//如果输入不符和要求,显示提示信息
{
System.out.println("请输入规定的值");
continue;
}
switch (i)
//选择分支
{
case 1:
System.out.println("请输入学生的学号:");
//通过用户输入学号来进行查询
String sno;
try
{
i=Integer.parseInt(inputStream.readLine());
}
catch (NumberFormatException e)
{
System.out.println("请您输入整数!!");
continue;
}
catch (IOException m)
{
System.out.println("IO系统出现问题");
continue;
}
sqlQue="select * from 学生基本信息 WHERE sno='"+sno+"'";
rs=statRes.query(sta,sqlQue);
try
{
System.out.print("查询结果:");System.out.println("学号为 "+sno+" 的学生的全部信息是:");
//输出查询结果
while (rs.next())
{
sno=rs.getString("sno");
name=rs.getString("name");
sex=rs.getString("sex");
//查询得到的学生信息
System.out.print("学号:");
System.out.print(sno+" ");
System.out.print("姓名:" );
System.out.print(name+" ");
System.out.print("性别:");
System.out.print(sex+" ");
//输出查询结果
}
}
catch (Exception a)
{
System.out.println(a);
}
break;
case 2:
System.out.println("请输入您要查询的学生的姓名:");
String name;
try
{
name=inputStream.readLine();
//从键盘输入学生姓名
}
catch (NumberFormatException e)
{
System.out.println("请您输入整数!!");
continue;
}
catch (IOException m)
{
System.out.println("IO系统出现问题");
continue;
}
sqlQue="select * from 学生基本信息 WHERE name='"+name+"'";
//查询语句
rs=statRes.query(sta,sqlQue);
//定义结果集
try
{
System.out.print("查询结果:");System.out.println("姓名为 "+name+" 的学生的全部信息是:");
//输出查询结果
while (rs.next())
{
sno=rs.getString("sno");
name=rs.getString("name");
sex=rs.getString("sex");
System.out.println("");System.out.print("学号:");System.out.print(sno+" ");
System.out.print("姓名:" );System.out.print(name+" ");
System.out.print("性别:");System.out.print(sex+" ");
System.out.println("");
//打印查询得到的学生信息
}
}
catch (Exception a)
{
System.out.println(a);
}
break;
case 3:
System.out.println("请输入您要查询的学生的性别:");
sex=read.getSex();
//得到学生性别
sqlQue="select * from 学生基本信息 WHERE sex='"+sex+"'";
//查询语句
rs=statRes.query(sta,sqlQue);
try
{
System.out.print("查询结果:");System.out.println("性别为 "+sex+" 的学生的全部信息是:");
while (rs.next())
{
sno=rs.getString("sno");
name=rs.getString("name");
sex=rs.getString("sex");
System.out.println("");System.out.print("学号:");System.out.print(sno+" ");
System.out.print("姓名:" );System.out.print(name+" ");
System.out.print("性别:");System.out.print(sex+" ");
System.out.println("");
//打印查询得到的学生信息
}
}
catch (Exception a)
{
System.out.println(a);
}
break;
}
}
public void update(String Sno)
{//修改的方法
delete(Sno);
//先对学生信息系统的相关内容进行删除
insert(Sno);
//再将要改的的信息输入
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -