java课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
(论文)-电话薄
摘 要
系统主要功能包括:实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。。消息对话框负责显示消息,调用其静态
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
显示警告信息。要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。添加姓名,手机号码,家
办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界庭电话,
面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。实现了满足用户需求的多样化。对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。实现了满足用户需求的多样化。
本论文内容主要是运用软件
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
的知识,先进行系统需求分析,之后是系统概要设计,详细设计,并且详细介绍了各个功能模块的具体实现和数据库的设计。
关键字:Java语言,SQLSERVER2000,JVM,添加,删除,查询和排序
目 录
第一章 系统开发环境 ....................................................... 1 1.1 开发工具 .............................................................. 1 1.2应用环境 .............................................................. 2 第二章 系统需求分析 ....................................................... 3 2.1需求分析 .............................................................. 3 2.2可行性分析 ............................................................ 3 第三章 系统概要设计 ....................................................... 4 3.1设计目标 .............................................................. 4 3.2数据文件设计 .......................................................... 4 3.3系统权限划分 .......................................................... 4 3.4系统功能模块 .......................................................... 4 第四章 系统详细设计 ....................................................... 6 4.1 数据文件的建立 ........................................................ 6 4.2对数据文件的访问 ...................................................... 6 4.3程序设计 .............................................................. 6 4.4
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图 ................................................................ 7 4.5各功能界面截图 ........................................................ 7 第五章 系统测试 .......................................................... 11 5.1测试的意义 ........................................................... 11 5.2联合测试 ............................................................. 11 5.3测试内容 ............................................................. 11
5.4测试结果 ............................................................. 11第六章 系统的维护和发展 .................................................. 12 参考文献 ................................................................. 30
第一章 系统开发环境
1.1 开发工具
1 Java语言的发展
Java语言的第一次出现时在1995。Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。Java 应用编程接口为Java应用提供了一个独立于操作系统的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各
Java分为三个体系JavaSE,JavaEE,JavaME。 种系统中运行。
2 Java语言的特色
, Java语言是简单的。Java没有算符过载、标题文件、预处理、指针运算、结构、
联合、多维数组、模板及隐式类型变换。如果你知道一点C、C 或Pascal,你很快
就会驾驭Java。
, Java语言面向对象的 。正如任何面向对象的语言一样,Java代码也按类组织。每
个类定义一组规定对象行为的方法。一个类可以继承另一个类的行为。在类的根层
次上,通常是类对象。
, Java语言是体系结构中立的 。Java语言对每种计算机都一样。比如,简单的类型
都是不变的:整数总是32位,长整数总是64位。
3 Java语言的主要特性
, 在Java的情况下,编程人员不必为内存管理操心。Java系统有一个叫做“无用单
元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。 , Java程序没有指针,而且象这样的字节代码程序强在类型上,所以在执行之前它可
能验证Java程序。被验证的Java程序得以保证不突破Java语言的任何限制,而
且可以安全地执行。Java字节代码验证被Web浏览器用来确保小程序不含病毒。 , Java比典型的脚本语言大为有效,但它比C慢20倍。这对大多数应用是可接受的。
1
1.2应用环境
硬件环境
CPU主频在500MHZ以上,内存在128M以上 运行环境
os(系统):windows xp(32bit_sp2)或unix
environment(编程环境):J2SE
数据库:Sqlserser2000
2
第二章 系统需求分析
2.1需求分析
系统主要功能包括:实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。。消息对话框负责显示消息,调用其静态方法显示警告信息。要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。添加姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。实现了满足用户需求的多样化。对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。实现了满足用户需求的多样化。
2.2可行性分析
, 技术可行性
根据系统功能、性能及实现系统的各项约束条件,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。
, 经济可行性
估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。
, 运行可行性
新系统的研制和开发是充分得考虑用户对系统的易于管理,管理者方便查询设备信息效率。从而能完全满足使用者的要求。
3
第三章 系统概要设计
3.1设计目标
手机的信息管理无外乎添加联系人的姓名和手机号码,家庭电话号码和办公号码,删除相对应的信息,对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询,模糊查询和精确查询。
3.2数据文件设计
经过对系统的具体分析,为满足系统的需要,设计如下的数据信息: , 为了统一处理数据,需要设计数据库文件,新建一个表用来存储数据,处理JSP页
面提交的各种对数据库的操作。
, 利用sqlserver2000建立一个数据库,在此数据库下建立一个diaoyou1的表,设立
一个主键是必须的,姓名,手机号码,家庭电话,办公电话,设置各字段的数据类
型。
3.3系统权限划分
本系统只要使用者通过启动程序就可以使用,无需身份验证。
3.4系统功能模块
该系统共有五个主要模块:
1、添加号码
2、修改信息
3、查询信息,按整体查询
4、查询信息,按模糊查询
5、查询信息,按姓名查询
4
管理
号码添加号码修改精确查询整体查询模糊查询关于
图3-1系统功能模块图
Add.jspDelete.jspSort.jspKeyword.jsp
KeyWordQueAddbEANDeleteBeanOrderQueryry
QueryBean
图3-2系统功能模块图
5
第四章 系统详细设计
4.1 数据文件的建立
4-1 数据文件表的规定
姓名 字符串
手机号码 字符串
家庭电话 字符串
办公电话 字符串
4.2对数据文件的访问
建立一个sqlserver的数据库,数据库名字为student。在这个数据库里面新建一个名为car的表,数据源名称为sun,首先建立jdbc-odbc之间的桥接,再建立odbc与数据源之间的连接。JavaBean生成的字节码文件建立Bean对象,JSP提交的数据经过Bean对象中的SQL的语句,传送至数据库中,从而产生对数据库的操作。每一个功能对应着一个JavaBean模块。实现了一个对数据库的操作。
4.3程序设计
实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。。消息对话框负责显示消息,调用其静态方法显示警告信息。要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。添加姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。实现了满足用户需求的多样化。对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。实现了满足用户需求的多样化。
6
4.4 流程图
开始
ActionEvent
e
修改添加精确模糊整体 号码查询查询号码查询
添加的修改的查询的模糊SQL语句内容内容内容查询内容
发送添加发送修改发送查询发送
SQL语句SQL语句SQL语句SQL语句
电话
信息
结果
结果显示
结束
图4-4-1系统流程图
4.5各功能界面截图
运行JAVA程序中的manager文件,显示系统的主界面,如图三所示,主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。
7
图1系统主界面
添加号码功能如图2所示,根据提示输入要添加的信息,点击确定,将弹出提示框,确认是否添加。
8
图2添加信息时的界面
图3修改信息时的界面
修改号码功能如图3所示,首先输入要修改的人姓名点击开始修改在下面的文本框现实当前数据库内所存该人的信息,同时录入修改键变化为可点击在文本框内输入要修改的号码,点击录入修改系统将新信息录如数据库点击精确查询按钮将弹出查询对话框。
图 4精确查询时的界面
9
图 5 整体查询界面
图 6 模糊查询界面
整体查询如5所示将显示数据库中所存的所有号码信息。模糊查询如图6所示,在文本框中填写姓名的一个字便可查询所有姓名中含有这个字的电话信息并显示在文本域内。
10
第五章 系统测试
5.1测试的意义
系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。
5.2联合测试
为了提高测试工作的质量,在测试过程中,注意了以下几点:
1.测试工作由程序员之外的其他人员来进行,这样会获得更好的测试效果。
2.不仅要选择合理的输入数据作为测试用例,还要选用不合理的输入数据作为测试用例。
3.除了检查程序是否做了应该做的工作之外,还检查程序是否做了它不因该做的事情。
5.3测试内容
1.软件的正常运行、关闭及退出时保存记录的提示,默认为是,。
2.登录界面友好,可操作性及安全性能较好,能对不同管理级别者进行限制,以保证数据库的安全。
3.数据文件的可维护性好,数据的录入、删除及更改均能顺利完成,并能实现动态更新。
4.数据查询便捷,能对各种不同的查询条件进行搜索,以找到最合适的答案。
5.溢出、越界均能进行非法提示,以警告用户正确使用。对用户的非正常操作方式也提出警告。
6.类型填写错误时,系统能够报错。
7.对操作系统的兼容性良好,可移植性完好。
5.4测试结果
系统的测试采用黑盒测试的方法,经过反复测试,系统完成后运行添加、修改、查询、报表等功能均正常。
11
第六章 系统的维护和发展
根据系统目的确定突出什么内容,以及充实和更新内容的技术手段和形式。
1、坚持自己的特色。
2、集中最多的信息。在自己的领域里,一定要最大限度地集中所有相关信息,采用各种办法搜集和展示系统丰富的内容。
3、保持技术的先进。只要条件允许,一定要有技术力量对系统进行技术改造和提高。
4、掌握用户的需求。用户需求是放在第一位考虑的问题。其中,参与是用户最重要的需求。系统是否满足用户的需求,其参与程度是一个主要标志。
12
附 录
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class find extends JDialog implements ActionListener{
JTextField 姓名,手机号码,家庭电话,办公电话;
JButton 查询,删除;
public find(JFrame f){
super(f,"查询对话框",false);
姓名=new JTextField(15);
查询=new JButton("查询");
删除=new JButton("删除");
查询.addActionListener(this);
删除.addActionListener(this);
姓名=new JTextField(15);
手机号码=new JTextField(15);
手机号码.setEditable(false);
家庭电话=new JTextField(15);
家庭电话.setEditable(false);
办公电话=new JTextField(15);
办公电话.setEditable(false);
Box box1=Box.createHorizontalBox();
box1.add(new JLabel("输入要查询的姓名:",JLabel.CENTER));
box1.add(姓名);
box1.add(查询);
Box box3=Box.createHorizontalBox();
box3.add(new JLabel("手机号码:",JLabel.CENTER));
box3.add(手机号码);
Box box4=Box.createHorizontalBox();
box4.add(new JLabel("家庭电话:",JLabel.CENTER));
box4.add(家庭电话);
Box box5=Box.createHorizontalBox();
13
box5.add(new JLabel("办公电话:",JLabel.CENTER));
box5.add(办公电话);
Box box6=Box.createHorizontalBox();
box6.add(删除);
Box boxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(Box.createVerticalGlue());
JPanel pCenter=new JPanel();
pCenter.add(boxH);
Container con=getContentPane();
con.add(pCenter,BorderLayout.CENTER);
con.validate();
setVisible(false);
setBounds(100,200,360,270);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{
setVisible(false);
}
});
}
public void actionPerformed(ActionEvent e)
{
String name="";
String url="jdbc:odbc:Database";
String s1="";
String s2="";
String s3="";
String s4="";
if(e.getSource()==查询)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
14
}catch(java.lang.ClassNotFoundException eee){}
name=姓名.getText();
String sql="select * from data where 姓名='"+name+"'";
if(name!=""){
try{
Connection con=DriverManager.getConnection(url,"",null);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
s1=rs.getString("姓名");
s2=rs.getString("手机号码");
s3=rs.getString("家庭电话");
s4=rs.getString("办公电话");
}
stmt.close();
con.close();
}catch(SQLException
ex){System.out.println(ex.getMessage());}
if(s1!=null){
姓名.setText(s1);
手机号码.setText(s2);
家庭电话.setText(s3);
办公电话.setText(s4);
}
}
}
if(e.getSource()==删除) {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException eee){}
name=姓名.getText();
String sql="delete from number where 姓名='"+name+"'";
try{
Connection con=DriverManager.getConnection(url,"",null);
Statement stmt=con.createStatement();
15
stmt.executeUpdate(sql);
stmt.close();
con.close();
}catch(SQLException
eex){System.out.println(eex.getMessage());}
姓名.setText(null);
手机号码.setText(null);
家庭电话.setText(null);
办公电话.setText(null);
}
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.Hashtable;
public class manager extends JFrame implements ActionListener{
tianjia 号码添加=null;
update 号码修改=null;
find 精确查询=null;
ztcx 整体查询=null;
mhcx 模糊查询=null;
about 关于=null;
JButton 添加,修改,精确查询1,整体查询1,模糊查询1,bbbb;
Container con=null;
CardLayout card=null;
JLabel label=null;
JPanel pCenter;
JPanel aa,bb;
public manager(){
JPanel aa=new JPanel();
JPanel bb=new JPanel();
aa.setLayout(new FlowLayout(FlowLayout.LEFT,10,10));
16
添加=new JButton("添加号码");
修改=new JButton("修改号码");
精确查询1=new JButton("精确查询");
整体查询1=new JButton("整体查询");
模糊查询1=new JButton("模糊查询");
bbbb=new JButton("关于");
aa.add(添加);
aa.add(修改);
aa.add(精确查询1);
aa.add(整体查询1);
aa.add(模糊查询1);
bb.add(bbbb);
label=new JLabel("欢迎使用电话号码管理系统",JLabel.CENTER);
label.setFont(new Font("TimesRoman",Font.BOLD,24));
label.setForeground(Color.red);
添加.addActionListener(this);
修改.addActionListener(this);
精确查询1.addActionListener(this);
整体查询1.addActionListener(this);
模糊查询1.addActionListener(this);
bbbb.addActionListener(this);
card=new CardLayout();
con=getContentPane();
pCenter=new JPanel();
pCenter.setLayout(card);
号码添加=new tianjia();
号码修改=new update();
精确查询=new find(this);
整体查询=new ztcx();
模糊查询=new mhcx();
关于=new about(this);
pCenter.add("欢迎语界面",label);
pCenter.add("录入界面",号码添加);
pCenter.add("修改界面",号码修改);
pCenter.add("整体查询界面",整体查询);
pCenter.add("模糊查询界面",模糊查询);
con.add(aa,BorderLayout.NORTH);
con.add(bb,BorderLayout.SOUTH);
17
con.add(pCenter,BorderLayout.CENTER);
con.validate();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,520,380);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==添加)
{
card.show(pCenter,"录入界面");
}
else if(e.getSource()==修改)
{
card.show(pCenter,"修改界面");
}
else if(e.getSource()==精确查询1)
{
精确查询.setVisible(true);
}
else if(e.getSource()==整体查询1)
{
card.show(pCenter,"整体查询界面");
}
else if(e.getSource()==模糊查询1)
{
card.show(pCenter,"模糊查询界面");
}
else if(e.getSource()==bbbb){
关于.setVisible(true);
}
}
public static void main(String args[])
18
{
new manager();
}
}
import java.sql.*;
import java.awt.*;
import java.awt.event.*; import javax.swing.*; import java.io.*;
import java.util.*;
public class mhcx extends JPanel implements ActionListener{
JTextArea ruslt;
JTextField tj;
JButton 查询;
String name;
String sql="";
JLabel p;
public mhcx(){
ruslt=new JTextArea(10,28);
ruslt.setEditable(false);
查询=new JButton("查询");
tj=new JTextField(5);
p=new JLabel("请输入条件:");
Box box2=Box.createHorizontalBox();
box2.add(p);
box2.add(tj);
box2.add(查询);
Box box3=Box.createHorizontalBox();
box3.add(ruslt);
Box boxH=Box.createVerticalBox();
boxH.add(box2);
boxH.add(box3);
查询.addActionListener(this);
19
JPanel pCenter=new JPanel();
pCenter.add(boxH);
setLayout(new BorderLayout());
add(pCenter,BorderLayout.CENTER);
validate();
}
public void actionPerformed(ActionEvent e){
String url="jdbc:odbc:Database";
String s1="";
String s2="";
String s3="";
String s4="";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException eee){}
if(e.getSource()==查询){
try{
Connection con=DriverManager.getConnection(url,"",null);
Statement stmt=con.createStatement();
name=tj.getText();
sql="select * from data where 姓名 like '%"+name+"%'";
ResultSet rs=stmt.executeQuery(sql);
ruslt.setText("姓 名 手机号码 家庭电话
办公电话\n");
if(!rs.next())
ruslt.setText("无记录");
else
{
do{
s1=rs.getString("姓名");
s2=rs.getString("手机号码");
s3=rs.getString("家庭电话");
s4=rs.getString("办公电话");
ruslt.append(s1);
ruslt.append(s2);
ruslt.append(s3);
ruslt.append(s4+"\n");
20
}while(rs.next());
}
stmt.close();
con.close();
}catch(SQLException ex){System.out.println(ex.getMessage());}
}
}
}
import java.sql.*;
import java.awt.*;
import java.awt.event.*; import javax.swing.*;
import java.io.*;
import java.util.*;
public class tianjia extends JPanel implements ActionListener{
JTextField 姓名,手机号码,家庭电话,办公电话;
JButton 确定,重置;
public tianjia(){
姓名=new JTextField(15);
手机号码=new JTextField(15);
家庭电话=new JTextField(15);
办公电话=new JTextField(15);
确定=new JButton("确定");
重置=new JButton("重置");
确定.addActionListener(this);
重置.addActionListener(this);
21
Box box1=Box.createHorizontalBox();
box1.add(new JLabel("姓 名:",JLabel.CENTER));
box1.add(姓名);
Box box2=Box.createHorizontalBox();
box2.add(new JLabel("手机号码:",JLabel.CENTER));
box2.add(手机号码);
Box box3=Box.createHorizontalBox();
box3.add(new JLabel("家庭电话:",JLabel.CENTER));
box3.add(家庭电话);
Box box4=Box.createHorizontalBox();
box4.add(new JLabel("办公电话:",JLabel.CENTER));
box4.add(办公电话);
Box boxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(Box.createVerticalGlue());
JPanel pCenter=new JPanel();
pCenter.add(boxH);
setLayout(new BorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanel pSouth=new JPanel();
pSouth.add(确定);
pSouth.add(重置);
add(pSouth,BorderLayout.SOUTH);
validate();
}
public void actionPerformed(ActionEvent e){
String name="";
String url="jdbc:odbc:Database";
String s1="";
String s2="";
String s3="";
String s4="";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException eee){}
22
s1=姓名.getText();
s2=手机号码.getText();
s3=家庭电话.getText();
s4=办公电话.getText();
String sql="insert into data values(?,?,?,?)";
if(e.getSource()==确定){
if(s1==""){String warning="必须输入姓名!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
else{
String m="添加此人电话!";
int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
try{
Connection
con=DriverManager.getConnection(url,"",null);
Statement stmt=con.createStatement();
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,s1);
ps.setString(2,s2);
ps.setString(3,s3);
ps.setString(4,s4);
ps.executeUpdate();
stmt.close();
con.close();}catch(SQLException ex){System.out.println(ex.getMessage());}
}
}
姓名.setText(null);
手机号码.setText(null);
家庭电话.setText(null);
23
办公电话.setText(null);
}
if(e.getSource()==重置)
{
姓名.setText(null);
手机号码.setText(null);
家庭电话.setText(null);
办公电话.setText(null);
}
}
/*public void textValueChanged(TextEvent e){
if(e.getSource()==手机号码||e.getSource()==家庭电话||e.getSource()==办公电话){
String s=手机号码.getText();
for(int i=0;i
'9'){
String warning="号码只能为数字!";
JOptionPane.showMessageDialog(this,warning,"警告
",JOptionPane.WARNING_MESSAGE);
}
}*/
}
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class update extends JPanel implements ActionListener{
JTextField 姓名,手机号码,家庭电话,办公电话;
JButton 开始修改,录入修改,重置;
public update(){
24
姓名=new JTextField(15);
手机号码=new JTextField(15);
家庭电话=new JTextField(15);
办公电话=new JTextField(15);
开始修改=new JButton("开始修改");
录入修改=new JButton("录入修改");
录入修改.setEnabled(false);
重置=new JButton("重置");
姓名.addActionListener(this);
开始修改.addActionListener(this);
录入修改.addActionListener(this);
重置.addActionListener(this);
Box box1=Box.createHorizontalBox();
box1.add(new JLabel("输入要修改信息的姓名:",JLabel.CENTER));
box1.add(姓名);
box1.add(开始修改);
Box box3=Box.createHorizontalBox();
box3.add(new JLabel("(新)手机号码:",JLabel.CENTER));
box3.add(手机号码);
Box box4=Box.createHorizontalBox();
box4.add(new JLabel("(新)家庭电话:",JLabel.CENTER));
box4.add(家庭电话);
Box box5=Box.createHorizontalBox();
box5.add(new JLabel("(新)办公电话:",JLabel.CENTER));
box5.add(办公电话);
Box boxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(Box.createVerticalGlue());
JPanel pCenter=new JPanel();
pCenter.add(boxH);
setLayout(new BorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanel pSouth=new JPanel();
pSouth.add(录入修改);
pSouth.add(重置);
add(pSouth,BorderLayout.SOUTH);
25
validate();
}
public void actionPerformed(ActionEvent e){
String name="";
String s1="";
String s2="";
String s3="";
String s4="";
String url="jdbc:odbc:Database";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException eee){}
if(e.getSource()==开始修改){
name=姓名.getText();
String sql="select * from data where 姓名='"+name+"'";
try{
Connection con=DriverManager.getConnection(ur1);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
s1=rs.getString("姓名");
s2=rs.getString("手机号码");
s3=rs.getString("家庭电话");
s4=rs.getString("办公电话");
}
stmt.close();
con.close();
}catch(SQLException
ex){System.out.println(ex.getMessage());}
if(s1!=null){
录入修改.setEnabled(true);
手机号码.setText(s2);
家庭电话.setText(s3);
办公电话.setText(s4);
26
}
}
if(e.getSource()==录入修改){
name=姓名.getText();
s2=手机号码.getText();
s3=家庭电话.getText();
s4=办公电话.getText();
String sql2="update number set 手机号码='"+s2+"'"+" where 姓名='"+name+"'";
String sql3="update number set 家庭电话='"+s3+"'"+" where 姓名='"+name+"'";
String sql4="update number set 办公电话='"+s4+"'"+" where 姓名='"+name+"'";
try{
Connection con=DriverManager.getConnection(url,"",null);
Statement stmt=con.createStatement();
stmt.executeUpdate(sql2);
stmt.executeUpdate(sql3);
stmt.executeUpdate(sql4);
stmt.close();
con.close();
}catch(SQLException
exx){System.out.println(exx.getMessage());}
}
if(e.getSource()==重置)
{
姓名.setText(null);
手机号码.setText(null);
家庭电话.setText(null);
办公电话.setText(null);
}
}
}
27
import java.sql.*;
import java.awt.*;
import java.awt.event.*; import javax.swing.*;
import java.io.*;
import java.util.*;
public class ztcx extends JPanel implements ActionListener{
JTextArea ruslt;
JButton 查询;
String name;
String sql="";
public ztcx(){
ruslt=new JTextArea(10,28);
ruslt.setEditable(false);
查询=new JButton("查询");
Box box2=Box.createHorizontalBox();
box2.add(查询);
Box box3=Box.createHorizontalBox();
box3.add(ruslt);
Box boxH=Box.createVerticalBox();
boxH.add(box2);
boxH.add(box3);
查询.addActionListener(this);
JPanel pCenter=new JPanel();
pCenter.add(boxH);
setLayout(new BorderLayout());
add(pCenter,BorderLayout.CENTER);
validate();
}
public void actionPerformed(ActionEvent e){
String url="jdbc:odbc:Database";
String s1="";
String s2="";
String s3="";
String s4="";
try{
28
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException eee){}
if(e.getSource()==查询){
try{
Connection con=DriverManager.getConnection(url,"",null);
Statement stmt=con.createStatement();
sql="select * from data";
ResultSet rs=stmt.executeQuery(sql);
ruslt.setText("姓 名 手机号码 家庭电话
办公电话\n");
if(!rs.next())
ruslt.setText("无记录");
else
{
do{
s1=rs.getString("姓名");
s2=rs.getString("手机号码");
s3=rs.getString("家庭电话");
s4=rs.getString("办公电话");
ruslt.append(s1);
ruslt.append(s2);
ruslt.append(s3);
ruslt.append(s4+"\n");
}while(rs.next());
}
stmt.close();
con.close();
}catch(SQLException
ex){System.out.println(ex.getMessage());}
}
}
}
29
参考文献
(1)黄明等. Java语言程序设计辅导教材.大连理工大学出版社,2006 (2)萨师煊 王珊(数据库系统概论[M](北京:高等教育出版社,2000年2月第三版 (3)耿祥义 JSP课程设计.清华大学出版社,2005年2月第三版
30