📄 searchframe.java
字号:
createFrame.dispose();
}
//创建并进入新建模块
createFrame=new CreateFrame(this);
}
//点击"删除"按钮
if(e.getActionCommand().equals("删除")){
//若没有在查询功能界面中输入学号,不允许进入删除界面
if(idText.getText().equals("")){
//未输入学号的提示信息
String message="删除时学号不能为空";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
}
else{
db=new DBUnit();
//获得该学号学生记录的ResultSet对象
ResultSet rs=db.getOneStudent(idText.getText());
try{
if(rs.next()){
//将该学生信息保存在一个Student对象中
student=new Student();
setStudent(student,rs);
db.closeConnection();
//若已打开一个删除界面,关闭该界面
if(deleteFrame!=null){
deleteFrame.dispose();
}
//新建并进入新的删除模块
deleteFrame=new DeleteFrame(student,this);
}
else{
db.closeConnection();
//没有该条记录的提示信息
String message1="没有符合条件的学生信息可以删除";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message1);
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
}
//点击"修改"按钮
if(e.getActionCommand().equals("修改")){
if(idText.getText().equals("")){
//需输入学号的提示信息
String message="修改时学号不能为空";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
}
else{
db=new DBUnit();
//获得该学号学生记录的ResultSet对象
ResultSet rs=db.getOneStudent(idText.getText());
try{
if(rs.next()){
//将该学生信息保存在一个Student对象中
student=new Student();
setStudent(student,rs);
db.closeConnection();
//若已打开一个修改界面,关闭该界面
if(changeFrame!=null){
changeFrame.dispose();
}
//新建并进入修改模块
changeFrame=new ChangeFrame(student,this);
}
else{
db.closeConnection();
//没有该学生信息记录的提示信息
String message1="没有符合条件的学生信息可以修改";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message1);
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
}
//点击"查询"按钮
if(e.getActionCommand().equals("查询")){
//获得支持模糊查询的SQL语句
String sql=getQuerySQL();
db=new DBUnit();
//获得查询后的结果集
ResultSet rs=db.sqlQuery(sql);
//若没有符合条件的记录,清空输入的查询条件
if(rs==null){
clear();
//没有查询到符合条件的学生的提示
String message="没有符合条件的学生信息";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this,message);
return;
}else{
try{
if(rs.next()==false){
clear();
//没有查询到符合条件的学生的提示
String message="没有符合条件的学生信息";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
return;
}else{
//还原ResultSet的游标
rs.previous();
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
//将查询记录以Student对象的形式放入查询结果Vector
try{
students=new Vector();
Student st;
while(rs.next()){
st=new Student();
setStudent(st,rs);
students.add(st);
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
ex.printStackTrace();
}
db.closeConnection();
//更新查询界面
addComponents();
//获得代表第一个查询记录的Student对象
student=(Student)students.get(0);
//将该对象中的学生信息显示在查询功能界面中
setStudentInformation(student);
//将修改和删除按钮设置为可用
changeButton.setEnabled(true);
deleteButton.setEnabled(true);
}
}
//更新查询界面
private void addComponents() {
// TODO 自动生成方法存根
contentPane.removeAll();
MyTable mt=new MyTable(students);
jTable=new JTable(mt);
selectionMode=jTable.getSelectionModel();
selectionMode.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
selectionMode.addListSelectionListener(this);
jScrollPane=new JScrollPane(jTable);
jSplitPane=new JSplitPane(JSplitPane.VERTICAL_SPLIT,false,jPanel1,jScrollPane);
jSplitPane.setDividerLocation(400);
jSplitPane.setOneTouchExpandable(true);
jSplitPane.setDividerSize(5);
contentPane.add(jSplitPane);
this.setTitle("查询界面");
this.setVisible(true);
setResizable(false);
pack();
}
//新建学生信息后,更新查询界面
public void afterCreate(Student st){
if(students==null){
students=new Vector();
}
students.add(st);
addComponents();
setStudentInformation(st);
changeButton.setEnabled(true);
deleteButton.setEnabled(true);
}
//删除学生信息后,更新查询界面
public void afterDelete(){
students.remove(selected);
addComponents();
if(students.isEmpty()){
clear();
}else{
setStudentInformation((Student)students.get(0));
}
selected=0;
}
//修改学生信息后,更新查询界面
public void afterChange(Student st){
students.remove(selected);
students.add(selected, st);
addComponents();
setStudentInformation(st);
selected=0;
}
//将Student对象包含的学生信息显示在查询功能界面的相应位置上
private void setStudentInformation(Student st){
idText.setText(st.getID().toString());
nameText.setText(st.getName());
ganderText.setText(st.getGander());
majorText.setText(st.getMajor());
gradeText.setText(st.getGrade());
addressText.setText(st.getAddress());
telephoneText.setText(st.getTelephone());
}
//捕捉ListSelectionEvent事件后的处理逻辑
public void valueChanged(ListSelectionEvent e) {
// TODO 自动生成方法存根
selected=jTable.getSelectedRow();
Student st=(Student)students.get(selected);
setStudentInformation(st);
}
//获得支持模糊查询的SQL语句
private String getQuerySQL(){
String[] general={"%","%","%","%","%","%","%"};
if(!idText.getText().equals("")){
general[0]="%"+idText.getText()+"%";
}
if(!nameText.getText().equals("")){
general[1]="%"+nameText.getText()+"%";
}
if(!ganderText.getText().equals("")){
general[2]="%"+ganderText.getText()+"%";
}
if(!majorText.getText().equals("")){
general[3]="%"+majorText.getText()+"%";
}
if(!gradeText.getText().equals("")){
general[4]="%"+gradeText.getText()+"%";
}
if(!addressText.getText().equals("")){
general[5]="%"+addressText.getText()+"%";
}
if(!telephoneText.getText().equals("")){
general[6]="%"+telephoneText.getText()+"%";
}
String query="select * from Students_Information where id like'"+general[0]+"' and name like '"+general[1]+"' and gander like '"+general[2]+"' and major like '"+general[3]+"' and grade like '"+general[4]+"' and address like '"+general[5]+"' and telephone like '"+general[6]+"' order by id";
return query;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -