收藏 分享(赏)

Java 程序设计实验大纲.doc

上传人:涵涵文库 文档编号:4406652 上传时间:2018-12-27 格式:DOC 页数:10 大小:160.50KB
下载 相关 举报
Java 程序设计实验大纲.doc_第1页
第1页 / 共10页
Java 程序设计实验大纲.doc_第2页
第2页 / 共10页
Java 程序设计实验大纲.doc_第3页
第3页 / 共10页
Java 程序设计实验大纲.doc_第4页
第4页 / 共10页
Java 程序设计实验大纲.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、1Java 程序设计实验 4主讲教师 姬广永济南大学泉城学院 1实验四 数据库编程实验【实验目的】1、掌握数据库编程技术,能够通过 JDBC 方式连接数据库。2、能对数据库中信息进行查询、插 入、删除、修改。【实验学时】实验学时:4 学时【实验要求】 实验课期间不得从事与本实验无关的活动;可独立或合作完成实验内容,按时完成实验作业;将实验作业提交到 ftp:/192.168.3.127。【实验内容】1. 建立学生数据库:stu.mdb (数据库可以用 Access、SQL Server 2000),以及学生信息表:stu_info。2、编写程序完成学生信息的添加,以及删除功能。【实验步骤及注意

2、事项】1. 创建数据库以及学生信息表,表中字段如下图所示:2字段 Snum 为主键。添加测试数据。2. 编写程序,能够向数据库添加学生信息,添加成功后应弹出添加成功提示窗口。运行后如下图所示:3. 完成学生信息的删除功能。删除成功后弹出删除成功提示窗口。运行后如下图所示:3【参考代码】/添加学生信息.javaimport java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class 添加学生信息 /implem

3、ents:加入接口(加入动作事件处理接口)JFrame frame; /数据声明:声明框架名称 frameJLabel num,name,sex,mz,birth,year,add,pro,college,remark;/声明:标签JTextField tnum,tname,tsex,tmz,tbirth,tyear,tadd,tpro,tcollege;/声明:文本框JTextArea aremark; /声明:文本区JButton ok,cancel; /声明:按钮void view() /定义:程序功能方法/创建并设置框架; /创建框架并设置标题为:= 添加学生信息=frame.setL

4、ayout(null); /设置显示位置:框架坐标 x,y 及宽度和高度分别为300,200,500,450。Container panel=frame.getContentPane();/创建“学号”标签及文本框:num=new JLabel(“学号“); /创建标签:num,加入文字:学号tnum=new JTextField(20); /建文本框num.setBounds(30, 10, 30, 25);/ 标签 num“学号”在容器中左上角坐标(x,y),宽 W,高 Htnum.setBounds(70, 10,100, 25);/设置文本框 tnum 显示位置:在容器中左上角坐标 x

5、,y,宽度,高度/创建“姓名”标签及文本框:name=new JLabel(“姓名“); /(同上)tname=new JTextField(20);name.setBounds(200, 10, 30, 25);tname.setBounds(240, 10, 100, 25);/创建“性别”标签及文本框:sex=new JLabel(“性别“);tsex=new JTextField(5);sex.setBounds(360, 10, 30, 25);tsex.setBounds(400, 10, 60, 25);4/创建“民族”标签及文本框:mz=new JLabel(“民族“);tmz

6、=new JTextField(5);mz.setBounds(360, 50, 30, 25);tmz.setBounds(400, 50, 60, 25);/创建“出生日期”标签及文本框:birth=new JLabel(“出生日期“);tbirth=new JTextField(20);birth.setBounds(10, 50, 60, 25);tbirth.setBounds(70, 50,100, 25);/创建“入学年份”标签及文本框:year=new JLabel(“入学年份“);tyear=new JTextField(10);year.setBounds(180, 50,

7、 60, 25);tyear.setBounds(240, 50,100, 25);/创建“专业”标签及文本框:pro=new JLabel(“专业“);tpro=new JTextField(20);pro.setBounds(200, 90, 30, 25);tpro.setBounds(240, 90, 100, 25);/创建“学院”标签及文本框:college=new JLabel(“学院“);tcollege=new JTextField(20);college.setBounds(30, 90, 30, 25);tcollege.setBounds(70, 90, 100, 25

8、);/创建“籍贯”标签及文本框:add=new JLabel(“籍贯 “);tadd=new JTextField(50);add.setBounds(30, 130, 30, 25);tadd.setBounds(70, 130, 270, 25);/创建“备注”标签及文本框:remark=new JLabel(“备注“);aremark=new JTextArea();remark.setBounds(30, 170, 30, 25);aremark.setBounds(70, 170, 390, 150);/创建按钮:“添加”:ok=new JButton(“添加“); /创建按钮 ok

9、5ok.setBounds(100, 350, 60, 25); /设置按钮 ok 显示位置; /注册监听器/创建按钮:“取消”:cancel=new JButton(“取消“); /创建按钮 cancalcancel.setBounds(290, 350, 60, 25); /注册监听器/组件加入面板panel.add(num);panel.add(tnum);panel.add(name);panel.add(tname);panel.add(sex);panel.add(tsex);panel.add(mz);panel.add(tmz);panel.add(birth);panel.a

10、dd(tbirth);panel.add(year);panel.add(tyear);panel.add(add);panel.add(tadd);panel.add(pro);panel.add(tpro);panel.add(college);panel.add(tcollege);panel.add(remark);panel.add(aremark);panel.add(ok);panel.add(cancel); /显示框架/(4)主程序public static void main(String args) /主程序添加学生信息 stuInfo=new 添加学生信息(); /创建

