通讯录程序
要求:使用图形用户界面。用数据库建立 1 个通讯录表。(不限使用
哪种数据库)。能连接数据库并实现查询、增、删、改等功能。

java通讯录查找 java通讯录程序_java通讯录查找

java通讯录查找 java通讯录程序_java_02

java通讯录查找 java通讯录程序_java_03

java通讯录查找 java通讯录程序_数据库_04

java通讯录查找 java通讯录程序_java通讯录查找_05

java通讯录查找 java通讯录程序_sql_06

CreateJFrame

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.awt.Color;
 4 import java.awt.Container;
 5 import java.awt.event.ActionEvent;
 6 import java.awt.event.ActionListener;
 7 
 8 import javax.swing.JButton;
 9 import javax.swing.JFrame;
10 import javax.swing.JLabel;
11 import javax.swing.JTextField;
12 
13 public class CreateAdd extends JFrame{
14     CreateAdd(String title){
15         JFrame window=new JFrame(title);
16         Container con = window.getContentPane();
17         con.setLayout(null);
18         con.setBackground(Color.white);
19         JLabel label1=new JLabel("学号:");
20         JLabel label2=new JLabel("姓名:");
21         JLabel label3=new JLabel("电话:");
22         JLabel label4=new JLabel("性别:");
23         JLabel label5=new JLabel("地址:");
24         JButton j1=new JButton("确认");
25         JButton j2=new JButton("退出");
26         JTextField text1=new JTextField("",20);
27         JTextField text2=new JTextField("",20);
28         JTextField text3=new JTextField("",20);
29         JTextField text4=new JTextField("",20);
30         JTextField text5=new JTextField("",20);    
31         con.add(label1);con.add(label2);con.add(label3);con.add(label4);con.add(label5);
32         con.add(text1);con.add(text2);con.add(text3);con.add(text4);con.add(text5);
33         con.add(j1);con.add(j2);
34         label1.setBounds(20,20,100,50);
35         label2.setBounds(20,40,100,50);
36         label3.setBounds(20,60,100,50);
37         label4.setBounds(20,80,100,50);
38         label5.setBounds(20,100,100,50);
39         text1.setBounds(50, 35,100, 20);
40         text2.setBounds(50, 55,100, 20);
41         text3.setBounds(50, 75,100, 20);
42         text4.setBounds(50, 95,100, 20);
43         text5.setBounds(50, 115,100, 20);
44         j1.setBounds(50, 200, 100, 50);
45         j2.setBounds(200, 200, 100, 50);
46         j1.addActionListener(new ActionListener(){
47             public void actionPerformed(ActionEvent e) {
48                 String s1=text1.getText().toString(),s2=text2.getText().toString();
49                 String s3=text3.getText().toString(),s4=text4.getText().toString();
50                 String s5=text5.getText().toString();
51                 new insert_data(s1,s2,s3,s4,s5);
52             }
53         });
54         j2.addActionListener(new ActionListener(){
55             public void actionPerformed(ActionEvent e) {
56                 window.dispose();
57             }
58         });
59         window.setVisible(true);
60         window.setSize(500,500);
61         window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
62     }
63 }

CreateAdd

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.awt.Color;
 4 import java.awt.Container;
 5 import java.awt.event.ActionEvent;
 6 import java.awt.event.ActionListener;
 7 
 8 import javax.swing.JButton;
 9 import javax.swing.JFrame;
10 import javax.swing.JLabel;
11 import javax.swing.JTextField;
12 
13 public class  CreateDelete{
14     CreateDelete(String title){
15         JFrame window=new JFrame(title);
16         Container con = window.getContentPane();
17         con.setLayout(null);
18         JLabel label1=new JLabel("学号:");
19         JButton j1=new JButton("确认");
20         JButton j2=new JButton("退出");
21         JTextField text1=new JTextField("",20);
22         con.add(label1);
23         con.add(text1);
24         con.add(j1);
25         con.add(j2);
26         label1.setBounds(20,20,100,50);
27         text1.setBounds(100, 35,100, 20);
28         j1.setBounds(50, 200, 100, 50);
29         j2.setBounds(200, 200, 100, 50);
30         j1.addActionListener(new ActionListener(){
31             public void actionPerformed(ActionEvent e) {
32                 String s=text1.getText().toString();
33                 new delete_data(s);
34             }
35         });
36         j2.addActionListener(new ActionListener(){
37             public void actionPerformed(ActionEvent e) {
38                 window.dispose();
39             }
40         });
41         con.setBackground(Color.white);
42         window.setVisible(true);
43         window.setSize(500,500);
44         window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
45     }
46 }

CreateDelete

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.awt.Color;
 4 import java.awt.Container;
 5 import java.awt.event.ActionEvent;
 6 import java.awt.event.ActionListener;
 7 import java.awt.event.KeyAdapter;
 8 import java.awt.event.KeyEvent;
 9 import java.sql.SQLException;
