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