📄 wmstupsycomdialog.java
字号:
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 + -