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 + -
显示快捷键?