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

📄 wmstupsycomdialog.java

📁 学生管理系统。使用java编程
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	public String getStuComm()
	{
		String studyComment = this.stuTextArea.getText().trim();
		return studyComment;
	}
	/**
	 * 获取心理评论
	 * @return
	 */
	public String getPsyComm()
	{
		String psyComment = this.psyTextArea.getText().trim();
		return psyComment;
	}
	/**
	 * 获取学号信息
	 * @return
	 */
	public int  getStuId()
	{
		//获取学号信息
		String stuId = this.stuidTextField.getText().trim();
		//正则表达式,匹配学号
		String regex = "\\d{0,9}";
		//是否为空
		if(stuId.equals(""))
		{
			return 0;
		}
		else
		{
			//判断学号,是否匹配
			if(stuId.matches(regex))
			{
				
				return Integer.parseInt(stuId);
			}
			else
			{
				return 0;
			}
		}
	}

	/**
	 * 判断老师/学生是否存在
	 * @param sql1
	 * @return
	 */
	public boolean getStuOrTea(String sql1)
	{
   
		try
		{
		    Connection  conn = JdbcConnct.fetchConnection();
		    String sql = "select * ";
	    	String sql2 = sql + sql1;
	    	System.out.println(sql2);
			Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(sql2);
			if(rs.next())
				return true;
			else return false;
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
	}
	
	}
	/**
	 * 判断是否存在学生
	 * @return
	 */
	public boolean isStudent()
	{
		//获取学生的学号
		int stuId = getStuId();
		//定义boolean表示学生不存在
		boolean isStudent = false;
		//如果stuid为0,学生不存在
		if(stuId==0)
		{
			isStudent =false;
		}
		//如果不为0,判断是否存在该学生
		else if(stuId!=0)
		{
			//查询sql语句
			String sql = " from student where studentid = "+stuId;
			//判断学生是否存在
			isStudent = getStuOrTea(sql);
		}
		//返回学生是否存在 
		return isStudent;
	}
	/**
	 * 获取老师的工号
	 * @return
	 */
	public int getTeacherId()
	{
		//获取老师工号
		String teacherId = this.teacherTextField1.getText().trim();
		//匹配表达式
		String regex = "\\d{0,9}";
		//判断是否为空
		if(teacherId.equals(""))
		{
			return 0;
		}
		else
		{
			//判断是否合法
			if(teacherId.matches(regex))
			{
				return Integer.parseInt(teacherId);
			}
			else
			{
				return 0;
			}
		}
	}
	/**
	 * 获取老师工号/学生学号的方法
	 * @param sql1
	 * @return
	 */
	public int getId(String sql1)
	{ 
		int id = 0;
		try
		{
	    Connection  conn = JdbcConnct.fetchConnection();
	    String sql = "select ";
    	String sql2 = sql + sql1;
    	System.out.println(sql2);
		Statement stmt = conn.createStatement();
		ResultSet rs = stmt.executeQuery(sql2);
	    while(rs.next())
	    	 id = rs.getInt(1);
	    return id;

	} catch (SQLException e) {
		e.printStackTrace();
	    return 0;
	}
	}
	/**
	 * 判断老师是否存在
	 * @return
	 */
	public boolean isTeacher()
	{
		//获得好事的工号。
		int teacherId = getTeacherId();
		//定义一个boolean值,用来判断是否老师存在。
		boolean isTeacher = false;
		//如果为0,老师不存在
		if(teacherId==0)
		{
			isTeacher = false;
		}
		//如果不为0,判断数据库中是否存在该老师
		else if(teacherId!=0)
		{
			String sql = " from teacher where teacherid = "+teacherId;
			isTeacher = getStuOrTea(sql);
		}
		//返回老师是否存在
		return isTeacher;
	}
	/**
	 * 添加按钮响应方法
	 * @param evt
	 */
	private void addButtonActionPerformed(ActionEvent evt) {
		//判断学生和老师是否存在
		if(isStudent()==true&&isTeacher()==true)
		{	
			//如果学生和老师存在
			//获得学期
			String yearTerm = getYearTerm();
			//获得月号
			int number = getNum();
			//获得月/周
			String weekOrMonth = getWeekOrMonth();
			//获得学号
			int stuId = getStuId();
			//获得学习评论
			String studyComment = getStuComm();
			//获得心理评论
			String psyComment = getPsyComm();
			//获取老师工号
			int teacherId = getTeacherId();
			//添加操作的sql语句
//            String sql = "insert into  wmstupsycom(studentid,teacherid,weekormon,weekmonnum,yearterm,studycomment,psychcomment)  values(" +
//               stuId+","+teacherId+",'"+weekOrMonth+"',"+number+",'"+yearTerm+"','"+studyComment+"','"+psyComment+"')";
//            //提交到数据库并执行添加操作
//            try 
//            {  
//				int updateLine = jdbc.updateData(sql);
//				//判断是否添加成功
//				if(updateLine!=0)
//				{
//					//如果添加成功,提示添加成功
//					JOptionPane.showMessageDialog(this, "评论添加成功。");
//					//清空
//					clear();
//				}
//				else
//				{
//					//如果添加出错,提示添加出错。
//					JOptionPane.showMessageDialog(this, "评论添加出错。");
//				}
			 try 
	          { 
//			添加操作的sql语句
				 String sql = "insert into  wmstupsycom(studentid,teacherid,weekormon,weekmonnum,yearterm,studycomment,psychcomment)  " +
          		"values(?,?,?,?,?,?,?)"; 
				 Connection conn = jdbc.fetchConnection();
				 PreparedStatement pstmt = conn.prepareStatement(sql);
				 pstmt.setInt(1, stuId);
				 pstmt.setInt(2,teacherId);
				 pstmt.setString(3, weekOrMonth);
				 pstmt.setInt(4, number);
				 pstmt.setString(5, yearTerm);
				 pstmt.setString(6, studyComment);
				 pstmt.setString(7, psyComment);
				
				///teacherId+",'"+weekOrMonth+"',"+number+",'"+yearTerm+"','"+studyComment+"','"+psyComment+"')";
          //提交到数据库并执行添加操作
          
				int updateLine = pstmt.executeUpdate();
				//判断是否添加成功
				if(updateLine!=0)
				{
					//如果添加成功,提示添加成功
					JOptionPane.showMessageDialog(this, "评论添加成功。");
					//清空
					clear();
				}
				else
				{
					//如果添加出错,提示添加出错。
					JOptionPane.showMessageDialog(this, "评论添加出错。");
				}
		 } catch (SQLException e) 
		 {
			//如果出现异常,提示添加错误!
			 e.printStackTrace();
			JOptionPane.showMessageDialog(this, "评论添加错误。");
		 }
		}
		//如果学号输入错误,提示学号错误
		else if(isStudent()==false&&isTeacher()==true)
		{
			JOptionPane.showMessageDialog(this,"学号输入错误或者该学生不存在,请输入正确的学号。");
		}
		//如果老师工号输入错误,提示工号错误
		else if(isStudent()==true&&isTeacher()==false)
		{
			JOptionPane.showMessageDialog(this, "老师工号输入错误或该老师不存在,请输入正确的工号。");
		}
		//如果学号和工号都错误,提示错误。
		else if(isStudent()==false&&isTeacher()==false)
		{
			JOptionPane.showMessageDialog(this, "学生和老师信息错误,请输入正确的学号和工号。");
		}
		
	}
	/**
	 * 删除方法
	 * @param evt
	 */
	private void deleteButtonActionPerformed(ActionEvent evt) {
		//获得选定的行数
		int row = this.commentTable.getSelectedRow();
		//如果选定 
		if(row!=-1)
		{
			//获得表格头。
		    JTableHeader header = this.commentTable.getTableHeader();
		    //获取表格的Model
		    DefaultTableModel model = (DefaultTableModel)this.commentTable.getModel();
		    //获得表格的列数
		    int columnCount = this.commentTable.getColumnCount();
		    //定义变量,存储用户对删除判断的确定和取消操作。
		    int resultDelete = JOptionPane.showConfirmDialog(this, "确定要删除此条记录吗?", "删除确定框", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
		    //如果选择确定,则执行删除操作 
	    	if(resultDelete==JOptionPane.YES_OPTION)
	    	{
	    		//判断列数是否为8
			    if(columnCount==8)
			    {
			    	//从表格中获取评论号
			    	String comid = (String) this.commentTable.getValueAt(row, 0);
			    	//删除评论的sql语句
			    	String sql = "delete from wmstupsycom where wspsycomid = "+comid;
			    	//执行删除操作
		            try 
		            {
		         	   //提交到数据库,并执行删除操作
		    			int updateLine= jdbc.updateData(sql);
		    			//如果删除成功 
		    			if(updateLine!=0)
		    			{
		    				//在表格中删除该行
		    				model.removeRow(row);
		    				//提示删除成功 
		    				JOptionPane.showMessageDialog(this, "评论删除成功。");
		    			}
		    		 } catch (SQLException e) 
		    		 {
		    			//如果出现异常,提示删除出错。
		    			JOptionPane.showMessageDialog(this, "评论删除错误。");
		    		}
			    }
			    else
			    {
			    	//如果不是8列。
			    	//获取评论号
			    	String comid = (String) this.commentTable.getValueAt(row, 0);
			    	//获取第5列的列名
			    	String name = model.getColumnName(5);
			    	//如果为学习评论
			    	if(name.equals("学习评论")){
			    		//删除学习评论的sql
				    	String sql = "update wmstupsycom set studycomment = null where wspsycomid = "+comid;
				    	//执行删除操作
			            try 
			            {
			         	   //提交到数据库,并执行删除操作。
			    			int updateLine = jdbc.updateData(sql);
			    			//如果删除成功
			    			if(updateLine!=0)
			    			{
			    				//在表格中删除该行
			    				model.removeRow(row);
			    				//提示删除操作成功
			    				JOptionPane.showMessageDialog(this, "评论删除成功。");
			    			}
			    		 } catch (SQLException e) {
			    			//如果出现异常,提示删除出错。
			    			JOptionPane.showMessageDialog(this, "评论删除错误。");
			    		}
			    	}
			    	else
			    	{
			    		//如果是心理评论
			    		//删除评论的sql语句
				    	String sql = "update wmstupsycom set psychcomment = null where wspsycomid = "+comid;
				    	//执行删除操作
			            try 
			            {
			            	//提交到数据库,并执行删除操作
			    			int updateLine = jdbc.updateData(sql);
			    			//如果删除成功
			    			if(updateLine!=0)
			    			{
			    				//在表格中删除该行
			    				model.removeRow(row);
			    				//并提示删除操作成功
			    				JOptionPane.showMessageDialog(this, "评论删除成功。");
			    			}
			    		 } catch (SQLException e)
			    		 {
			    			 //如果出现异常,提示删除出错。
			    			JOptionPane.showMessageDialog(this, "评论删除错误。");
			    		}
			    	}
			    }
	    	}
	    	else
	    	{
	    		//选择取消,执行返回操作。
	    		return;
	    	}
	    }
		else
		{
			//如果没有选定操作的行。
			JOptionPane.showMessageDialog(this, "没有选定行");
		}
	}
	//定义初始化行
	int row=0;
	//定义并初始化评论号
	String wmspId =null;
	/**
	 * 修改按纽的响应方法
	 * @param evt
	 */
	private void commitButtonActionPerformed(ActionEvent evt) {
		//获取选定的行数
	    row = this.commentTable.getSelectedRow();
	   //如果选定行
	    if(row!=-1)
	    {
	    	//设置学年的下拉框为修改情况下的yearterm
	    	for(int nowYear=date.getYear()+1890,i=0;nowYear<date.getYear()+1910;nowYear++,i++)
			{
				int afterYear = nowYear+1;
				chyearterm[i]= nowYear+"~"+afterYear+"学年";
			}
			 yeartermComboBoxModel = new DefaultComboBoxModel(chyearterm);
			 yeartermComboBox.setModel(yeartermComboBoxModel);
			 //设置提按钮可以操作。
			 okButton.setEnabled(true);
			 
			 //设置学号不可编辑
	    	this.stuidTextField.setEditable(false);
	    	//设置姓名不可编辑
	    	this.stunameTextField.setEditable(false);
	    	//设置修改按纽不可编辑
	    	this.commitButton.setEnabled(false);
	    

⌨️ 快捷键说明

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