📄 basicinfo.java
字号:
package mypackage;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ComponentOrientation;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.TableModelEvent;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumnModel;
import com.jgoodies.forms.factories.FormFactory;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.RowSpec;
public class BasicInfo extends JFrame {
private JTextField textField_4;
private JTextField Des;
private JTextField Mdate;
private JTextField mDep;
private JTextField Topic;
private JComboBox Sort;
private JTextField pName;
private JTextField eDuty;
private JTextField eDep;
class TableTableModel extends AbstractTableModel {
/**
*
*/
private Vector<Vector<Comparable>> content = null;
private static final long serialVersionUID = 1L;
private String[] title_name = { "ID", "员工号", "姓名" };
public TableTableModel() {
content = new Vector<Vector<Comparable>>();
}
public TableTableModel(int count) {
content = new Vector<Vector<Comparable>>(count);
}
// public final String[] COLUMN_NAMES = new String[] {"员工号", "姓名"};
// private String[][] CELLS=new
// String[][]{{"001","孙业亮"},{"002","孙妍"},{"003","孙三"}};
public void addRow(String Stno, String Sname) {
Vector<Comparable> v = new Vector<Comparable>(3);
v.add(0, new Integer(content.size() + 1));
v.add(1, Stno);
v.add(2, Sname);
content.add(v);
}
public void removeRow(int row) {
content.remove(row);
}
public void removeRows(int row, int count) {
for (int i = 0; i < count; i++) {
if (content.size() > row) {
content.remove(row);
}
}
}
/**
* 让表格中某些值可修改,但需要setValueAt(Object value, int row, int col)方法配合才能使修改生效
*/
public boolean isCellEditable(int rowIndex, int columnIndex) {
// if (columnIndex == 0) {
return false;
// }
// return true;
}
/**
* 使修改的内容生效
*/
@SuppressWarnings("unchecked")
public void setValueAt(Object value, int row, int col) {
((Vector) content.get(row)).remove(col);
((Vector) content.get(row)).add(col, value);
this.fireTableCellUpdated(row, col);
}
public String getColumnName(int col) {
return title_name[col];
}
public int getColumnCount() {
return title_name.length;
}
public int getRowCount() {
return content.size();
}
public Object getValueAt(int row, int col) {
return ((Vector) content.get(row)).get(col);
}
/**
* 返回数据类型
*/
@SuppressWarnings("unchecked")
public Class getColumnClass(int col) {
return getValueAt(0, col).getClass();
}
}
private JTable table;
private JTextField Folk;
private JTextField Brief;
private JTextField Com;
private JTextField Tel;
private JTextField Relation;
private JTextField Name;
private JTextField textField_24;
private JTextField Duty;
private JTextField Dep;
private JTextField Company;
private JTextField Edate;
private JTextField Sdate;
private JTextField SBrief;
private JTextField Address;
private JTextField Barend;
private JTextField Special;
private JTextField Barstart;
private JTextField studyLevel;
private JTextField Baryear;
private JTextField Indate;
private JTextField SDuty;
private JTextField Married;
private JTextField SDep;
private JTextField Body;
private JTextField Birth;
private JTextField Politics;
private JTextField Sex;
private JTextField Recno;
private JTextField SName;
private JTextField Cardno;
private JTextField Stano;
TableTableModel tmodel = new TableTableModel(20);
void clearInfo(JTabbedPane tabbedPane2) {// 使界面清空
int number = 0;// 记录当前选中的行号
number = table.getSelectedRow();
if (number < 0) {
return;
} else {
switch (tabbedPane2.getSelectedIndex()) {
case 0:
Stano.setText("");
SName.setText("");
Sex.setText("");
Birth.setText("");
SDep.setText("");
SDuty.setText("");
Folk.setText("");
studyLevel.setText("");
Special.setText("");
Cardno.setText("");
Recno.setText("");
Politics.setText("");
Married.setText("");
Indate.setText("");
Body.setText("");
Baryear.setText("");
Barstart.setText("");
Barend.setText("");
Address.setText("");
SBrief.setText("");
break;
case 1:
Sdate.setText("");
Edate.setText("");
Company.setText("");
eDep.setText("");
eDuty.setText("");
break;
case 2:
Sort.setSelectedItem("");
Topic.setText("");
mDep.setText("");
Mdate.setText("");
Des.setText("");
break;
case 3:
Sort.setSelectedItem("");
Topic.setText("");
mDep.setText("");
Mdate.setText("");
Des.setText("");
break;
default:
break;
}
}
}
void saveInfo(JTabbedPane tabbedPane3) {// 保存按钮的响应事件,使界面内容保存到数据库中
int number = 0;// 记录当前选中的行号,列表中的员工号和姓名应为空
number = table.getSelectedRow();
// System.out.println("sid="+number);
if (number < 0) {
return;
} else {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:Password";
Connection conn = DriverManager.getConnection(url, "", "");
Statement stmt = conn.createStatement();
String sid;
sid = (String) table.getValueAt(number, 1);// 获得当前选中的员工列表中的员工号
switch (tabbedPane3.getSelectedIndex()) {
case 0:// 保存基本资料
ResultSet rs1 = stmt
.executeQuery("select * from BaseInfo where Stano='"
+ Stano.getText() + "'");
String s="";
if(rs1.next())
{
s=rs1.getString("Stano");
if( sid.equals("")||!sid.equals(s))//rs1.next() && sid.equals("")
{
JOptionPane.showMessageDialog(this,"您输入的员工号已经存在!","提示",JOptionPane.ERROR_MESSAGE);
break;
}
}
ResultSet rs = stmt
.executeQuery("select * from BaseInfo where Stano='"
+ sid + "'");// 基本资料数据库查询
if (!rs.next())// 没有查询结果,则需要在数据库中新增界面上的信息
{
// System.out.println("需要插入新行");
// stmt.executeUpdate("insert into BaseInfo values'"+Stano)
String str;
str="insert into BaseInfo";
str=str+"(";
str=str+"Stano,"+"Name,"+"Sex,"+"Birth,"+"Dep,"+"Duty,"+"Folk,";
str=str+"studyLevel,"+"Special,"+"Cardno,"+"Recno,"+"Politics,"+"Married,";
str=str+"Indate,"+"Body,"+"Barstart,"+"Barend,"+"Address,"+"Brief";
str=str+")"+"values(";
str=str+"'"+Stano.getText()+"',";
str=str+"'"+SName.getText()+"',";
str=str+"'"+Sex.getText()+"',";
str=str+"'"+Birth.getText()+"',";
str=str+"'"+SDep.getText()+"',";
str=str+"'"+SDuty.getText()+"',";
str=str+"'"+Folk.getText()+"',";
str=str+"'"+studyLevel.getText()+"',";
str=str+"'"+Special.getText()+"',";
str=str+"'"+Cardno.getText()+"',";
str=str+"'"+Recno.getText()+"',";
str=str+"'"+Politics.getText()+"',";
str=str+"'"+Married.getText()+"',";
str=str+"'"+Indate.getText()+"',";
str=str+"'"+Body.getText()+"',";
str=str+"'"+Barstart.getText()+"',";
str=str+"'"+Barend.getText()+"',";
str=str+"'"+Address.getText()+"',";
str=str+"'"+SBrief.getText()+"'";
str=str+")";
stmt.executeUpdate(str);
//tmodel.addRow("", "");
//table.updateUI();
table.setValueAt(Stano.getText(), number, 1);
table.setValueAt(SName.getText(), number, 2);
// System.out.println("number="+number);
table.updateUI();
} else {// 修改新输入的内容
stmt.executeUpdate("update BaseInfo SET Stano='"
+ Stano.getText() + "',Name='"
+ SName.getText() + "',Sex='"
+ Sex.getText() + "',Birth='"
+ Birth.getText() + "',Dep='"
+ SDep.getText() + "',Duty='"
+ SDuty.getText() + "',Folk='"
+ Folk.getText() + "',studyLevel='"
+ studyLevel.getText() + "',Special='"
+ Special.getText() + "',Cardno='"
+ Cardno.getText() + "',Recno='"
+ Recno.getText() + "',Politics='"
+ Politics.getText() + "',Married='"
+ Married.getText() + "',Indate='"
+ Indate.getText() + "',Body='"
+ Body.getText() + "',Baryear='"
+ Baryear.getText() + "',Barstart='"
+ Barstart.getText() + "',Barend='"
+ Barend.getText() + "',Address='"
+ Address.getText() + "',Brief='"
+ Brief.getText() + "'WHERE Stano='"
+ sid + "'");
//tmodel.setValueAt(Stano.getText(), number, 1);
//table = new JTable(tmodel);
table.setValueAt(Stano.getText(), number, 1);
table.setValueAt(SName.getText(), number, 2);
table.updateUI();
}
stmt.close();
break;
case 1:// 更新工作经历
rs = stmt.executeQuery("select * from History where Sid='"
+ sid + "'");// 基本资料数据库查询
if (!rs.next())// 没有查询结果,则需要在数据库中新增界面上的信息
{
String str;
str="insert into History";
str=str+"(";
str=str+"Sid,"+"Sdate,"+"Edate,"+"Company,"+"Dep,"+"Duty";
str=str+")"+"values(";
str=str+"'"+sid+"',";
str=str+"'"+Sdate.getText()+"',";
str=str+"'"+Edate.getText()+"',";
str=str+"'"+Company.getText()+"',";
str=str+"'"+eDep.getText()+"',";
str=str+"'"+eDuty.getText()+"'";
str=str+")";
stmt.executeUpdate(str);
} else {// 修改新输入的内容
System.out.println("需要更新列表");
stmt.executeUpdate("update History SET Sid='"
+ sid + "',Sdate='"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -