📄 classuniversquerydialog.java
字号:
{
aa[i][k] = (String)vecData.elementAt(i*6+k);
}
}
DefaultTableModel dataModel = new DefaultTableModel(aa,title)
{
/**
* 设置表格不可编辑
*/
public boolean isCellEditable(int row, int column)
{
return false;
}
};
classinfoTable1.setModel(dataModel);
classinfoTable1.setRowHeight(20);
}
else //如果没有,则提示查询的班级数据不存在
{
classinfoTable1.setModel(classinfoTable1Model);
classinfoTable1.setRowHeight(20);
JOptionPane.showMessageDialog(this, "对不起,您查找的班级不存在!!");
}
} catch (SQLException e)
{
//如果查询出现异常,提示查询出错
JOptionPane.showMessageDialog(this,"输入错误");
}
}
/**
* 查询班级的学生信息,并在表格中显示的方法
* @param classid 班级号
* @return
*/
public int initialStudentTable(String classid)
{
//定义向量,用来存储班级的学生信息
Vector vecData = new Vector();
//定义行数
int row = 0;
try
{
//定义并获取连接
Connection conn = JdbcConnct.fetchConnection();
//定义并创建statement
Statement stmt = conn.createStatement();
//查询SQL语句
String sql = "select studentid,stuname,gender,age,birthday," +
"polistatus,contactway,native,entertime,status from student where classid = "+classid;
//定义并获得查询的结果集
ResultSet rs = stmt.executeQuery(sql);
//对结果集操作
while(rs.next()){
//获取政治面貌的数字,并通过比较获得政治面貌
String polis = rs.getString("polistatus");
if (polis == null) {
polis = "无";
} else if (polis.equals("1")) {
polis = "共青团员";
} else if (polis.equals("2")) {
polis = "党员";
} else if (polis.equals("3")) {
polis = "群众";
} else {
polis = "其他党派";
}
//将选择的学生状态从数据库的数字对应出文字显示
String status = rs.getString("status");
if (status == null) {
status = "无";
} else if (status.equals("1")) {
status = "在读";
} else if (status.equals("2")) {
status = "退学";
} else if (status.equals("3")) {
status = "休学";
} else if (status.equals("4")) {
status = "毕业";
} else {
status = "其它";
}
//将选择的性别从数据库中的字母对应出文字显示
String gender = rs.getString("gender");
if(null==gender)
gender ="";
else if (gender.equals("M"))
gender = "男";
else
gender = "女";
//把查询出来的信息添加到向量中
vecData.addElement((String)rs.getString("studentid"));
vecData.addElement((String)rs.getString("stuname"));
vecData.addElement(gender);
vecData.addElement((String)rs.getString("age"));
vecData.addElement((String)rs.getString("birthday"));
vecData.addElement(polis);
vecData.addElement((String)rs.getString("contactway"));
vecData.addElement((String)rs.getString("native"));
vecData.addElement((String)rs.getString("entertime"));
vecData.addElement(status);
}
//获得行数
row = vecData.size()/10;
//判断是否存在,如果存在,则把数据在表格中显示
if(row!=0){
String [] title=new String[]{ "学号", "姓名", "性别", "年龄", "出生日期",
"政治面貌", "联系方式", "籍贯", "入学时间", "状态" };
String[][] aa = new String [row][10] ;
for(int i=0;i<row;i++)
{
for(int k=0;k<10;k++)
{
aa[i][k] = (String)vecData.elementAt(i*10+k);
}
}
DefaultTableModel dataModel = new DefaultTableModel(aa,title)
{
/**
* 设置表格不可编辑的方法
*/
public boolean isCellEditable(int row, int column)
{
return false;
}
};
classTable.setModel(dataModel);
classTable.setRowHeight(20);
}
else //如果不存在,则提示要查找的班级没有学生信息
{
classTable.setModel(classTableModel);
classTable.setRowHeight(20);
JOptionPane.showMessageDialog(this, "对不起,没有您所要查找班级的学生信息!!");
}
} catch (SQLException e)
{
//如果出现异常则提示查询出错
JOptionPane.showMessageDialog(this, "查询出错");
}
//返回查询出来的记录条数,用做判断学生人数。
return row;
}
/**
* 退出按钮的方法
* @param evt
*/
private void quitButtonActionPerformed(ActionEvent evt) {
this.dispose(); //退出
}
/**
* 退出按钮响应方法
* @param evt
*/
private void exsitButtonActionPerformed(ActionEvent evt) {
this.dispose(); //退出
}
/**
* 查看班级详情按钮响应方法
* @param evt
*/
private void QueryButtonActionPerformed(ActionEvent evt) {
//获得选定查询行数
int row = this.classinfoTable1.getSelectedRow();
//如果选定行则继续
if(row!=-1){
//从表格中获取班级号
String classId = (String)this.classinfoTable1.getValueAt(row, 0);
//从表格中获取班级名
String className = (String)this.classinfoTable1.getValueAt(row, 1);
//从表格中获取届别
String flagyear = (String)this.classinfoTable1.getValueAt(row, 2);
//从表格中获取老师工号
String teacherid = (String)this.classinfoTable1.getValueAt(row, 3);
//从表格中获取老师的姓名
String teacherName = (String)this.classinfoTable1.getValueAt(row, 4);
//设置被选择的面板为classUnierInfo
this.classBaseInfo.setSelectedComponent(classUnierinfo);
//设置班级号文本框显示班级号
this.classIdTextField.setText(classId);
//设置班级名文本框显示班级名
this.classNameTextField.setText(className);
//设置老师名文本框显示老师名
this.teacherNameTextField.setText(teacherName);
//设置届别文本框显示届别
this.yearTermTextField.setText(flagyear);
//定义学生人数,并从数据库中查找实际人数
int num = initialStudentTable(classId);
//将人数转换为字符串
String studentnum = Integer.toString(num);
//设置学生人数文本框显示学生人数
this.stuNumberTextField.setText(studentnum);
}
else //如果没有选择,提示没有选择要查询的班级
{
JOptionPane.showMessageDialog(this, "没有选定要查询的班级!");
}
}
//定义查询条件
String choiceCondition =null;
/**
* 获取查询输入文本框中输入的查询条件
* @return
*/
public String getChoiceInput()
{
String input = this.classidTextField.getText().trim();
return input;
}
/**
* 班级查询
* @param evt
*/
private void querButtonActionPerformed(ActionEvent evt) {
//下拉框选择的查询条件
choiceCondition = (String)this.classComboBox.getSelectedItem();
//是否模糊查询
boolean flags = this.misCheckBox.isSelected();
//如果不是模糊查询,接着判断查条件
if(flags == false)
{
//如果是按全部查询
if(choiceCondition.equals("全部"))
{
//查询的SQL语句
String sql = " order by classid asc";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//如果是按班级号查询
else if(choiceCondition.equals("班级号"))
{
//查询语句
String sql = " where classid = "+ getChoiceInput();
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//如果是按照班级名查询
else if(choiceCondition.equals("班级名"))
{
//查询的SQL语句
String sql = " where classname = '"+ getChoiceInput()+"'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//按照导师名查询
else if(choiceCondition.equals("导师名"))
{
//查询的SQL语句
String sql = " where teachername = '"+ getChoiceInput()+"'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//按照届别查询
else if(choiceCondition.equals("届别"))
{
//查询的SQL语句
String sql = " where flagyear = '"+ getChoiceInput()+"'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
}
else //如果是模糊查询,然后判断查询条件
{
//按班级好查询
if(choiceCondition.equals("班级号"))
{
//模糊查询的SQL语句
String sql = " where classid like '%"+ getChoiceInput()+"%'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//按照班级名模糊查询
else if(choiceCondition.equals("班级名"))
{
//模糊查询的SQL语句
String sql = " where classname like '%"+ getChoiceInput()+"%'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//按照导师名模糊查询
else if(choiceCondition.equals("导师名"))
{
//模糊查询的SQL语句
String sql = " where teachername like '%"+ getChoiceInput()+"%'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
//按照级别模糊查询
else if(choiceCondition.equals("届别"))
{
//模糊查询的SQL语句
String sql = " where flagyear like '%"+ getChoiceInput()+"%'";
//查询数据并把查询到的数据在表格中显示的方法
initialClassTable(sql);
}
}
}
/**
* 查询条件下拉框响应方法
* @param evt
*/
private void classComboBoxActionPerformed(ActionEvent evt) {
//获取查询条件
choiceCondition = (String)this.classComboBox.getSelectedItem();
//如果选择的是全部
if(choiceCondition.equals("全部"))
{
//设置查询条件输入文本框为空
this.classidTextField.setText("");
//设置不可以模糊查询
this.misCheckBox.setSelected(false);
//设置文本框不可编辑
this.classidTextField.setEditable(false);
//设置模糊查询不可以被操作
this.misCheckBox.setEnabled(false);
}
else //如果不是按全部查询
{
//设置文本框可以编辑
this.classidTextField.setEditable(true);
//设置文本框为空
this.classidTextField.setText("");
//设置模糊查询可以被操作
this.misCheckBox.setEnabled(true);
//设置模糊查询项初始不被选择
this.misCheckBox.setSelected(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -