teachermagdialog.java

来自「学生管理系统。使用java编程」· Java 代码 · 共 1,063 行 · 第 1/3 页

JAVA
1,063
字号
						}
						{
							blurCheckBox = new JCheckBox();
							Panel1.add(blurCheckBox);
							blurCheckBox.setText("\u6a21\u7cca");
							blurCheckBox.setBounds(308, 14, 63, 28);
							blurCheckBox.setEnabled(false);
						}
						{
							queryButton = new JButton();
							Panel1.add(queryButton);
							queryButton.setText("\u67e5\u8be2");
							queryButton.setBounds(420, 21, 70, 21);
							queryButton.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									queryButtonActionPerformed(evt);
								}
							});
						}
					}
				}
				{
					twoSeparator = new JSeparator();
					TMmainPanel.add(twoSeparator);
					twoSeparator.setBounds(560, 322, 336, 133);
				}
				{
					jLabel4 = new JLabel();
					TMmainPanel.add(jLabel4);
					jLabel4.setText("\u59d3\u540d");
					jLabel4.setBounds(574, 70, 42, 28);
				}
				{
					jLabel8 = new JLabel();
					TMmainPanel.add(jLabel8);
					jLabel8.setText("\u59d3\u540d");
					jLabel8.setBounds(574, 70, 42, 28);
				}
			}
			this.setSize(900,475);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 动态刷新table
	 * @param sql
	 */
	public void initialTeacherTable(String sql)
	{
		Vector temp = new Vector();
		
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
	
		try {
			//定义一个数据库连接
			conn = JdbcConnct.fetchConnection();
            System.out.println(conn);
            //定义sql语句
			String sql1 = "select * from teacher "+sql;
			stmt = conn.createStatement();
			//执行sql语句
			rs = stmt.executeQuery(sql1);
			//遍历输出每行的信息 到table中
			while(rs.next()){
				temp.addElement((String)rs.getString("teacherId"));
				temp.addElement((String)rs.getString("teacherName"));
				//定义性别
				String gender = rs.getString("gender");
				if(gender.equals("M"))
					gender = "男";
				else gender = "女";
				temp.addElement(gender);
				//定义政治面貌
				int poli = rs.getInt("poliStatus");
				String poliStatus = null;
				if(poli == 1)
					poliStatus = "共青团员";
				else if(poli == 2)
					poliStatus = "党员";
				else if(poli == 3)
					poliStatus = "群众";
				else if(poli ==4)
					poliStatus ="其它党派";
				temp.addElement(poliStatus);
				temp.addElement((String)rs.getString("age"));
				//定义职称并获得教师的职称
				int level = rs.getInt("techLevel");
				String teacherLevel;
				if(level==1)
					teacherLevel = "助理讲师";
				else if(level==2)
					teacherLevel = "讲师";
				else if(level==3)
					teacherLevel = "副教授";
				else
					teacherLevel = "教授";
				
				
				temp.addElement(teacherLevel);
				temp.addElement((String)rs.getString("headShip"));

			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		//定义table
		 int row = temp.size()/7;
		 String [] title=new String[]{"工号","姓名","性别","政治面貌","年龄","职称","职务"};
		 //在table中 每行7个字段
		 String[][] aa = new String [row][7] ;
		
		 for(int i=0;i<row;i++)
		 {
			for(int k=0;k<7;k++)
			{
				aa[i][k] = (String)temp.elementAt(i*7+k);
			}
		 }
		 
		dataModel = new DefaultTableModel(aa,title){
			 //设置table不可编辑
			public boolean  isCellEditable(int row,int column){
				return false;
			};};
		techTable1.setModel(dataModel);
		techTable1.setRowHeight(20);

	}

	
	//获得教师工号的输入方法,并返回内容
	public String getInput()
	{
		String input = this.teacherIdTextField.getText().trim();
		return input ;
	}
	public String getQeryInput()
	{
		String input = this.querTextField1.getText().trim();
		return input;
	}
	
	/**
	 * 查询模块
	 * @param evt
	 */
	private void queryButtonActionPerformed(ActionEvent evt) {
		// 定义一个布尔变量判断是否选择
		boolean flag = this.blurCheckBox.isSelected();
		// 获得下拉框中的选项
		String choice = this.querComboBox1.getSelectedItem().toString().trim();
		// 判断 选项是否为全部
		if (flag == false) {
			if (choice.equals("全部")) {
				String sql = " order by teacherid asc";
				initialTeacherTable(sql);
				// 实例化一个变量temp 存储信息

			}
			// 当下拉菜单为工号时执行
			if (choice.equals("工号")) {
				String sql = " where teacherId =" + getQeryInput();
				initialTeacherTable(sql);

			}
			//当下拉菜单为姓名时执行
			if (choice.equals("姓名")) {

				String sql = "  where teacherName = '" + getQeryInput() + "'";
				initialTeacherTable(sql);

			}
			if (choice.equals("职称")) {
				if (this.querTextField1.getText().equals("助理讲师")
						|| this.querTextField1.getText().equals("讲师")
						|| this.querTextField1.getText().equals("副教授")
						|| this.querTextField1.getText().equals("教授")) {

					String teacherLevel;
					if (getQeryInput() == "助理讲师")
						teacherLevel = "1";
					else if (getQeryInput() == "讲师")
						teacherLevel = "2 ";
					else if (getQeryInput() == "副教授")
						teacherLevel = "3";
					else
						teacherLevel = "4";
					String sql = " teacher where techLevel =" + teacherLevel;
					initialTeacherTable(sql);

				} else {
					JOptionPane.showMessageDialog(this,
							"请输入以下四种之一:助理讲师,讲师,副教授,教授!!");
				}
			}
			//当下拉菜单为政治面貌时执行
			if (choice.equals("政治面貌")) {
				if (this.querTextField1.getText().equals("共青团员")
						|| this.querTextField1.getText().equals("党员")
						|| this.querTextField1.getText().equals("群众")
						|| this.querTextField1.getText().equals("其它党派")) {
					String polic = this.querTextField1.getText().trim();
					int poliStatus = 0;

					if (polic.equals("共青团员"))
						poliStatus = 1;
					else if (polic.equals("党员"))
						poliStatus = 2;
					else if (polic.equals("群众"))
						poliStatus = 3;
					else if (polic.equals("其它党派"))
						poliStatus = 4;

					String sql = "select * from teacher where poliStatus ="
							+ poliStatus;
					initialTeacherTable(sql);

				} else {
					JOptionPane.showMessageDialog(this,
							"请输入以下四种之一:共青团员,党员,群众,其他党派!!");
				}
			}
			}
		//当下拉菜单为工号时执行
		else {

			if (choice.equals("工号")) {
				String sql = " where teacherId like '%" + getQeryInput() + "%'";
				initialTeacherTable(sql);
			} else if (choice.equals("姓名")) {
				String sql = " where teacherName like '%" + getQeryInput()
						+ "%'";
				initialTeacherTable(sql);
			} else if (choice.equals("职称")) {
				String sql = " where techLevel like'%" + getQeryInput() + "%'";
				initialTeacherTable(sql);
			} else if (choice.equals("政治面貌")) {
				String sql = " where poliStatus like'%" + getQeryInput() + "%'";
				initialTeacherTable(sql);
			}

		}

	}
	
	private void exitButtonActionPerformed(ActionEvent evt) {
		// 退出
		this.dispose();
	}
	/**
	 * 删除模块
	 * @param evt
	 */
	private void deleteButtonActionPerformed(ActionEvent evt) {
		// 定义boolean型变量,用户是否点击行,初始化为False
		boolean bisRight = false;		
		// 定义boolean型变量,当前记录是否与班级表关联,初始化为False
		boolean bisReferenceClass = false;
		// 定义boolean型变量,当前记录是否与考试表关联,初始化为False
		boolean bisReferenceExam = false;
        //定义boolean型变量,当前记录是否与评论表关联,初始化为False
		boolean bisReferenceWmStuPsyCom = false;
		
		// 定义SQL语句
		String strSQL = "";
		// 定义Vector变量,存储从数据库查询来的信息
		Vector vecData = new Vector();
		//教师编号
		String strteacherId = "";
		// 建立一个JDBC对象
		JdbcConnct jdbcConnection = new JdbcConnct();
		
		// 定义选取的一行
		int nrow =0;
		//获取用户选择行
		nrow =	this.techTable1.getSelectedRow();
		
		if (nrow < 0) {
			//没有选择数据则不在执行
			bisRight = false;
			JOptionPane.showMessageDialog(this, "您没有选择数据!在删除前请先选择一行数据!");
		} else {
			bisRight = true;
			//获取教师工号
			strteacherId =(String) this.techTable1.getValueAt(nrow, 0);
		}	
		
		// 当前记录是否与其它表关联
		// 组合SQL语句,查询是否与student表关联
		strSQL = "select teacherId from classes t where  teacherId = "
				+ strteacherId;
		//如果用户点击行,则进行判断
		if (bisRight) {
			try {
				vecData = jdbcConnection.getData(strSQL);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (vecData.size() > 0) {
			// 如果和学生表有关联,bisReferenceStu置为true
			bisReferenceClass = true;
			JOptionPane.showMessageDialog(this, "该教师担任班主任,无法删除,请重新选择.");
			
		} else {
			bisReferenceClass = false;
		}
		
		//当前记录是否与考试表相关联
		// 组合SQL语句,查询是否与exam表关联
		strSQL = "select teacherId from exam  where  teacherId = "
				+ strteacherId;
        //如果用户点击行,则进行判断		
		if (bisRight) {
			try {
				vecData = jdbcConnection.getData(strSQL);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (vecData.size() > 0 ) {
			// 如果和考试表有关联,bisReferenceExam置为true
			bisReferenceExam = true;
			JOptionPane.showMessageDialog(this, "该教师担任监考教师,无法删除,请重新选择.");
			
		} else {
			bisReferenceExam = false;
		}
		

		// 当前记录是否与其它表关联
		// 组合SQL语句,查询是否与wmStuPsyCom表关联
		strSQL = "select teacherId from wmStuPsyCom  where  teacherId = "
				+ strteacherId;
		
        //如果用户点击行,则进行判断		
		if (bisRight) {
			try {
				vecData = jdbcConnection.getData(strSQL);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (vecData.size() > 0 ) {
			// 如果和评论表有关联,bisReferenceWmStuPsyCom置为true
			bisReferenceWmStuPsyCom = true;
			JOptionPane.showMessageDialog(this, "该教师担任评论教师,无法删除,请重新选择.");
			
		} else {
			bisReferenceWmStuPsyCom = false;
		}
		

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?