1、JAVA实验报告5数据库程序设计 JAVA实验(5) 课程名称: Java 面向对象程序设计 学 院: 管 理 学 院 专业班级:信息管理与信息系统(6)班 学 号: 3108006406 姓 名: 张钟权 任课教师: 聂 小 东 2010年06月01日 管 理 学院 信息管理与信息系统专业 08信管6班 _组 学号3108006406姓名张钟权 协作者 教师评定_ 实验题目 数据库程序设计 一、 实验目的与要求(1)实验目的:通过电子词典程序的设计了解如何使用JDBC连接数据库。(2)实验要求:按照实验指导书要求在指定窗口界面中完成第五章中电子 词典程序的编写和调试。二、 实验方案1、系统运
2、行主类Dic:Main()方法:程序入口,建立窗体类DataWindow的对象。2、窗口主界面类DataWindow:DataWindow()方法:安排界面布局,设置菜单项和工具按钮;actionPerformed()方法:执行按钮动作事件;Listwords()方法:实现数据查询功能。3、添加单词类AddWin:AddWin()方法:安排界面布局,设置监听按钮;actionPerformed()方法:执行按钮动作事件,调用添加()方法;添加()方法:实现添加数据功能。4、修改单词类ModifyWin:ModifyWin()方法:安排界面布局,设置监听按钮;actionPerformed()方
3、法:执行按钮动作事件,调用修改()方法;删除()方法:实现修改数据功能。5、删除单词类DelWin:DelWin()方法:安排界面布局,设置监听按钮;actionPerformed()方法:执行按钮动作事件,调用删除()方法;删除()方法:实现删除数据功能。6、使用帮助类HelpFrame三、 实验结果和数据处理1、添加单词程序:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class AddWin extends JFrame implements ActionL
4、istener JTextField 添加汉语解释_文本条,添加英语单词_文本条; JButton addbtn,cancelbtn; Connection Con=null; Statement Stmt=null; public AddWin() super(添加单词); this.setBounds(250,250,250,200); this.setVisible(true); JPanel p1=new JPanel(); p1.add(new Label(输入要添加的单词:); 添加英语单词_文本条=new JTextField(20); p1.add(添加英语单词_文本条); p
5、1.add(new Label(输入添加的单词的解释:); 添加汉语解释_文本条=new JTextField(20); p1.add(添加汉语解释_文本条); addbtn = new JButton(提交); cancelbtn = new JButton(取消); p1.add(addbtn); p1.add(cancelbtn); this.add(p1); addbtn.addActionListener(this); cancelbtn.addActionListener(this); this.validate(); public void actionPerformed(Act
6、ionEvent e) if(e.getSource()=addbtn) if(添加英语单词_文本条.getText().equals()| 添加汉语解释_文本条.getText().equals() JOptionPane.showMessageDialog(this,添加的单词或解释不能为空!,警告, JOptionPane.WARNING_MESSAGE); / 判断输入框不能为空 else try 添加(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); public void 添加() throw
7、s SQLException /实现添加功能 String cname,ename; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) Con = DriverManager.getConnection(jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=englishenglish.mdb,); Stmt=Con.createStatement(); ResultSet rs=Stmt.executeQuery(SELECT *
8、 FROM 表1); boolean boo=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) String s1=+添加英语单词_文本条.getText().trim()+,s2=+添加汉语解释_文本条.getTex
9、t().trim()+; String temp=INSERT INTO 表1 VALUES (+s1+,+s2+); Stmt.executeUpdate(temp); JOptionPane.showMessageDialog(this,添加成功!,恭喜, JOptionPane.WARNING_MESSAGE); dispose(); Con.close(); 2、修改单词程序:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;class ModifyWin extends J
10、Frame implements ActionListener JTextField 修改英语单词_文本条,修改汉语解释_文本条; JButton modifybtn,cancelbtn; Connection Con=null; Statement Stmt=null; ModifyWin() super(修改); this.setBounds(250,250,250,200); this.setVisible(true); JPanel p=new JPanel(); p.add(new Label(输入英语单词:); 修改英语单词_文本条=new JTextField(20); p.ad
11、d(修改英语单词_文本条); p.add(new Label(输入该单词修改的汉语解释:); 修改汉语解释_文本条=new JTextField(20); p.add(修改汉语解释_文本条); modifybtn=new JButton(提交); cancelbtn = new JButton(取消); p.add(modifybtn);p.add(cancelbtn); modifybtn.addActionListener(this); cancelbtn.addActionListener(this); this.add(p); this.validate(); public void
12、actionPerformed(ActionEvent e) if(e.getSource()=modifybtn) if(修改英语单词_文本条.getText().equals()| 修改汉语解释_文本条.getText().equals() JOptionPane.showMessageDialog(this,修改的单词或解释不能为空!,警告, JOptionPane.WARNING_MESSAGE); / 判断输入框不能为空 else try 修改(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose();
13、public void 修改() throws SQLException /实现修改功能 String cname,ename; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) Con = DriverManager.getConnection(jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=englishenglish.mdb,); Stmt=Con.createStatement(); ResultSet rs=Stmt
14、.executeQuery(SELECT * FROM 表1); boolean boo=false; while(boo=rs.next()=true) ename=rs.getString(单词); cname=rs.getString(解释); if(ename.equals(修改英语单词_文本条.getText() String s1=+修改英语单词_文本条.getText().trim()+,s2=+修改汉语解释_文本条.getText().trim()+; String temp=UPDATE 表1 SET 解释=+s2+ WHERE 单词 = +s1; Stmt.executeU
15、pdate(temp); JOptionPane.showMessageDialog(this,记录修改成功!,恭喜, JOptionPane.WARNING_MESSAGE); dispose(); break; Con.close(); if(boo=false) JOptionPane.showMessageDialog(this,不存在此单词!,警告, JOptionPane.WARNING_MESSAGE); 3、删除单词程序:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.
16、*;class DelWin extends JFrame implements ActionListener JTextField 删除单词_文本条; JButton delbtn,cancelbtn; Connection Con = null; Statement Stmt = null; DelWin() super(删除单词); this.setBounds(250,250,250,200); this.setVisible(true); JPanel p1 = new JPanel(); p1.add(new Label(输入要删除的单词:); 删除单词_文本条 = new JTe
17、xtField(20); p1.add(删除单词_文本条); delbtn = new JButton(删除); cancelbtn = new JButton(取消); p1.add(delbtn);p1.add(cancelbtn); this.add(p1); delbtn.addActionListener(this); cancelbtn.addActionListener(this); this.validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=delbtn) if(删除单词_文本条.ge
18、tText().equals() JOptionPane.showMessageDialog(this,删除的单词不能为空!,警告, JOptionPane.WARNING_MESSAGE); / 判断输入框不能为空 else try 删除(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); public void 删除() throws SQLException /实现删除功能 String cname,ename; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriv
19、er); catch(ClassNotFoundException e) Con = DriverManager.getConnection(jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=englishenglish.mdb,); Stmt=Con.createStatement(); ResultSet rs=Stmt.executeQuery(SELECT * FROM 表1); boolean boo=false; while(boo=rs.next()=true) ename=rs.getString(单词); cname=r
20、s.getString(解释); if(ename.equals(删除单词_文本条.getText() String s1=+删除单词_文本条.getText().trim()+; String temp=DELETE FROM 表1 WHERE 单词=+s1; Stmt.executeUpdate(temp); JOptionPane.showMessageDialog(this,成功删除记录!,恭喜, JOptionPane.WARNING_MESSAGE); dispose(); break; Con.close(); if(boo=false) JOptionPane.showMess
21、ageDialog(this,不存在此单词!,警告, JOptionPane.WARNING_MESSAGE); 四、 结论JDBC是java程序连接数据库的应用程序接口,其由一群类和接口组成,通过调用这些类和接口所提供的成员方法,我们可以连接各种不同的数据库,进而使用标准的SQL命令对数据库进行查找、插入、删除、更新等操作。五、 问题与讨论 本章实验是数据库程序的设计,主要完成电子词典程序的编写和调试,通过使用JDBC连接数据库,实现对数据库的访问和操作。主要完成的任务有请求与数据库建立连接、向数据库发送SQL请求、为结果集定义储存应用和数据类型、查询结果、处理错误、控制传输提交以及关闭连接等。实验过程中,由于缺乏对常用的JDBC类和方法的了解,导致实验的实施操作一度出现困难,后来借助实验教程,终于勉强完成了程序的调试工作。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2