10 
11 import javax.swing.JButton;
12 import javax.swing.JComboBox;
13 import javax.swing.JFrame;
14 import javax.swing.JLabel;
15 import javax.swing.JTextField;
16 
17 public class CreateQuery {
18     CreateQuery(String title){
19         JFrame window=new JFrame(title);
20         Container con = window.getContentPane();
21         con.setLayout(null);
22         con.setBackground(Color.white);
23         JComboBox box=new JComboBox();
24         box.addItem("学号");box.addItem("姓名");box.addItem("性别");box.addItem("电话");
25         JButton j1=new JButton("确认");
26         JButton j2=new JButton("退出");
27         JTextField text1=new JTextField("",20);
28         con.add(box);
29         con.add(text1);
30         con.add(j1);
31         con.add(j2);
32         box.setBounds(20,30,70,20);
33         text1.setBounds(100, 35,100, 20);
34         j1.setBounds(50, 200, 100, 50);
35         j2.setBounds(200, 200, 100, 50);
36         j1.addActionListener(new ActionListener(){
37             public void actionPerformed(ActionEvent e) {
38                 String s=text1.getText().toString();
39                 String s2 = box.getSelectedItem().toString();
40                 if(s2=="学号") s2="Sno"; if(s2=="姓名") s2="name";if(s2=="电话") s2="tel";if(s2=="性别") s2="sex";    
41                 new select_data(s,s2);
42             }
43         });
44         j2.addActionListener(new ActionListener(){
45             public void actionPerformed(ActionEvent e) {
46                 window.dispose();
47             }
48         });
49         window.setVisible(true);
50         window.setSize(500,500);
51         window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
52     }
53 }

CreateQuery

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.awt.Color;
 4 import java.awt.Container;
 5 import java.awt.event.ActionEvent;
 6 import java.awt.event.ActionListener;
 7 
 8 import javax.swing.JButton;
 9 import javax.swing.JComboBox;
10 import javax.swing.JFrame;
11 import javax.swing.JLabel;
12 import javax.swing.JTextField;
13 
14 public class CreateUpdata {
15     CreateUpdata(String title){
16         JFrame window=new JFrame(title);
17         Container con = window.getContentPane();
18         con.setLayout(null);
19         JLabel label1=new JLabel("学号:");
20         JButton j1=new JButton("确认"),j2=new JButton("退出");
21         JTextField text1=new JTextField("",20),text2=new JTextField("",20);
22         JComboBox box=new JComboBox();
23         box.addItem("姓名");box.addItem("电话");box.addItem("性别");box.addItem("地址");
24         con.add(box);
25         con.add(label1);
26         con.add(text1);con.add(text2);
27         con.add(j1);con.add(j2);
28         box.setBounds(20, 90, 70, 25);
29         label1.setBounds(20,20,100,50);
30         text1.setBounds(100, 35,100, 20);text2.setBounds(100,95,100,20);
31         j1.setBounds(50, 200, 100, 50);j2.setBounds(200, 200, 100, 50);
32         j1.addActionListener(new ActionListener(){
33             public void actionPerformed(ActionEvent e) {
34                 String s1 = text1.getText().toString();
35                 String s2 = box.getSelectedItem().toString();
36                 String s3 = text2.getText().toString();
37                 if(s2=="姓名") s2="name";if(s2=="电话") s2="tel";if(s2=="性别") s2="sex";if(s2=="地址") s2="adr";
38                 new updata_data(s1,s2,s3);
39             }
40         });
41         j2.addActionListener(new ActionListener(){
42             public void actionPerformed(ActionEvent e) {
43                 window.dispose();
44             }
45         });
46         con.setBackground(Color.white);
47         window.setVisible(true);
48         window.setSize(500,500);
49         window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
50     }
51 }

CreateUpdata

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 import java.sql.Statement;
 7 
 8 import javax.swing.JOptionPane;
 9 public class insert_data {
10     insert_data(String s1,String s2,String s3,String s4,String s5){
11             Connection conn;
12             Statement stmt;
13             String url = "jdbc:sqlserver://localhost:1433;DatabaseName=我的数据库;";
14             String sql="insert into address_list(Sno,name,tel,sex,adr) values ('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"');";
15             try {
16                 conn = DriverManager.getConnection(url, "sa", "123456");
17                 stmt = conn.createStatement();
18                 stmt.executeUpdate(sql);
19                 conn.close();
20                 stmt.close();
21             } 
22             catch (SQLException e) {
23                 e.printStackTrace();
24                 JOptionPane.showMessageDialog(null,"操作失败","error",JOptionPane.PLAIN_MESSAGE);
25             }
26     }
27 }

insert_data

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.sql.SQLException;
 4 import java.sql.Statement;
 5 
 6 import javax.swing.JButton;
 7 import javax.swing.JFrame;
 8 import javax.swing.JLabel;
 9 import javax.swing.JOptionPane;
