Java通讯录

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Address extends JFrame{
Connection con=null;
Statement st=null;
ResultSet rs=null;

//从数据库获取数据方法
public Vector getData(){
Vector vector=new Vector();
try {
//驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

//连接数据库
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs",
"sa", "sa");

//陈述对象
st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

//返回结果集
rs=st.executeQuery("select * from address");
ResultSetMetaData rm=rs.getMetaData();

//循环打印出数据库表中数据
int n=rm.getColumnCount();
while(rs.next()){
Vector ve=new Vector();
for(int i=1;iSystem.out.print(rs.getString(i)+" ");
String s=rs.getString(i);
ve.add(s);
}
vector.add(ve);//Vector对象接收表中数据
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{if(rs!=null){
try {
rs.close();//关闭结果集
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();//关闭陈述对象
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(con!=null){
try {
con.close();//关闭连接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return vector;
}


//向数据库插入数据方法
public void insertData(String name,String tel){
try {
//驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//连接数据库
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs", "sa", "sa");
st=con.createStatement();
int c=st.executeUpdate("insert into address values('" + name + "','" +tel + "')");
} catch (Exception e) {
e.printStackTrace();
}
}


public Address(){
//界面参数设置
this.setTitle("通讯录");
this.setBounds(400, 300, 500, 300);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

Vector vector1=new Vector();
vector1.add("姓名");
vector1.add("电话");

//默认表格模型
final DefaultTableModel tableModel=new DefaultTableModel();
tableModel.setDataVector(getData(), vector1);
JTable table=new JTable(tableModel);

// 文字标签
JLabel label1=new JLabel("姓名");
JLabel label2=new JLabel("电话");

//文本输入框
final JTextField text1=new JTextField(10);
final JTextField text2=new JTextField(10);

//添

加一个按钮并为其添加监听器
JButton button=new JButton("添加");
button.addActionListener(new ActionListener() {

@SuppressWarnings("unchecked")
public void actionPerformed(ActionEvent e) {
String name=text1.getText();
String tel=text2.getText();
if(!name.equals("")&&!tel.equals("")){
insertData(name, tel);//向数据库插入数据

Vector v2=new Vector();//Vector对象接受数据并显示在表格
v2.add(name);
v2.add(tel);
tableModel.addRow(v2);

text1.setText("");
text2.setText("");
}
}
});

//添加一个面板并设置参数
JPanel jp=new JPanel();
jp.setBackground(Color.orange);

//向面板中添加组件
jp.add(label1);
jp.add(text1);
jp.add(label2);
jp.add(text2);
jp.add(button);

//将表格添加到滚动面板
JScrollPane js=new JScrollPane(table);

//向JFrame添加组件
this.getContentPane().add(js);
this.add(jp,BorderLayout.SOUTH);
this.setVisible(true);
}


public static void main(String[]args){
Address add=new Address();
}
}

相关文档
最新文档