⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classuniversquerydialog.java

📁 学生管理系统。使用java编程
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				{
					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 + -