开始学习时,想到数据库的链接,而且做了部分的界面处理,因此想出一个处理通讯数据的简单程序。
以下介绍:(数据库用sqlserver2005, 建立简单的表有id与name和phone字段 同时建立一个存储过程用于存储数据)
主界面程序代码:
import
java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Shit extends Down ... {
Frame f1;
Panel p1, p2, p3;
Button b1, b2, b3;
TextField t1;
public static void main(String[] args) ...{
Shit pp = new Shit();
pp.myframe();
}
void myframe() ...{
try ...{
Frame f1 = new Frame("我的通讯录");
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Button b1 = new Button("Add");
Button b2 = new Button("Layout");
Button b3 = new Button("Exit");
TextField t1 = new TextField("My Adress List!", 30);
final TextArea t2 = new TextArea();
f1.setLayout(new BorderLayout());
p1.setLayout(new GridLayout());
p2.setLayout(new GridLayout(1, 1));
p3.setLayout(new GridLayout(1, 2));
f1.add(p1, BorderLayout.NORTH);
f1.add(p2, BorderLayout.CENTER);
f1.add(p3, BorderLayout.SOUTH);
p1.add(t1);
p2.add(t2);
p3.add(b1);
p3.add(b2);
p3.add(b3);
t1.setEditable(false);
t2.setEditable(false);
f1.setSize(250, 480);
f1.addWindowListener(new WindowAdapter() ...{
public void windowClosing(WindowEvent e) ...{
System.exit(0);
}
});
Buttonlisten1 bl1 = new Buttonlisten1();
Buttonlisten3 bl3 = new Buttonlisten3();
b2.addMouseListener(new MouseAdapter() ...{
private Connection con;
private java.sql.Statement stmt;
private ResultSet rs;
public void mousePressed(MouseEvent e) ...{
String returnValue = "";
try ...{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;database=topwise;user=sa;password=123";
con = DriverManager.getConnection(url);
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String str = "select * from topwtable";
rs = stmt.executeQuery(str);
while (rs.next()) ...{
returnValue += rs.getInt("S_id") + " "
+ rs.getString("sname") + " "
+ rs.getInt("sphonenum") + " ";
}
t2.setText(returnValue);
} catch (Exception es) ...{
System.out.println(e.toString());
}
}
});
b1.addActionListener(bl3);
b3.addActionListener(bl1);
f1.setVisible(true);
} catch (Exception err) ...{
System.out.println("err in myframe : " + err.getMessage());
}
}
}
class Buttonlisten1 implements ActionListener ... {
public void actionPerformed(ActionEvent e) ...{
System.exit(0);
}
}
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Shit extends Down ... {
Frame f1;
Panel p1, p2, p3;
Button b1, b2, b3;
TextField t1;
public static void main(String[] args) ...{
Shit pp = new Shit();
pp.myframe();
}
void myframe() ...{
try ...{
Frame f1 = new Frame("我的通讯录");
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Button b1 = new Button("Add");
Button b2 = new Button("Layout");
Button b3 = new Button("Exit");
TextField t1 = new TextField("My Adress List!", 30);
final TextArea t2 = new TextArea();
f1.setLayout(new BorderLayout());
p1.setLayout(new GridLayout());
p2.setLayout(new GridLayout(1, 1));
p3.setLayout(new GridLayout(1, 2));
f1.add(p1, BorderLayout.NORTH);
f1.add(p2, BorderLayout.CENTER);
f1.add(p3, BorderLayout.SOUTH);
p1.add(t1);
p2.add(t2);
p3.add(b1);
p3.add(b2);
p3.add(b3);
t1.setEditable(false);
t2.setEditable(false);
f1.setSize(250, 480);
f1.addWindowListener(new WindowAdapter() ...{
public void windowClosing(WindowEvent e) ...{
System.exit(0);
}
});
Buttonlisten1 bl1 = new Buttonlisten1();
Buttonlisten3 bl3 = new Buttonlisten3();
b2.addMouseListener(new MouseAdapter() ...{
private Connection con;
private java.sql.Statement stmt;
private ResultSet rs;
public void mousePressed(MouseEvent e) ...{
String returnValue = "";
try ...{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;database=topwise;user=sa;password=123";
con = DriverManager.getConnection(url);
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String str = "select * from topwtable";
rs = stmt.executeQuery(str);
while (rs.next()) ...{
returnValue += rs.getInt("S_id") + " "
+ rs.getString("sname") + " "
+ rs.getInt("sphonenum") + " ";
}
t2.setText(returnValue);
} catch (Exception es) ...{
System.out.println(e.toString());
}
}
});
b1.addActionListener(bl3);
b3.addActionListener(bl1);
f1.setVisible(true);
} catch (Exception err) ...{
System.out.println("err in myframe : " + err.getMessage());
}
}
}
class Buttonlisten1 implements ActionListener ... {
public void actionPerformed(ActionEvent e) ...{
System.exit(0);
}
}
一个可行的button点击方法:
import
java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class Buttonlisten3 implements ActionListener ... {
public void actionPerformed(ActionEvent e) ...{
final Frame f2 = new Frame("Add names");
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Label b1 = new Label("Aame:");
Label b2 = new Label("Phone:");
Label b0 = new Label("S_ID:");
Button be = new Button("Exit");
Button insert = new Button("Insert");
final TextField t1 = new TextField();
final TextField t2 = new TextField();
final TextField t3 = new TextField();
f2.setLayout(new BorderLayout());
f2.add(p1, BorderLayout.WEST);
f2.add(p2, BorderLayout.CENTER);
f2.add(p3, BorderLayout.SOUTH);
p1.setLayout(new GridLayout(3, 1));
p2.setLayout(new GridLayout(3, 1));
p3.setLayout(new GridLayout(1, 2));
p1.add(b0);
p1.add(b1);
p1.add(b2);
p2.add(t1);
p2.add(t2);
p2.add(t3);
p3.add(insert);
p3.add(be);
be.addMouseListener(new MouseAdapter() ...{
public void mousePressed(MouseEvent e) ...{
f2.setVisible(false);
}
});
insert.addMouseListener(new MouseAdapter() ...{
private Connection con = null;
public void mousePressed(MouseEvent e) ...{
/**//* 添加! */
try ...{
Class
.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;database=topwise;user=sa;password=123";
con = DriverManager.getConnection(url);
CallableStatement statement = con
.prepareCall("{call insertuser(?,?,?)}");
String s0 = t1.getText();
statement.setString("param0", s0);
String s1 = t2.getText();
statement.setString("param1", s1);
String s2 = t3.getText();
statement.setString("param2", s2);
statement.execute();
} catch (Exception err) ...{
System.out.println(e.toString());
}
}
});
f2.setSize(250, 150);
f2.addWindowListener(new WindowAdapter() ...{
public void windowClosing(WindowEvent e) ...{
f2.setVisible(false);
}
});
f2.setVisible(true);
}
}
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class Buttonlisten3 implements ActionListener ... {
public void actionPerformed(ActionEvent e) ...{
final Frame f2 = new Frame("Add names");
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Label b1 = new Label("Aame:");
Label b2 = new Label("Phone:");
Label b0 = new Label("S_ID:");
Button be = new Button("Exit");
Button insert = new Button("Insert");
final TextField t1 = new TextField();
final TextField t2 = new TextField();
final TextField t3 = new TextField();
f2.setLayout(new BorderLayout());
f2.add(p1, BorderLayout.WEST);
f2.add(p2, BorderLayout.CENTER);
f2.add(p3, BorderLayout.SOUTH);
p1.setLayout(new GridLayout(3, 1));
p2.setLayout(new GridLayout(3, 1));
p3.setLayout(new GridLayout(1, 2));
p1.add(b0);
p1.add(b1);
p1.add(b2);
p2.add(t1);
p2.add(t2);
p2.add(t3);
p3.add(insert);
p3.add(be);
be.addMouseListener(new MouseAdapter() ...{
public void mousePressed(MouseEvent e) ...{
f2.setVisible(false);
}
});
insert.addMouseListener(new MouseAdapter() ...{
private Connection con = null;
public void mousePressed(MouseEvent e) ...{
/**//* 添加! */
try ...{
Class
.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;database=topwise;user=sa;password=123";
con = DriverManager.getConnection(url);
CallableStatement statement = con
.prepareCall("{call insertuser(?,?,?)}");
String s0 = t1.getText();
statement.setString("param0", s0);
String s1 = t2.getText();
statement.setString("param1", s1);
String s2 = t3.getText();
statement.setString("param2", s2);
statement.execute();
} catch (Exception err) ...{
System.out.println(e.toString());
}
}
});
f2.setSize(250, 150);
f2.addWindowListener(new WindowAdapter() ...{
public void windowClosing(WindowEvent e) ...{
f2.setVisible(false);
}
});
f2.setVisible(true);
}
}
获取phone的代码:
import
java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Daoconnect ... {
public static int getAdressbyName(String strName) ...{
int result = -1;
try ...{
Connection con;
java.sql.Statement stmt;
ResultSet rs;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;database=topwise;user=sa;password=123";
con = DriverManager.getConnection(url);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String str = "SELECT sphonenum FROM topwtable WHERE sname = '" + strName + "'";// 记住匹配SQL语句格式!~
//String str="SELECT phone FROM Ctable WHERE name = '"+strName+"'";
rs = stmt.executeQuery(str);
while (rs.next()) ...{
result = rs.getInt("sphonenum");
}
// System.out.println("result : " + result + " name :" + s);
} catch (Exception ev) ...{
System.out.println("the person is not here!~");
}
return result;
}
}
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Daoconnect ... {
public static int getAdressbyName(String strName) ...{
int result = -1;
try ...{
Connection con;
java.sql.Statement stmt;
ResultSet rs;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;database=topwise;user=sa;password=123";
con = DriverManager.getConnection(url);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String str = "SELECT sphonenum FROM topwtable WHERE sname = '" + strName + "'";// 记住匹配SQL语句格式!~
//String str="SELECT phone FROM Ctable WHERE name = '"+strName+"'";
rs = stmt.executeQuery(str);
while (rs.next()) ...{
result = rs.getInt("sphonenum");
}
// System.out.println("result : " + result + " name :" + s);
} catch (Exception ev) ...{
System.out.println("the person is not here!~");
}
return result;
}
}
对于数据库内表处理较少,所以在增加时电话号码不超过7位,一次弹出一个界面可以添加一条数据。。。