面向对象程序设计基于图形界面的JDBC程序开发.doc

上传人:精*** 文档编号:1129422 上传时间:2024-09-05 格式:DOC 页数:34 大小:1.67MB
下载 相关 举报
面向对象程序设计基于图形界面的JDBC程序开发.doc_第1页
第1页 / 共34页
面向对象程序设计基于图形界面的JDBC程序开发.doc_第2页
第2页 / 共34页
面向对象程序设计基于图形界面的JDBC程序开发.doc_第3页
第3页 / 共34页
面向对象程序设计基于图形界面的JDBC程序开发.doc_第4页
第4页 / 共34页
面向对象程序设计基于图形界面的JDBC程序开发.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、计算机工程学院实验报告书课程名 面向对象程序设计 题 目: 基于图形界面的JDBC程序开发 姓 名: 班 级: 学 号: 评语:成绩: 指导教师: 批阅时间: 年 月 日 面向对象程序设计实验报告 - 33 -实验1 实验目的和要求(1)理解JDBC的工作原理,熟悉java.sql包中与数据库访问相关的类及其用法,如DriverManager、 Connection、Statement、ResultSet。(2)熟悉利用JDBC进行数据库访问的步骤: 加载JDBC驱动程序(Class.forName() 建立数据库连接(DriverManager.getConnection() 发布命令(st

2、mt=Con.createStatement(),stmt.executeQuery() 取结果集并处理(ResultSet的next()方法和.get()方法) 关闭连接,释放对象(close())(3)掌握建立ODBC数据源的方法,会使用JDBC-ODBC Bridge进行数据库访问。实验环境 Eclipse实验学时 两个学时实验内容和步骤(一)实验内容: 编写图形界面程序,利用JDBC实现图书同学通讯录校园卡团员教师学生管理系统。 (任选1题,也可自拟题目,但需指导教师同意!)(二)实验要求:(1)进行规范的数据库设计,正确地定义关系数据表的结构及表间联系(包括:字段的数据类型、宽 度、

3、精度、主键、外键、缺省值)。 (2)要求界面布局紧凑、流畅、美观,实现的功能较为完善 (3)本实验分两次完成,第一次可以先做一些准备测试,旨在熟悉编程接口中相关类的使用方法,测试中可以先基于字符界面实现功能,再逐步过渡到图形界面。(三)实验步骤:(1)在Access或SQL Server中建立数据库及基础表。在控制面板中正确配置数据源,并测试成功。 (2)编写图形界面的Application,利用JDBC-ODBC Bridge进行数据库访问,实现要求的功能。测试结果(一) 源程序 import java.sql.*;import java.awt.*;import javax.swing.*

4、;import java.awt.event.*;public class jdbc_win public static void main(String args) jdbctest jbts = new jdbctest();class jdbctest extends JFrame implements ActionListener JMenuBar menubar;JMenu m1, m2, m3, m4;JMenuItem i1, i2, i3, i4;JPanel p;jdbctest()ImageIcon icon = new ImageIcon(bin/团徽副本.gif );

5、/* 更改左上角图标 */Image image = icon.getImage();this.setIconImage(image);final ImageIcon imageIcon = new ImageIcon(F:我的图片Java 用图共青团.JPG); / 图片路径p = new JPanel() Image image1 = imageIcon.getImage();Image grayImage = GrayFilter.createDisabledImage(image1);setOpaque(false);public void paint(Graphics g) g.dr

6、awImage(imageIcon.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);super.paint(g);Container content = this.getContentPane();content.add(p, BorderLayout.CENTER);/ 把相应的图片设置成背景。menubar = new JMenuBar();m1 = new JMenu(查询);m2 = new JMenu(添加);m3 = new JMenu(修改);m4 = new JMenu(删除);i1 = new JMenuI

7、tem(consult);i2 = new JMenuItem(add);i3 = new JMenuItem(amend);i4 = new JMenuItem(delete);m1.add(i1);m2.add(i2);m3.add(i3);m4.add(i4);menubar.add(m1);menubar.add(m2);menubar.add(m3);menubar.add(m4);setJMenuBar(menubar);i1.addActionListener(this);i2.addActionListener(this);i3.addActionListener(this);

8、i4.addActionListener(this);setTitle(团员信息管理系统);setBounds(100, 100, 400, 400);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); / 设置关闭窗口public void actionPerformed(ActionEvent e) if (e.getSource() = i1) new consult(); else if (e.getSource() = i2) new add(); else if (e.getSource() = i3)

9、new amend(); else if (e.getSource() = i4) new delete();class consult extends JFrame implements ActionListener JPanel p;ScrollPane p1, p2, p3;JButton b1, b2, b3;JTextArea ta, ta1, ta2;ImageIcon image1, image2, image3;Connection con;Statement sql;ResultSet rs;consult() ImageIcon icon = new ImageIcon(b

10、in/团徽副本.gif ); /* 更改左上角图标 */Image image = icon.getImage();this.setIconImage(image);image1 = new ImageIcon(F:我的图片Java 用图藏笑.gif);image2 = new ImageIcon(F:我的图片Java 用图眼镜仔.gif);image3 = new ImageIcon(F:我的图片Java 用图看低你.gif);p = new JPanel();p1 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);p2 = new ScrollP

11、ane(ScrollPane.SCROLLBARS_ALWAYS);p3 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);b1 = new JButton(总信息);b2 = new JButton(按姓名);b3 = new JButton(按学号);b1.setIcon(image1);b2.setIcon(image2);b3.setIcon(image3);ta = new JTextArea(10, 50);ta1 = new JTextArea(5, 50);ta2 = new JTextArea(5, 50);p.setLayout(

12、null);p1.setBounds(250, 50, 500, 200);p2.setBounds(250, 290, 500, 100);p3.setBounds(250, 430, 500, 100);p.setBounds(0, 0, 800, 300);b1.setBounds(50, 50, 180, 100);b2.setBounds(50, 290, 180, 100);b3.setBounds(50, 430, 180, 100);/ ta.setBackground(Color.pink);p.add(b1);p.add(b2);p.add(b3);p1.add(ta);p

