JAVA实验报告5数据库程序设计.docx
- 文档编号:30753170
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:15
- 大小:50.88KB
JAVA实验报告5数据库程序设计.docx
《JAVA实验报告5数据库程序设计.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告5数据库程序设计.docx(15页珍藏版)》请在冰豆网上搜索。
JAVA实验报告5数据库程序设计
JAVA实验(5)
课程名称:
Java面向对象程序设计
学院:
管理学院
专业班级:
信息管理与信息系统(6)班
学号:
3108006406
姓名:
张钟权
任课教师:
聂小东
2010年06月01日
管理学院信息管理与信息系统专业08信管6班______组学号3108006406姓名张钟权协作者教师评定_____________
实验题目数据库程序设计
一、实验目的与要求
(1)实验目的:
通过电子词典程序的设计了解如何使用JDBC连接数据库。
(2)实验要求:
按照实验指导书要求在指定窗口界面中完成第五章中电子
词典程序的编写和调试。
二、实验方案
1、系统运行主类Dic:
Main()方法:
程序入口,建立窗体类DataWindow的对象。
2、窗口主界面类DataWindow:
DataWindow()方法:
安排界面布局,设置菜单项和工具按钮;
actionPerformed()方法:
执行按钮动作事件;
Listwords()方法:
实现数据查询功能。
3、添加单词类AddWin:
AddWin()方法:
安排界面布局,设置监听按钮;
actionPerformed()方法:
执行按钮动作事件,调用添加()方法;
添加()方法:
实现添加数据功能。
4、修改单词类ModifyWin:
ModifyWin()方法:
安排界面布局,设置监听按钮;
actionPerformed()方法:
执行按钮动作事件,调用修改()方法;
删除()方法:
实现修改数据功能。
5、删除单词类DelWin:
DelWin()方法:
安排界面布局,设置监听按钮;
actionPerformed()方法:
执行按钮动作事件,调用删除()方法;
删除()方法:
实现删除数据功能。
6、使用帮助类HelpFrame
三、实验结果和数据处理
1、添加单词程序:
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
publicclassAddWinextendsJFrameimplementsActionListener{
JTextField添加汉语解释_文本条,添加英语单词_文本条;
JButtonaddbtn,cancelbtn;
ConnectionCon=null;
StatementStmt=null;
publicAddWin()
{
super("添加单词");
this.setBounds(250,250,250,200);
this.setVisible(true);
JPanelp1=newJPanel();
p1.add(newLabel("输入要添加的单词:
"));
添加英语单词_文本条=newJTextField(20);
p1.add(添加英语单词_文本条);
p1.add(newLabel("输入添加的单词的解释:
"));
添加汉语解释_文本条=newJTextField(20);
p1.add(添加汉语解释_文本条);
addbtn=newJButton("提交");
cancelbtn=newJButton("取消");
p1.add(addbtn);p1.add(cancelbtn);
this.add(p1);
addbtn.addActionListener(this);
cancelbtn.addActionListener(this);
this.validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==addbtn)
{
if(添加英语单词_文本条.getText().equals("")||
添加汉语解释_文本条.getText().equals(""))
{
JOptionPane.showMessageDialog(this,"添加的单词或解释不能为空!
","警告",
JOptionPane.WARNING_MESSAGE);
}
//判断输入框不能为空
else{
try{
添加();
}
catch(SQLExceptionee){}
}
}
elseif(e.getSource()==cancelbtn)
{
dispose();
}
}
publicvoid添加()throwsSQLException//实现添加功能
{
Stringcname,ename;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
Con=DriverManager.getConnection("jdbc:
odbc:
Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb","","");
Stmt=Con.createStatement();
ResultSetrs=Stmt.executeQuery("SELECT*FROM表1");
booleanboo=false;
while((boo=rs.next())==true)
{
ename=rs.getString("单词");
cname=rs.getString("解释");
if(ename.equals(添加英语单词_文本条.getText()))
{
JOptionPane.showMessageDialog(this,"此词汇已存在!
","警告",
JOptionPane.WARNING_MESSAGE);
break;
}
}
if(boo==false)
{
Strings1="'"+添加英语单词_文本条.getText().trim()+"'",s2="'"+添加汉语解释_文本条.getText().trim()+"'";
Stringtemp="INSERTINTO表1VALUES("+s1+","+s2+")";
Stmt.executeUpdate(temp);
JOptionPane.showMessageDialog(this,"添加成功!
","恭喜",
JOptionPane.WARNING_MESSAGE);
dispose();
}
Con.close();
}
}
2、修改单词程序:
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
classModifyWinextendsJFrameimplementsActionListener
{
JTextField修改英语单词_文本条,修改汉语解释_文本条;
JButtonmodifybtn,cancelbtn;
ConnectionCon=null;
StatementStmt=null;
ModifyWin()
{
super("修改");
this.setBounds(250,250,250,200);
this.setVisible(true);
JPanelp=newJPanel();
p.add(newLabel("输入英语单词:
"));
修改英语单词_文本条=newJTextField(20);
p.add(修改英语单词_文本条);
p.add(newLabel("输入该单词修改的汉语解释:
"));
修改汉语解释_文本条=newJTextField(20);
p.add(修改汉语解释_文本条);
modifybtn=newJButton("提交");
cancelbtn=newJButton("取消");
p.add(modifybtn);p.add(cancelbtn);
modifybtn.addActionListener(this);
cancelbtn.addActionListener(this);
this.add(p);
this.validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==modifybtn)
{
if(修改英语单词_文本条.getText().equals("")||
修改汉语解释_文本条.getText().equals(""))
{
JOptionPane.showMessageDialog(this,"修改的单词或解释不能为空!
","警告",
JOptionPane.WARNING_MESSAGE);
}
//判断输入框不能为空
else
{
try{
修改();
}
catch(SQLExceptionee){}
}
}
elseif(e.getSource()==cancelbtn)
{
dispose();
}
}
publicvoid修改()throwsSQLException//实现修改功能
{
Stringcname,ename;
try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundExceptione){}
Con=DriverManager.getConnection("jdbc:
odbc:
Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb","","");
Stmt=Con.createStatement();
ResultSetrs=Stmt.executeQuery("SELECT*FROM表1");
booleanboo=false;
while((boo=rs.next())==true)
{
ename=rs.getString("单词");
cname=rs.getString("解释");
if(ename.equals(修改英语单词_文本条.getText()))
{
Strings1="'"+修改英语单词_文本条.getText().trim()+"'",s2="'"+修改汉语解释_文本条.getText().trim()+"'";
Stringtemp="UPDATE表1SET解释="+s2+"WHERE单词="+s1;
Stmt.executeUpdate(temp);
JOptionPane.showMessageDialog(this,"记录修改成功!
","恭喜",
JOptionPane.WARNING_MESSAGE);
dispose();
break;
}
}
Con.close();
if(boo==false)
{
JOptionPane.showMessageDialog(this,"不存在此单词!
","警告",
JOptionPane.WARNING_MESSAGE);
}
}
}
3、删除单词程序:
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
classDelWinextendsJFrameimplementsActionListener{
JTextField删除单词_文本条;
JButtondelbtn,cancelbtn;
ConnectionCon=null;
StatementStmt=null;
DelWin()
{
super("删除单词");
this.setBounds(250,250,250,200);
this.setVisible(true);
JPanelp1=newJPanel();
p1.add(newLabel("输入要删除的单词:
"));
删除单词_文本条=newJTextField(20);
p1.add(删除单词_文本条);
delbtn=newJButton("删除");
cancelbtn=newJButton("取消");
p1.add(delbtn);p1.add(cancelbtn);
this.add(p1);
delbtn.addActionListener(this);
cancelbtn.addActionListener(this);
this.validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==delbtn)
{
if(删除单词_文本条.getText().equals(""))
{
JOptionPane.showMessageDialog(this,"删除的单词不能为空!
","警告",
JOptionPane.WARNING_MESSAGE);
}
//判断输入框不能为空
else
{
try{
删除();
}
catch(SQLExceptionee){}
}
}
elseif(e.getSource()==cancelbtn)
{
dispose();
}
}
publicvoid删除()throwsSQLException//实现删除功能
{
Stringcname,ename;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
Con=DriverManager.getConnection("jdbc:
odbc:
Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb","","");
Stmt=Con.createStatement();
ResultSetrs=Stmt.executeQuery("SELECT*FROM表1");
booleanboo=false;
while((boo=rs.next())==true)
{
ename=rs.getString("单词");
cname=rs.getString("解释");
if(ename.equals(删除单词_文本条.getText()))
{
Strings1="'"+删除单词_文本条.getText().trim()+"'";
Stringtemp="DELETEFROM表1WHERE单词="+s1;
Stmt.executeUpdate(temp);
JOptionPane.showMessageDialog(this,"成功删除记录!
","恭喜",
JOptionPane.WARNING_MESSAGE);
dispose();
break;
}
}
Con.close();
if(boo==false)
{
JOptionPane.showMessageDialog(this,"不存在此单词!
","警告",
JOptionPane.WARNING_MESSAGE);
}
}
}
四、结论
JDBC是java程序连接数据库的应用程序接口,其由一群类和接口组成,通过调用这些类和接口所提供的成员方法,我们可以连接各种不同的数据库,进而使用标准的SQL命令对数据库进行查找、插入、删除、更新等操作。
五、问题与讨论
本章实验是数据库程序的设计,主要完成电子词典程序的编写和调试,通过使用JDBC连接数据库,实现对数据库的访问和操作。
主要完成的任务有请求与数据库建立连接、向数据库发送SQL请求、为结果集定义储存应用和数据类型、查询结果、处理错误、控制传输提交以及关闭连接等。
实验过程中,由于缺乏对常用的JDBC类和方法的了解,导致实验的实施操作一度出现困难,后来借助实验教程,终于勉强完成了程序的调试工作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验 报告 数据库 程序设计