学生信息管理程序Java报告.docx

上传人:b****6 文档编号:4288366 上传时间:2022-11-28 格式:DOCX 页数:10 大小:331.56KB
下载 相关 举报
学生信息管理程序Java报告.docx_第1页
第1页 / 共10页
学生信息管理程序Java报告.docx_第2页
第2页 / 共10页
学生信息管理程序Java报告.docx_第3页
第3页 / 共10页
学生信息管理程序Java报告.docx_第4页
第4页 / 共10页
学生信息管理程序Java报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

学生信息管理程序Java报告.docx

《学生信息管理程序Java报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理程序Java报告.docx(10页珍藏版)》请在冰豆网上搜索。

学生信息管理程序Java报告.docx

学生信息管理程序Java报告

大连民族学院

计算机科学与工程学院实验报告

实验题目:

数据库编程

课程名称:

Java语言

实验类型:

□演示性□验证性□操作性□设计性█综合性

 

专业:

软件工程班级:

093班

学生姓名:

杜娟学号:

**********

实验日期:

2010年6月1日实验地点:

多媒体机房

(一)

实验学时:

4实验成绩:

 

指导教师签字:

年月日

 

实验题目:

学生信息管理系统

一.实验目的

1.掌握JAVA基本语法与面向对象编程特点

2.理解JAVAI/O编程。

3.掌握数据库连接的方法与技巧。

4.掌握简单数据库应用程序的编写。

5.掌握使用Java语言编写图形界面。

二.预习内容

Java的基本语法知识、类和对象、JavaSwing图形界面编程、JavaI/O处理以及Java与数据库连接操作。

三.实验设备与环境

通过局域网互联,安装windows7操作系统环境的JDK1.6,myeclipse。

并安装Oracle数据库。

四.实验任务

1.基本要求:

学生信息(包括学号、姓名、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。

2.提高要求(依据自身情况自选):

可填加班级信息(也可删除、修改班级),学生信息中包含班级信息,可按班级统计学生。

简单统计,按性别统计等。

五.实验内容

5.1验证性实验程序分析

①构建实验指导书中的student数据库表

createtablestudent(

snointprimarykey,

snamevarchar(20),

sexchar

(2),

sageint);

②验证性实验程序的运行结果及理解

程序1功能分析:

直接在程序中向数据库插入一条记录,插入后将数据表中所有记录输出。

运行结果:

图1

原理:

在与数据库连接的基础上,进行插入操作,sql="INSERTINTOSTUDENT"+"VALUES(7968,'赵小龙','男',20)";把这一信息插入到表中,在通过查询语句sql="SELECT*FROMSTUDENT";将这一数据输出。

程序2功能分析:

控制台下输入数据并向student表中插入记录,插入后将数据表中所有记录输出。

运行结果:

图2

原理:

手动输入学生信息,然后通过:

sql="INSERTINTOSTUDENT"+"VALUES('"+num+"'"+","+"'"+name+"'"+

",'"+sex+"',"+age+")";将这些信息插入到表中,在通过sql="SELECT*FROMSTUDENT";将所有信息输出。

程序3功能分析:

控制台下按性别条件查询Student表中数据并输出。

运行结果:

图3

原理:

手工输入性别后,通过sql="SELECTsno,sname,sageFROMSTUDENTwheresex=?

";PreparedStatementstmt0

=con.prepareStatement(sql);stmt0.setString(1,sex);设置第一个“?

”参数值为sex变量的值,就可以输出要查询的内容。

5.2数据库应用程序的开发

5.2.1数据库分析

(1)概念模型:

(2)数据库表设计:

学生表:

createtableifstudent(

snonumber(38)primarykey,

cnointnotnull,

snamevarchar(30)notnull,

sexvarchar(30)notnull,

sagenumber(38)notnull,

addressvarchar(80)notnull,

phonevarchar(30)notnull

);

insertintoifstudentvaluse(1,1,'xiaohong','girl',20,'shenyang','123');

5.2.2程序功能模块

主菜单显示:

图4

5.2.3程序运行结果

(1)添加学生信息

1.图形展示

图5

返回形式:

第一种添加成功,会得到响应

;如果有主码错误或其他操作失误,同样会有相应的响应如下:

2.代码部分

if(a[0][0]!

=""&&a[0][1]!

=""&&a[0][2]!

=""&&a[0][3]!

=""&&a[0][4]!

=""&&a[0][5]!

=""){

sql="INSERTINTOifStudent"+"VALUES('"+a[0][0]+"'"+","+"'"+a[0][1]+"'"

+",'"+a[0][2]+"','"+a[0][3]+"','"+a[0][4]+"',"+a[0][5]+")";//执行插入的sql语句

k=stmt.executeUpdate(sql);}

else{

JOptionPane.showMessageDialog(this,"添加失败","失败",JOptionPane.PLAIN_MESSAGE);

}

if(k==1){

JOptionPane.showMessageDialog(this,"添加成功","成

功",JOptionPane.PLAIN_MESSAGE);

}else{

JOptionPane.showMessageDialog(this,"添加失败","

失败",JOptionPane.PLAIN_MESSAGE);}

(2)查询学生信息

1.图形展示

图6

2.代码部分

intk=0;sql="select*fromifstudent";PreparedStatement

stmt1con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=stmt1.executeQuery();

rs.last();intlastNumber=rs.getRow();a=newObject[lastNumber][6];rs.beforeFirst();

while(rs.next()){

a[k][0]=rs.getInt("sno");

a[k][1]=rs.getString("sname");

a[k][2]=rs.getString("sex");

a[k][3]=rs.getInt("sage");

a[k][4]=rs.getString("address");

a[k][5]=rs.getString("phone");

k++;

}

table=newJTable(a,name);getContentPane().removeAll();

add(showRecord,BorderLayout.NORTH);

add(newJScrollPane(table),BorderLayout.CENTER);

validate();

(3)修改学生信息

1.图形部分

对学号是1的学生的信息进行修改:

图7

根据学号进行查询学号为1的同学的信息:

图8

修改学号为1的同学的信息:

图9

按照类别选择查询信息:

图10

2.程序流程图

查询:

3.代码部分

①查询判断部分

if(e.getSource()==inputNumber)try{num=inputNumber.getText().trim();

con=DriverManager.getConnection(url,"system","system");

sql=con.createStatement();

rs=sql.executeQuery("select*fromifstudentwheresno='"+num+"'");booleanboo=rs.next();

if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在","

提示",JOptionPane.WARNING_MESSAGE);}

else{

a[0][0]=rs.getInt("sno");

a[0][1]=rs.getString("sname");

a[0][2]=rs.getString("sex");

a[0][3]=rs.getInt("sage");

a[0][4]=rs.getString("address");

a[0][5]=rs.getString("phone");

table.repaint();}

②修改信息部分

sql.executeUpdate("UPDATEifstudentSETsname='"

+a[0][1]+"',sex='"+a[0][2]+"',sage='"+a[0][3]+"',address='"+a[0][4]+"',phone='"+a[0][5]+"'WHEREsno='"+num+"'");JOptionPane.showMessageDialog(this,"更新成功","成功",JOptionPane.PLAIN_MESSAGE);

(4)删除学生信息

1.图形展示

图11

2.代码部分

sql="deletefromifstudentwheresno="+num;PreparedStatementstmt1=con.prepareStatement(sql);

stmt1.executeQuery();

JOptionPane.showMessageDialog(this,"删除成功","

成功",JOptionPane.PLAIN_MESSAGE);

六.实验总结

6.1程序编译过程中遇到的问题及解决方法

(1)在刚开始编程序是运行完后总是显示用数据库建的表不存在。

解决:

检查在进行与数据库的连接时DataSourceName是否与con=DriverManager.getConnection("jdbc:

odbc:

thin:

@localhost:

1521:

test","system","system")中的数据源名字一致。

(2)在数据库表中明明插入了数据却不显示。

解决:

检查在数据库进行Insert后是否进行commit操作。

6.2心得体会

通过本次实验,我对Java语言有了一定的了解,并对Java与数据库的连接有了充足的认识。

例如:

如何实现图形界面,如何与数据库连接等等,由于之前对课堂上老师讲解的内容掌握的不扎实,这些方面都给我带来了很多问题,整个实验都在慢慢的摸索中进行,遇到不会的问题就查阅相关书籍,文档,开源代码或者请教身边同学,问题才会迎刃而解。

而我认为其中最重要的是遇到问题是要细心和耐心,总体来说这次实验使我收获颇多。

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

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1