13、2.add(ta1);p3.add(ta2);p.add(p1);p.add(p2);p.add(p3);add(p);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);p.setBackground(Color.cyan);setTitle(查询团员的相关信息);setBounds(100, 100, 800, 600);setVisible(true);setDefaultCloseOperation(DISPOSE_ON_CLOSE);/ 设置关闭当前窗口public void

14、 actionPerformed(ActionEvent e) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e0) System.out.println(e0);if (e.getSource() = b1) ta.setText();try con = DriverManager.getConnection(jdbc:odbc:tuanyuan, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Resul

15、tSet.CONCUR_READ_ONLY);rs = sql.executeQuery(SELECT * FROM tuanyuanxinxi);while (rs.next() String name = rs.getString(姓名);String sclass = rs.getString(班级);String number = rs.getString(学号);String sex = rs.getString(性别);Date birthday = rs.getDate(出生日期);Date tuandate = rs.getDate(入团时间);String phone = r

16、s.getString(联系方式);String address = rs.getString(家庭住址);ta.append(姓名: + name);ta.append(班级: + sclass);ta.append(学号: + number);ta.append(性别: + sex);ta.append(出生日期: + birthday);ta.append(入团时间: + tuandate);ta.append(联系方式: + phone);ta.append(家庭住址: + address + n);con.close();sql.close(); catch (SQLExceptio

17、n e1) System.out.println(e1); else if (e.getSource() = b2) String s = JOptionPane.showInputDialog(请输入姓名);try con = DriverManager.getConnection(jdbc:odbc:tuanyuan, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs = sql.executeQuery(SELECT * FROM tuanyuanxin

18、xi WHERE 姓名 LIKE + + s + );while (rs.next() String name = rs.getString(姓名);String sclass = rs.getString(班级);String number = rs.getString(学号);String sex = rs.getString(性别);Date birthday = rs.getDate(出生日期);Date tuandate = rs.getDate(入团时间);String phone = rs.getString(联系方式);String address = rs.getString

19、(家庭住址);ta1.append(姓名: + name);ta1.append(班级: + sclass);ta1.append(学号: + number);ta1.append(性别: + sex);ta1.append(出生日期: + birthday);ta1.append(入团时间: + tuandate);ta1.append(联系方式: + phone);ta1.append(家庭住址: + address + n);con.close();sql.close(); catch (SQLException e2) System.out.println(e2); else if (

20、e.getSource() = b3) String s = JOptionPane.showInputDialog(请输入学号);try con = DriverManager.getConnection(jdbc:odbc:tuanyuan, , );sql = con.createStatement();rs = sql.executeQuery(SELECT * FROM tuanyuanxinxi WHERE 学号 LIKe+ + s + );while (rs.next() String name = rs.getString(姓名);String sclass = rs.getS

21、tring(班级);String number = rs.getString(学号);String sex = rs.getString(性别);Date birthday = rs.getDate(出生日期);Date tuandate = rs.getDate(入团时间);String phone = rs.getString(联系方式);String address = rs.getString(家庭住址);ta2.append(姓名: + name);ta2.append(班级: + sclass);ta2.append(学号: + number);ta2.append(性别: + s

22、ex);ta2.append(出生日期: + birthday);ta2.append(入团时间: + tuandate);ta2.append(联系方式: + phone);ta2.append(家庭住址: + address + n);con.close();sql.close(); catch (SQLException e2) System.out.println(e2);class add extends JFrame implements ActionListener JPanel p;ScrollPane p1;JButton b1;ImageIcon image;JTextAr

23、ea ta;Connection con;Statement sql;ResultSet rs;add() ImageIcon icon = new ImageIcon(bin/团徽副本.gif ); /* 更改左上角图标 */Image image1 = icon.getImage();this.setIconImage(image1);image = new ImageIcon(F:我的图片Java 用图敲键盘.gif);p = new JPanel();p1 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);b1 = new JButton(添

24、加信息);ta = new JTextArea(8, 50);p.setLayout(null);p.setBackground(Color.cyan);b1.setBounds(190, 10, 220, 100);p1.setBounds(50, 130, 500, 300);b1.setIcon(image);p.add(b1);p1.add(ta);p.add(p1);add(p);b1.addActionListener(this);setTitle(添加团员相关信息);setBounds(100, 100, 600, 500);setVisible(true);setDefault

25、CloseOperation(DISPOSE_ON_CLOSE);/ 设置关闭当前窗口public void actionPerformed(ActionEvent e) if (e.getSource() = b1) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e0) System.out.println(e0);try con = DriverManager.getConnection(jdbc:odbc:tuanyuan, , );sql = con.createStatem

26、ent();String 姓名, 班级, 学号, 性别, 联系方式, 家庭住址, record, insertStr;Date 出生日期, 入团时间;姓名 = JOptionPane.showInputDialog(请输入姓名);班级 = JOptionPane.showInputDialog(请输入班级);学号 = JOptionPane.showInputDialog(请输入学号);性别 = JOptionPane.showInputDialog(请输入性别);出生日期 = Date.valueOf(JOptionPane.showInputDialog(请输入出生日期);入团时间 = D

27、ate.valueOf(JOptionPane.showInputDialog(请输入入团时间);联系方式 = JOptionPane.showInputDialog(请输入联系方式);家庭住址 = JOptionPane.showInputDialog(请输入家庭住址);record = ( + + 姓名 + + , + + 班级 + + ,+ + 学号 + + , + + 性别 + + , + 出生日期+ , + 入团时间 + , + + 联系方式 + + , + + 家庭住址 + + );insertStr = INSERT INTO tuanyuanxinxi VALUES + rec

28、ord;sql.executeUpdate(insertStr);rs = sql.executeQuery(SELECT * FROM tuanyuanxinxi);while (rs.next() 姓名 = rs.getString(姓名);班级 = rs.getString(班级);学号 = rs.getString(学号);性别 = rs.getString(性别);出生日期 = rs.getDate(出生日期);入团时间 = rs.getDate(入团时间);联系方式 = rs.getString(联系方式);家庭住址 = rs.getString(家庭住址);ta.append(姓

29、名: + 姓名);ta.append(班级: + 班级);ta.append(学号: + 学号);ta.append(性别: + 性别);ta.append(出生日期: + 出生日期);ta.append(入团时间: + 入团时间);ta.append(联系方式: + 联系方式);ta.append(家庭住址: + 家庭住址 + n);con.close();sql.close(); catch (SQLException e1) System.out.println(e1);class amend extends JFrame implements ActionListener JPanel

30、 p;ScrollPane p1, p2;JButton b1, b2, b3, b4, b5, b6, b7, b8;JTextArea ta, ta1, ta2;JLabel l;ImageIcon i1, i2, i3, i4, i5, i6, i7, i8;Connection con;Statement sql;ResultSet rs;amend() ImageIcon icon = new ImageIcon(bin/团徽副本.gif ); /* 更改左上角图标 */Image image = icon.getImage();this.setIconImage(image);i1

31、 = new ImageIcon(F:我的图片Java 用图看书.gif);i2 = new ImageIcon(F:我的图片Java 用图1.gif);i3 = new ImageIcon(F:我的图片Java 用图3.gif);i4 = new ImageIcon(F:我的图片Java 用图8.gif);i5 = new ImageIcon(F:我的图片Java 用图4.gif);i6 = new ImageIcon(F:我的图片Java 用图5.gif);i7 = new ImageIcon(F:我的图片Java 用图6.gif);i8 = new ImageIcon(F:我的图片Jav

32、a 用图7.gif);p = new JPanel();p1 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);p2 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);b1 = new JButton(总信息);b2 = new JButton(改班级);b3 = new JButton(改学号);b4 = new JButton(改性别);b5 = new JButton(改生日);b6 = new JButton(改入团时间);b7 = new JButton(改联系方式);b8 = new JButt

33、on(改家庭住址);l = new JLabel(输入要修改对象的姓名:);ta = new JTextArea(5, 50);ta1 = new JTextArea(5, 50);ta2 = new JTextArea();p.setLayout(null);l.setBounds(50, 220, 150, 30);b1.setBounds(50, 50, 180, 100);b2.setBounds(50, 270, 110, 30);b3.setBounds(170, 270, 110, 30);b4.setBounds(290, 270, 110, 30);b5.setBounds(

34、410, 270, 110, 30);b6.setBounds(50, 320, 140, 30);b7.setBounds(215, 320, 140, 30);b8.setBounds(380, 320, 140, 30);p1.setBounds(250, 50, 270, 150);p2.setBounds(50, 360, 470, 150);b1.setIcon(i1);b2.setIcon(i2);b3.setIcon(i3);b4.setIcon(i4);b5.setIcon(i5);b6.setIcon(i6);b7.setIcon(i7);b8.setIcon(i8);ta

35、2.setBounds(210, 220, 310, 30);p.add(b1);p.add(b2);p.add(b3);p.add(b4);p.add(b5);p.add(b6);p.add(b7);p.add(b8);p.add(l);p1.add(ta);p2.add(ta1);p.add(ta2);p.add(p1);p.add(p2);add(p);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActio

36、nListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);p.setBackground(Color.cyan);setTitle(查询团员的相关信息);setBounds(100, 100, 580, 600);setVisible(true);setDefaultCloseOperation(DISPOSE_ON_CLOSE);/ 设置关闭当前窗口public void actionPerformed(ActionEvent e) try Class.fo

37、rName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e0) System.out.println(e0);if (e.getSource() = b1) ta.setText();try con = DriverManager.getConnection(jdbc:odbc:tuanyuan, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs = sql.executeQuery

38、(SELECT * FROM tuanyuanxinxi);while (rs.next() String name = rs.getString(姓名);String sclass = rs.getString(班级);String number = rs.getString(学号);String sex = rs.getString(性别);Date birthday = rs.getDate(出生日期);Date tuandate = rs.getDate(入团时间);String phone = rs.getString(联系方式);String address = rs.getString(家庭住址);ta.append(姓名: + name);ta.append(班级: + sclass);ta.append(学号: + number);ta.append(性别: + sex);ta.append(出生日期: + birthday);ta.append(入团时间: + tuandate);ta.append(联系方式: + phone);ta.append(家庭住址: + address + n);con.close();sql.close(); catch (SQLException e1) System

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922