10 import javax.swing.JScrollPane;
11 import javax.swing.JTable;
12 import javax.swing.table.JTableHeader;
13 
14 import java.awt.Component;
15 import java.awt.Container;
16 import java.sql.Connection;
17 import java.sql.DriverManager;
18 import java.sql.ResultSet;
19 public class select_data {
20     public select_data(String s1,String s2){
21         Connection conn;
22         Statement stmt;
23         ResultSet rs;
24         String url = "jdbc:sqlserver://localhost:1433;DatabaseName=我的数据库;";
25         String sql = "select * from address_list where "+s2+"=('"+s1+"')";     
26         try {
27             conn = DriverManager.getConnection(url, "sa", "123456");
28             stmt = conn.createStatement();
29             rs = stmt.executeQuery(sql);
30             if(rs.next()){ 
31                 String ss1= rs.getString("Sno");
32                 String ss2= rs.getString("name");
33                 String ss3= rs.getString("tel");
34                 String ss4= rs.getString("sex");
35                 String ss5= rs.getString("adr");
36                 JFrame win=new form(ss1,ss2,ss3,ss4,ss5,rs);
37                 win.setVisible(true);
38                 win.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
39             }
40             else{
41                 JOptionPane.showMessageDialog(null,"没有该学生的通讯信息","error",JOptionPane.PLAIN_MESSAGE);
42             }
43             conn.close();
44             rs.close();
45         } catch (SQLException e) {
46             e.printStackTrace();
47             JOptionPane.showMessageDialog(null,"操作失败","error",JOptionPane.PLAIN_MESSAGE);
48         }
49     }
50 }

select_data

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 import javax.swing.JFrame;
 9 import javax.swing.JOptionPane;
10 
11 public class updata_data {
12     updata_data(String s1,String s2,String s3){
13         Connection conn;
14         Statement stmt;
15         String url = "jdbc:sqlserver://localhost:1433;DatabaseName=我的数据库;";
16         String sql = "update address_list  set "+s2+"='"+s3+"' where Sno='"+s1+"'";
17         try {
18             conn = DriverManager.getConnection(url, "sa", "123456");
19             stmt = conn.createStatement();
20             stmt.executeUpdate(sql);
21             conn.close();
22         } catch (SQLException e) {
23             e.printStackTrace();
24             JOptionPane.showMessageDialog(null,"操作失败","error",JOptionPane.PLAIN_MESSAGE);
25         }
26     }
27 }

updata_data

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 import java.sql.Statement;
 7 
 8 import javax.swing.JOptionPane;
 9 
10 public class delete_data {
11     delete_data(String s){
12         Connection conn;
13         Statement stmt;
14         String url = "jdbc:sqlserver://localhost:1433;DatabaseName=我的数据库;";
15         String sql="delete from address_list where sno=('"+s+"');";
16         try {
17             conn = DriverManager.getConnection(url, "sa", "123456");
18             stmt = conn.createStatement();
19             stmt.executeUpdate(sql);
20             conn.close();
21             stmt.close();
22         } 
23         catch (SQLException e) {
24             e.printStackTrace();
25             JOptionPane.showMessageDialog(null,"操作失败","error",JOptionPane.PLAIN_MESSAGE);
26         }
27 }
28 }

delete_data

java通讯录查找 java通讯录程序_sql_06

java通讯录查找 java通讯录程序_java_08

1 package 窗口;
 2 
 3 import java.awt.BorderLayout;
 4 import java.awt.Color;
 5 import java.awt.Container;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8 
 9 import javax.swing.JButton;
10 import javax.swing.JFrame;
11 import javax.swing.JScrollPane;
12 import javax.swing.JTable;
13 public class form extends JFrame{
14     public form(String s1,String s2,String s3,String s4,String s5,ResultSet rs) throws SQLException{
15         super();
16         setTitle("所查询的信息");
17         setBounds(100,100,240,150);
18         setSize(1000,500);
19         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
20         String[] columnNames = {"学号","姓名","电话","性别","地址"};
21         String[][] tableValues=new String[500][5];
22         tableValues[0][0]=s1;tableValues[0][1]=s2;tableValues[0][2]=s3;tableValues[0][3]=s4;tableValues[0][4]=s5;
23         int t=1;
24         while(rs.next()){
25             String id = rs.getString("Sno");
26             String name = rs.getString("name");
27             String telephone = rs.getString("tel");
28             String sex = rs.getString("sex");
29             String address = rs.getString("adr");
30             tableValues[t][0]=id;
31             tableValues[t][1]=name;
32             tableValues[t][2]=telephone;
33             tableValues[t][3]=sex;
34             tableValues[t][4]=address;
35             t++;
36         }
37         JTable table = new JTable(tableValues,columnNames);
38         JScrollPane scrollPane = new JScrollPane(table);
39         getContentPane().add(scrollPane, BorderLayout.CENTER);
40     }
41 }

form