11、本程序对象; /运行 stuInfo 对象的 view()方法/(5)动作响应处理程序public void actionPerformed(ActionEvent e) /监听动作if( ) /监听到单击:按钮 ok/(6)获取各文本框中键入的数据并赋值给相应的变量String num,name,sex,birth,year,minzu,col,pro,jiguan,remark;/声明 10 个字符串变量(准备存入数据库的数据)num= ; /获取文本框 tnum 中键入的字符串并赋值给变量 numname=tname.getText();sex=tsex.getText();birth=

12、tbirth.getText();year=tyear.getText();minzu=tmz.getText();6col=tcollege.getText();pro=tpro.getText();jiguan=tadd.getText();remark=aremark.getText();DB_StuInfo dbStuInfo=new DB_StuInfo();/运行 DB_StuInfo.java;/携带 10 个实参值,运行 DB_StuInfo 类的 insert_info ()方法/从子程序“DB_StuInfo.java”中返回后,清空各文本框,为下次键入作准备:/显示对话框

13、tnum.setText(null); /清空文本框 tnumtname.setText(null);/(同上)tsex.setText(null);tbirth.setText(null);tyear.setText(null);tmz.setText(null);tcollege.setText(null);tpro.setText(null);tadd.setText(null);aremark.setText(null);/(10)单击了按钮 cancel 组件:退出程序if( )/监听到单击:按钮“取消“; /框架 frame 释放所占内存/if 语句体结束/ actionPerfo

14、rmed(ActionEvent e)方法体结束/“添加学生信息”类体结束/添加学生信息到数据库DB_StuInfo.javaimport java.sql.*;import javax.swing.JOptionPane;public class DB_StuInfo /公共类Connection con; /声明:连接字符串变量conPreparedStatement stmt; /声明预编译SQL对象stmtResultSet rs; /记录集存取对象rsvoid insert_info(String str,String str1,String str2,String str3,Str

15、ing str4,String str5,String str6,String str7,String str8,String str9)/方法tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);/加载数据库驱动/若系统环境属性中已经包含了该驱动的路径,则无需此语句。7catch (ClassNotFoundException e) /处理异常e.printStackTrace();String URL=“jdbc:odbc:driver=Microsoft Access Driver (*.mdb); DBQ= “;/数据库连接字符串:给定数据库

16、名、类型trycon=DriverManager.getConnection(URL); /连接数据库stmt= .prepareStatement(“insert into (Snum,Sname,Ssex,Sminzu,Sjiguan,Syear,Smajor,Scollege,Sbirth,Sremark) values(?,?,?,?,?,?,?,?,?,?)“); /SGL语句 10个虚数据?存入数据库10个字段stmt.setString(1, ); /str是第1个?代表的数据stmt.setString(2, str1); /。stmt.setString(3, str2);s

17、tmt.setString(4, str3);stmt.setString(5, str4);stmt.setString(6, str5);stmt.setString(7, str6);stmt.setString(8, str7);stmt.setString(9, str8);stmt.setString(10, str9);catch (Exception e) System.out.println(e);trystmt.executeUpdate();stmt.close();/关闭数据库、连接;/弹出添加成功对话框catch (Exception e) JOptionPane.s

18、howMessageDialog(null,“添加失败,学号为空或重复!“);学生信息的删除功能参考代码:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class 删除学生信息 implements JFrame frame; /数据声明:声明框架名称frameJLabel num;/声明:标签8JTextField tnum;/声明:文本框JButton del; /声明:按钮void view() /定义

19、:程序功能方法/(2.1)创建并设置框架; /创建:框架并设置标题为:=删除学生信息=frame.setLayout(null); /设置显示位置:框架左上角坐标x,y及宽度W和高度H分别为300,200,450,350Container panel=frame.getContentPane();/创建“学号”标签及文本框:num=new JLabel(“请输入要删除学生的学号:“); /创建标签:num ; /建文本框num.setBounds(30, 20, 160, 25);/ 标签num“学号”在容器中左上角坐标(x,y),宽W,高Htnum.setBounds(200, 20,120

20、, 25); /设置文本框tnum显示位置:在容器中左上角坐标x,y,宽度,高度del=new JButton(“删除“); /创建按钮deldel.setBounds(340, 20, 60, 25); /设置按钮del显示位置:在容器中左上角坐标x,y,宽度,高度设置位置、大小; /del按钮上注册监听器;将num标签添加到面板panelpanel.add(tnum);panel.add(del); /显示框架public static void main(String args) 删除学生信息 delInfo=new 删除学生信息();/创建本程序对象delInfo.view();pub

21、lic void actionPerformed(ActionEvent e) if( ) /监听到单击:按钮“删除“/若单击删除按钮,则:String i= ; /获取文本框tnum中输入的学号DEL_StuInfo delStu=new DEL_StuInfo(); /*调用“ DEL_StuInfo.java“的delete方法删除学号为i的学生记录*/9/DEL_StuInfo.javaimport java.sql.*;import javax.swing.JOptionPane;public class DEL_StuInfo Connection con;Statement st

22、mt;PreparedStatement pstmt; /预编译sql语句接口ResultSet rs;/*删除学生信息*/void delete(String snum)try; /加载数据库驱动catch (ClassNotFoundException e) e.printStackTrace();String URL=“jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ= “;try; /连接数据库String sql=“ “;/sql语句:删除学号为snum的学生记录pstmt=con.prepareStatement(sql);/执行删除操作pstmt.close();con.close();/显示对话框,提示删除成功catch (Exception e) ;/显示对话框,提示删除失败【实验思考题与总结】总结实验中遇到的问题及解决方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报