|
// 项目目标:建立员工管理系统第一个版本。2 \$ G" M% V$ ?8 P. u6 {' Q
// 实现图形用户界面的员工信息查询、增、删、改;与数据库建立,并将修改结果时时保存到数据库。5 A7 L5 ^! F {( A, r( g& o) Z# \
// 模块:1.GUI界面 2.数据库连接 3.查询 4.增、5删 6改(操作数据库) import java.sql.*;
" U8 N4 S, H$ ?3 e! Nimport java.awt.*;) }8 S% e. l- p- M
import java.awt.event.*; import javax.swing.*; public class EmpManageSys implements ActionListener {' c# m6 b& Y. v+ {
Connection con;; i# T+ T5 \: a; |7 @) S# s& k7 Y
Statement stmt;& k* a' U# i/ n" A+ P
String sql;
* Y {/ D2 e8 R5 JResultSet rs;* F! O8 n, {- [' C" j: x
StringBuffer sb = new StringBuffer(); JTextField jtf2 = new JTextField("张飞",10); JTextField jtf3 = new JTextField(10); JTextField jtf4 = new JTextField(10); JTextField jtf7 = new JTextField(10); JTextField jtf5 = new JTextField(10); JTextField jtf6 = new JTextField(10); JTextField jtf8 = new JTextField(10); JTextField jtf9 = new JTextField(10); JTextArea jta10 = new JTextArea(50, 40); public void actionPerformed(ActionEvent e) {' L8 M @# A! `, N
String str = e.getActionCommand();3 q2 n% ^' r! b1 A+ f8 y [
if ("查询".equals(str)) { //if check the button of 查询,then go to method of searchEmp()
\; c% F. v) N8 w3 S; FsearchEmp();
3 K: j7 v* d5 Q* A6 J& L0 y( v} else if ("增加".equals(str)) { //if check the button of 增加,then go to method of addEmp()5 J6 [' c! a( X
addEmp();# i7 |' t3 @3 b b( c0 d% s
} else if ("修改".equals(str)) { //if check the button of 修改,then go to method of alterEmp() D" D* G! Q4 `' P7 ^8 d6 V
alterEmp();
G, ]& t& H+ {} else if ("撤除".equals(str)) { //if check the button of 撤除,then go to method of deleteEmp()1 v; m+ W. | @; K# a; ~" D
deleteEmp();. X( Y" B. r! S- r W0 K
}3 q* B4 Q1 H# ]- |6 c" |
} //this is the constructor. EmpManageSys() {: O* d) K" H( r( g2 B9 d1 T
createGUI();
5 [& V6 c& _) X: O5 YconnectToDataBase();
3 r. _5 j, o3 @+ P// searchEmp();* U. j8 q4 e# ^- c d9 w
// addEmp();
! k0 K; b# f) U) w2 U/ f- X4 E// deleteEmp();
+ i, u# H) M4 c, f PalterEmp();
. v: n1 ?+ F: C6 M/ @- k} //connect to the database by using the method getConnection from the class of JdbcUtil. //You can find the class of JdbcUtil at the button of this page. public Connection connectToDataBase() { @! s9 A% R! t6 O
con = JdbcUtil.getConnection();
+ I4 s* B+ y6 |System.out.println(con);
/ `: V4 d. m H7 {7 }return con; } public void searchEmp() {
9 a9 c t$ P. E/ ?jta10.setText("");( Y/ r. V0 R; d6 q6 ^
try {
$ ?* N3 {, f, z# u* D4 mstmt = con.createStatement();
% E) Z; h( |% B/ v// sql = "select * from Mstar where id=" + jtf3.getText();
7 h# b: y9 N8 z G// sql1="select * from sd100343 where ="+jtf3.getText();; V4 ^; I: f ?& d, z5 b
sql = "select * from Mstar where chineseName="
2 P& z3 e/ v: d7 X+ jtf2.getText().toLowerCase().trim() + "or id="
( k, E% C* D# g8 H+ }; T2 f( M+ jtf3.getText().toLowerCase().trim() + "or engName="4 P3 h" g% i8 v. s+ D2 x
+ jtf4.getText().toLowerCase().trim() + "or UNIT="
: s/ Z+ M0 R5 |0 X+ jtf5.getText().toLowerCase().trim() + "or TEAM="
0 Y0 D3 [% b5 i9 @+ jtf6.getText().toLowerCase().trim() + "or Phone="
: z. H& g% w" ]& {1 n+ jtf7.getText().toLowerCase().trim() + "or region=": m2 c% `( @2 Z+ Q
+ jtf8.getText().toLowerCase().trim() + "or busStation="
3 a7 H$ _& _* W+ jtf9.getText().toLowerCase().trim();
1 B4 q* f& c. \) b6 f+ J0 k7 _8 estmt.executeQuery(sql);
5 N ]; W. P3 c" q1 [$ jrs = stmt.getResultSet();7 }: A, |" ~, c1 R" V: C5 a
ResultSetMetaData meta = rs.getMetaData();9 S2 L9 R' s9 o0 y6 S
int cols = meta.getColumnCount();
' C. w& E5 b$ B8 e2 d9 {6 iwhile (rs.next()) {/ K% }, R3 \' k% G% c
for (int i = 1; i <= cols; i++) {
7 |; e, e1 q% I) e9 ^1 `sb.append(" " + meta.getColumnName(i) + " =");
* l1 k. ?; I, J( a+ a! fsb.append(rs.getString(i));
9 \( D; h& L4 {8 k( G}" E7 C2 _# |. w- @
sb.append("\n");) n" j6 [. I% w1 D
jta10.setText(sb.toString());: T# _' k5 i, Q- D
}
7 x& r3 J% j3 f' B/ m7 B* }* U} catch (SQLException e11) {- F" z( R/ ]8 u
e11.printStackTrace();' y# x: L N- Y L
} } public void addEmp() {$ _2 S) u& Y6 v- Y2 @
try {
, d5 ?( V8 [1 N$ z* H; Hstmt = con.createStatement();0 Y$ O/ r1 ^/ |
sql = "update Mstar values(" + jtf2.getText() + jtf3.getText()
# C5 |1 X( t* i+ jtf4.getText() + jtf5.getText() + jtf6.getText()$ O9 U, f8 v3 N- x" P7 f
+ jtf7.getText() + jtf8.getText() + jtf9.getText() + ")";0 h6 n& Q0 ^- O
int i = stmt.getUpdateCount();- X4 W9 B( Y5 Q0 m2 k; ^
if ((jtf2.getText() != null) && (jtf4.getText() != null)% N# _# U7 F: p6 P( j& y
&& (jtf6.getText() != null) && (jtf7.getText() != null)) {
. O! [; `- i! b; {stmt.executeUpdate(sql);: @% v0 R! X; l7 P) p
jta10.setText("添加记录成功" + i + "条");% K: s" l9 s! |8 L; k% _) K
} else {
( W! r3 o# {2 Y+ }! [$ T) ^1 r4 Wjta10.setText("带*号项为添加记录时不能为空");
/ Z$ |2 Q3 ?1 I# E9 X}
5 |( [: z2 x( K. m; }6 i e} catch (SQLException e1) {
5 ~3 V4 _4 @) j6 E# [+ C: }e1.printStackTrace();
& ~5 g( c& M! h$ S}
% N0 J6 b! |. F( ^} public void deleteEmp() {) p1 p3 K+ E8 O
searchEmp();
! R: z5 ?# O6 W4 E7 W) G( xtry {
, `: Y% d* i. s. z/ U- Lstmt = con.createStatement();4 D4 c# ^. N/ l
sql = "delete from Mstar where chineseName="4 _ O8 ~# g* o1 z1 T n5 X" _) t
+ jtf2.getText().toLowerCase().trim() + "or id="5 p* Z; c/ U9 M+ y$ w- L
+ jtf3.getText().toLowerCase().trim() + "or engName="# M2 I2 D+ z9 U# z( r& E
+ jtf4.getText().toLowerCase().trim() + "or UNIT="* l8 @* n" z: o) o1 k
+ jtf5.getText().toLowerCase().trim() + "or TEAM="
* k! t: y4 ]# l' {7 Z1 Q5 B+ jtf6.getText().toLowerCase().trim() + "or Phone="& U- g' K7 z8 q# I
+ jtf7.getText().toLowerCase().trim() + "or region="/ Y2 e$ C4 b! R. |( f+ g" h: I
+ jtf8.getText().toLowerCase().trim() + "or busStation="# R& }: x4 ` F; H* e/ Y$ G, t
+ jtf9.getText().toLowerCase().trim();* `' R" W! v/ l9 X+ X2 B$ ~3 q
stmt.executeUpdate(sql);- ~1 J* \) h8 s; l
int i = stmt.getUpdateCount();
6 t8 [2 A& Q, X- J) ijta10.setText("撤除操作成功" + i + "条");. E: r# x$ J: d2 d3 o+ T- m
} catch (SQLException e) {
# b$ k% J" ~, Z' x, qe.printStackTrace();
8 e7 o2 K3 g# V/ _" Z$ V3 I} } public void alterEmp() {
- N d7 V/ s4 ]( v. bsearchEmp();4 T7 M9 W a0 Y1 @
sql = "update Mstar set chineseName="
n) |0 U+ I+ ]! E+ jtf2.getText().toLowerCase().trim() + "and id="
) R. L1 [! L+ r+ G( o+ jtf3.getText().toLowerCase().trim() + "and engName="6 T2 T, d/ ~1 r9 u W
+ jtf4.getText().toLowerCase().trim() + "and UNIT="- G C4 n* S: t* h
+ jtf5.getText().toLowerCase().trim() + "and TEAM="
$ a6 {+ E+ b, i. X* s) c8 W+ jtf6.getText().toLowerCase().trim() + "and Phone="# m( s- b( W, ], i
+ jtf7.getText().toLowerCase().trim() + "and region="
1 v s3 T1 E0 e# B% N8 g3 u+ @+ jtf8.getText().toLowerCase().trim() + "and busStation="# p: L+ {1 ~$ l W
+ jtf9.getText().toLowerCase().trim(); int i = 0;8 T2 ]3 }) | X- E9 z( n
try {
5 X, N9 j; K4 b4 Q; r0 e8 ?' n! pstmt.executeUpdate(sql);
' \ }7 o$ m$ T4 A, w/ `i = stmt.getUpdateCount();4 @1 j" n& B' |3 w$ n* E2 }
} catch (SQLException e) {5 D) x# E+ K: v' J% `/ g4 A
e.printStackTrace();
' _# T' R1 |; Z8 R}
/ b! f* O" z0 Z! C' P* T& l0 ijta10.setText("修改操作成功" + i + "条");3 k/ y1 u( V3 h
} public void createGUI() {
$ T6 W: y+ W, }JFrame jf = new JFrame("员工信息管理系统");0 E) _% ]" f. F" T# |9 M
jf.setLayout(new GridLayout(2, 1));
# C% v: i, j' @( o7 V, v// jf.setLayout(new GridLayout(10,2));
+ r6 H+ z7 ^+ M X' bJPanel jp00 = new JPanel(new GridLayout(5, 4)); JPanel jp1 = new JPanel();9 E" c1 _. ]! N& j' l
JButton jb11 = new JButton("查询");/ S; _) J1 M: A3 i, R! z$ [
jb11.addActionListener(this);( t' X! X6 h& Y# k" \
JButton jb12 = new JButton("增加");
+ t" ]/ b R: `& Z3 u9 z; l2 Njb12.addActionListener(this);
0 H. \8 y% ~, S( Q+ Hjp1.add(jb11);
/ Z& `! I$ l! F' Q; i3 v1 @9 P1 njp1.add(jb12);
7 s5 x' s3 D3 Z- ^) j8 W3 @" Yjp00.add(jp1);. n' v, j' v, ?8 l- n0 H
JPanel jp11 = new JPanel();: U5 n* H2 W$ A* i+ m! e
JButton jb111 = new JButton("修改");
/ R/ M. u1 s' P% n) vjb111.addActionListener(this);
7 s3 {. p9 ~' {! O7 b2 jJButton jb112 = new JButton("撤除");
2 b! ?& A1 |# M. Q6 @jb112.addActionListener(this);
. J% y" H0 j( }jp11.add(jb111);
! f5 z% i4 s$ O- Xjp11.add(jb112);
- K) P/ b2 a/ Y; Vjp00.add(jp11);2 q3 Y2 f9 G0 ?8 E# Y
JPanel jp2 = new JPanel();
( F% P+ I% N, m% A) g8 c' fJLabel jl2 = new JLabel("中 文 名 * ");
# d* s, G- H/ D& g2 z" H3 Z8 Wjp2.add(jl2);/ P6 R" f, m' S; f) i
jp2.add(jtf2);0 o% I9 A4 }- S! f5 }$ n# q
jp00.add(jp2);$ i+ d. D- z6 F; M" W" q# k
JPanel jp3 = new JPanel();' ]5 z7 J# P6 j: r- f6 C
JLabel jl3 = new JLabel("工 号 ");6 J" A0 s9 z2 n. S
jp3.add(jl3);# r5 @0 ? S& v
jp3.add(jtf3);
) z9 I' \+ G% B3 F/ ijp00.add(jp3);
& V# C. p" L5 m7 y" J0 LJPanel jp4 = new JPanel();) _) E5 q' m/ i! f6 l
JLabel jl4 = new JLabel("EngName*");+ a+ H( Z' g: o5 I1 w) ?
jp4.add(jl4);+ q3 f! [4 o( g D& x
jp4.add(jtf4);
3 y8 v; i, W# s a, g( ojp00.add(jp4);) \9 |9 J# x' |1 ~! ]; b2 Q7 z; f
JPanel jp5 = new JPanel();
8 U( }- p" X* Q6 LJLabel jl5 = new JLabel("UNIT ");
. W1 ^6 p# h: T! E V- ^8 o4 [jp5.add(jl5);! b- N3 e+ q$ H' r8 Q% k' [8 C0 V/ m
jp5.add(jtf5); x( E/ U @) G9 J5 c; i, ]
jp00.add(jp5);
; }$ E; Z z6 i; GJPanel jp6 = new JPanel();
5 J0 Q$ l3 y" R1 wJLabel jl6 = new JLabel("TEAM* ");$ D; H/ s' Y# i- [5 k; _
jp6.add(jl6);
( ?- T5 H3 w+ g8 yjp6.add(jtf6);
f8 B. O' ^ z9 ojp00.add(jp6);
: l" m; z- P/ ^+ [# D! |JPanel jp7 = new JPanel();4 i( O$ G) U- a7 [
JLabel jl7 = new JLabel("Phone* ");
0 ~) g6 X9 Y9 N6 r. l, ijp7.add(jl7);5 u) T6 J/ G8 _- C5 u+ x8 K0 s
jp7.add(jtf7);1 ~! }& z: O2 V9 {
jp00.add(jp7);# v- c/ S" q+ J+ \4 m/ ]; ?
JPanel jp8 = new JPanel();
" w# l# e- n! V7 Z* _* VJLabel jl8 = new JLabel("区域 ");( I) D* G" ]+ ]
jp8.add(jl8);
: a; G; K- ~. l; g4 r# D' fjp8.add(jtf8);
0 I- y# p7 j- K/ K" vjp00.add(jp8);( @) i0 ^; ~" N8 A' v
JPanel jp9 = new JPanel();2 ~3 C* D% e8 }& V; J
JLabel jl9 = new JLabel("公交站 ");
# s+ u7 O4 g* D$ r( e4 H; Q0 Zjp9.add(jl9);
: q! I& o' t0 b( O9 r8 ujp9.add(jtf9);; X; w/ z" Y5 O5 V C( z
jp00.add(jp9);
; u. Z- `* }( l5 V$ Mjf.add(jp00);; {' \! _2 _; Y, |& E0 h/ I6 @, ]# g
JPanel jp01 = new JPanel();
6 F+ ?3 | s W8 Z; K% W0 S) l3 Ijta10.setText("--用户使用手册-- \n1、查询:选择一个字段,如 EngName 在文本框中输入相应内容,点击查询\n2、增加:在各个文本框中输入相应内容后,点击增加。\n3、修改:先查询到你要的记录,在更改相应内容,点击修改。\n4、撤除:类似于修改操作");) K; E6 b! E5 g$ s/ {! l# Q
jp01.add(jta10);& O \0 w4 R' w5 ^' x; i% [
jf.add(jp01);
5 ]" l2 F* T* V8 _jf.setSize(700, 500);/ c' M/ y4 @0 ~* ]
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);, ~5 c: v! _5 Z. e
jf.setVisible(true); } public static void main(String[] args) {
2 T2 i5 [- N, y, onew EmpManageSys();
( E+ B8 J% G) V; `1 }, _, l}
' q! d, B9 I2 r}
5 K0 J- c4 F- T9 r4 G9 L! R) D: M |