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

📄 presentdialog.java

📁 学生管理系统。使用java编程
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				}
			 }
 
			dataModel = new DefaultTableModel(aa,title){
				 //设置table不可编辑
				public boolean  isCellEditable(int row,int column){
					return false;
				};};
			prensentTable1.setModel(dataModel);
			prensentTable1.setRowHeight(20);
			 }
			 else
			 {
				 JOptionPane.showMessageDialog(this, "没有该记录。");
			 }
		} catch (SQLException e) {
			prensentTable1.setModel(prensentTable1Model);
			JOptionPane.showMessageDialog(this, "查询出错。");
			e.printStackTrace();
		}

	}
	/**
	 * 获得用户的输入
	 * @returninput
	 */
	public String getInput()
	{
		//获得用户的输入
		String input = this.querTextField1.getText().trim();
		return input;
	}
	/**
	 * 查询出勤信息
	 * @param evt
	 */
	private void querButtonActionPerformed(ActionEvent evt) {
		//获得用户的选择
		String choice = this.querConditionComboBox1.getSelectedItem().toString().trim();
		//判断用户是否选择模糊查询
		boolean flag=this.misCheckBox.isSelected();
		//用户进行精确查询
		if(flag==false){
			//下拉菜单选择为全部
		if(choice.equals("全部"))
		{
			
			String sql =" order by presentid asc";
			initialTable(sql);
		}
		//下拉菜单选择为流水号
		if(choice.equals("流水号"))
		{if(this.querTextField1.getText().matches(REG_DIGPRESENTID))
		{
			String sql = " where presentid = "+getInput();
			initialTable(sql);
		}
		else{
			JOptionPane.showMessageDialog(this,
			"请输入小于九位数值型的查询数据!请重新选择查询选项。");
		}
		}
		//下拉菜单选择为学号
		if(choice.equals("学号")){
			if(this.querTextField1.getText().matches(REG_DIGSTUDENTID))
		{

					String sql = " where studentId="+getInput();
					initialTable(sql);
		}
			else{
				JOptionPane.showMessageDialog(this,
				"请输入合法的的查询学号!请重新选择查询选项。");
			}
		}
		}
		//用户现在模糊查询
		else
		{
			if(choice.equals("流水号"))
			{if(this.querTextField1.getText().matches(REG_DIGPRESENTID))
			{
				String sql = " where presentid like '%"+getInput()+"%'";
				initialTable(sql);
				System.out.println(sql);
			}
			else{
				JOptionPane.showMessageDialog(this,
				"请输入小于九位数值型的查询数据!请重新选择查询选项。");
			}
			}
			if(choice.equals("学号"))
			{
				if(this.querTextField1.getText().matches(REG_DIGSTUDENTID))
			{

						String sql = " where studentId like'% "+getInput()+"%'";
						initialTable(sql);
			}
		    }
		}
	}
	
	/**  删除出勤信息
	 * 
	 * @param evt
	 */
	 
	private void deleteButtonActionPerformed(ActionEvent evt) {
		// 定义选取表格行
		int row = this.prensentTable1.getSelectedRow();
		// 定义一个询问对话框的数据
		int resultDelete = 0;
		// 当用户选择其中一行时
		if (row != -1) {
			resultDelete = JOptionPane.showConfirmDialog(this, "确定要删除此条记录吗?",
					"删除确定框", JOptionPane.YES_NO_OPTION,
					JOptionPane.QUESTION_MESSAGE);
			if (resultDelete == JOptionPane.YES_OPTION)// 如果选择的是确定,则执行删除操作
			{
				// 获得teacherId
				String teacherId = (String) this.prensentTable1.getValueAt(row,
						0);
				// teacherId转化为int型
				int id = Integer.parseInt(teacherId);
				try {
					Connection conn = null;
					String sql = "delete from present where " + "presentid = "
							+ id;
					conn = JdbcConnct.fetchConnection();
					System.out.println(conn);
					Statement stmt = conn.createStatement();
					System.out.println(stmt);
					System.out.println(sql);
					int updateLine = stmt.executeUpdate(sql);
					dataModel.removeRow(row);
					prensentTable1.setModel(dataModel);

					JOptionPane.showMessageDialog(this, "删除成功!!");
				} catch (Exception e) {
					e.printStackTrace();
				}

			} 
			else {
				// 如果选则的是否时,则返回。
				return;
			}
		}else {
			JOptionPane.showMessageDialog(this, "没有选定行!!");
		} 
		
		
	}
	/**
	 * 按数据字典转换Status
	 * 
	 * @return
	 */
	public int getStatus()
	{
		String status =  (String) this.presentStatusComboBox.getSelectedItem();
		int intStatus = 0;
		if(status.equals("出勤"))
			intStatus =1;
		if(status.equals("迟到"))
			intStatus =2;
		if(status.equals("早退"))
			intStatus =3;
		if(status.equals("病假"))
			intStatus =4;
		if(status.equals("事假"))
			intStatus =5;
		return intStatus;
	}


	/** 
	 * 添加出勤信息
	 * @param evt
	 */
	private void addButtonActionPerformed(ActionEvent evt) {
		//实例化一个Vector
		Vector vecData = new Vector();
		   
	        if(this.studentIdTextField.getText().matches(REG_DIGSTUDENTID))
	        {
			try
			{
			    String sql = "insert into present (" +
						"presentDate,studentId,presentStatus" +
						")" +
						" values(to_date('"
						+this.presentDateTextField.getText()+" "+"','yyyy-mm-dd '),"+
						this.studentIdTextField.getText()+","
						+getStatus()+ ")";
				System.out.println(sql);
			    JdbcConnct jdbc = new JdbcConnct();
			    int updateLine = jdbc.updateData(sql);
			    System.out.println(updateLine);
			    if(updateLine>0)
			    {
				vecData.addElement(this.presentDateTextField.getText());
				
				vecData.addElement(this.studentIdTextField.getText());
				
				vecData.addElement( this.presentStatusComboBox .getSelectedObjects());
				dataModel=new DefaultTableModel();
				dataModel.addRow(vecData);
				JOptionPane.showMessageDialog(this, "添加出勤记录成功!!");
				clear();
			    }
			    else
			    {
			    	JOptionPane.showMessageDialog(this,"添加出错");
			    }


			}catch(Exception e)
			{
				//e.printStackTrace();
				JOptionPane.showMessageDialog(this, "输入错误,请重新输入");
			}
	        }
	        else
	        	JOptionPane.showMessageDialog(this, "输入错误,请重新输入合法学号");	
	}
	/**
	 * 设置按钮不可使用
	 *
	 */
	public void setEditFalse()
	{
		studentIdTextField.setEditable(false);

		this.addButton.setEnabled(false);
		this.querButton.setEnabled(false);
		this.deleteButton.setEnabled(false);
	}
	/**
	 * 
	 *设置按钮可用
	 */
	public void setEditTrue()
	{
		studentIdTextField.setEditable(true);
		
		this.addButton.setEnabled(true);
		this.querButton.setEnabled(true);
		this.deleteButton.setEnabled(true);
	}
	/**
	 * 修改
	 * @param evt
	 */
	private void modifyButtonActionPerformed(ActionEvent evt) {
		//判断用户是否选择一行
		int row=this.prensentTable1.getSelectedRow();
		//当用户选择一行时执行
		if(row !=-1)
		{
			setEditFalse();
			String presentId = (String) this.prensentTable1.getValueAt(row,0);
			String presentDate = (String) this.prensentTable1.getValueAt(row,1);
			String studentId= (String) this.prensentTable1.getValueAt(row,2);
			String stuname = (String) this.prensentTable1.getValueAt(row,3);
			String presentStatus = (String) this.prensentTable1.getValueAt(row,4);
			this.presentIdTextField.setText(presentId);
			this.presentDateTextField.setText(presentDate);
			this.studentIdTextField.setText(studentId);
			
			//出勤状态
			this.presentStatusComboBox.setSelectedItem(presentStatus);
		}
		//当用户没有选择时,提弹出示
		else 
		{
			JOptionPane.showMessageDialog(this, "没有选定");
		}

	}
	/**
	 * 获取presentDateTextField中的日期,并返回presentDate值。
	 * @return
	 */
	public String presentDate()
	{
		//获得用户输入的时间
		String presentDate = this.presentDateTextField.getText().trim();
		if(presentDate.equals(""))
		{
			return null;
		}
		else return presentDate;
	}
	/**
	 * 获取studentIdTextField中的学号,并返回studentId。
	 * @return
	 */
	public String getstudentId()
	{
		//获得用户输入的学号
		String studentId = this.studentIdTextField.getText().trim();
		if(studentId.equals(""))
		{
			return null;
		}
		else return studentId;
	}

	/**
	 * 获得流水号
	 * @return
	 */
	public String getpresentId()
	{
		String presentId=this.presentIdTextField.getText();
	    return	presentId ;
	}
	/**
	 * 确定按钮控制模块
	 * @param evt
	 */
	private void okButtonActionPerformed(ActionEvent evt) {
		String presentId=getpresentId();
		
		String presentDate=presentDate();
		String studentId=getstudentId();
		int presentStatus=getStatus();
		
		String sql = "update present set "+
		"presentDate ="+
		"to_date('"+presentDate +"','yyyy-mm-dd ')"+
		",studentId ='" +studentId+
		"',presentStatus = "+ presentStatus+
		" where presentid=" + presentId;
		System.out.println(sql);
		try
		{
			JdbcConnct jdbc = new JdbcConnct();
			int line =jdbc.updateData(sql);
			if(line>0)
			{
			JOptionPane.showMessageDialog(this, "修改成功!!");
			clear();
		    }
			else
			{
				JOptionPane.showMessageDialog(this, "修改出错");
			}
			}
		catch(Exception e)
		{
			JOptionPane.showMessageDialog(this, "修改错误");
			e.printStackTrace();
		}
		setEditTrue();
		}
	
	/**
	 * 退出模块
	 * @param evt
	 */
	private void exitButtonActionPerformed(ActionEvent evt) {
		this.dispose();
	}
	/**
	 * 控制按钮是否可用
	 * @param evt
	 */
	private void querjComboBox1ActionPerformed(ActionEvent evt) {
		//选择全部时querTextField1,misCheckBox不可用
		if(this.querConditionComboBox1.getSelectedItem().equals("全部"))
			{this.querTextField1.setEnabled(false);
			this.misCheckBox.setEnabled(false);}
		//不选择全部时querTextField1,misCheckBox可用
		else 
		{this.querTextField1.setEnabled(true);
			this.misCheckBox.setEnabled(true);}
		
	}
	/**
	 * 清空
	 *
	 */
	public void clear()
	{
		this.presentIdTextField.setText("");
		this.studentIdTextField.setText("");
		this.presentDateTextField.setText("");
	
	}
	/**
	 * 时间选择
	 * @param evt
	 */
	private void presentDateTextFieldMouseClicked(MouseEvent evt) {
//		System.out.println("presentDateTextField.mouseClicked, event=" + evt);
		CalendarJDialog  calenderDialog = new CalendarJDialog(null);
		calenderDialog.setModal(true);
		calenderDialog.setVisible(true);
		this.presentDateTextField.setText(calenderDialog.toString());
	}

}

⌨️ 快捷键说明

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