数据库课程设计报告学生信息管理系统.docx
- 文档编号:10744530
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:19
- 大小:129.49KB
数据库课程设计报告学生信息管理系统.docx
《数据库课程设计报告学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告学生信息管理系统.docx(19页珍藏版)》请在冰点文库上搜索。
数据库课程设计报告学生信息管理系统
课程大作业报告
课程名称:
数据库课程设计
作业题目:
学生信息管理系统
专业:
班级:
学号:
姓名:
指导教师:
2008年6月29日
目录
1.课程大作业目的1
1.1课程实习目的1
2.课程大作业题目描述和要求1
2.1课程大作业题目描述1
2.2课程大作业题目要求1
根据实际应用,提供学生必要的信息,如:
添加学生信息、修改学生信息、删除学生信息、学生选课查询等;提供强大的查询功能,不同用户可以根据需求,以不同的条件查询;1
3.课程大作业报告内容1
3.1课程完成过程1
第三学期数据库课程设计我选了学生信息管理系统,因为数据库和其他语言之间的连接不会,就通过对网上一些资料的查看,知道了一些重要的连接字符串和关键字。
最后能够连接成功,程序可运行的。
1
3.2系统功能介绍1
3.3系统源代码介绍1
3.3.1系统主界面1
3.3.2添加学生信息界面5
3.3.3修改学生信息界面7
3.3.4删除学生信息模块9
3.3.5精确查询模块9
3.3.6匹配查询模块9
3.3.7学生选课查询模块9
4.总结9
1.课程大作业目的
1.1课程实习目的
做大作业的过程中复习上课学过的数据库知识,并系统地归纳、分析知识间的联系,把它应用到实践中去。
2.课程大作业题目描述和要求
2.1课程大作业题目描述
用JAVA编写一个学生信息管理系统,用SQL存储数据,实现几个简单的功能。
2.2课程大作业题目要求
根据实际应用,提供学生必要的信息,如:
添加学生信息、修改学生信息、删除学生信息、学生选课查询等;提供强大的查询功能,不同用户可以根据需求,以不同的条件查询;
3.课程大作业报告内容
3.1课程完成过程
第三学期数据库课程设计我选了学生信息管理系统,因为数据库和其他语言之间的连接不会,就通过对网上一些资料的查看,知道了一些重要的连接字符串和关键字。
最后能够连接成功,程序可运行的。
3.2系统功能介绍
能进行学生选课查询,学生总信息查询,删除学生信息,添加学生信息,修改学生信息,总体查询等;
不同用户可以根据需求,以不同的条件查询,可以满足用户的简单需求。
3.3系统源代码介绍
3.3.1系统主界面
运行程序以后,就可以看到程序的主界面。
七个按钮对应七个相应功能,添加学生信息,修改学生信息,精确查询,整体查询,按姓名匹配查询,学生选课查询,删除学生信息。
代码如下:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.Hashtable;
publicclassmanagerextendsJFrameimplementsActionListener{
tianjia添加学生信息=null;
update修改学生信息=null;
find精确查询=null;
ztcx整体查询=null;
mhcx按姓名匹配查询=null;
about关于=null;
xuanke学生选课查询=null;
delstu删除学生信息=null;
JButtonadd,update,acheck,wcheck,mcheck,bbbb,xk,del;
Containercon=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
JPanelaa,bb;
ImageIconimg;
publicmanager(){
ImageIconimg2=newImageIcon("02.gif");
JPanelaa=newJPanel();
JPanelbb=newJPanel();
aa.setLayout(newGridLayout(3,3));
add=newJButton("添加学生信息");
update=newJButton("修改学生信息");
acheck=newJButton("精确查询");
wcheck=newJButton("整体查询");
mcheck=newJButton("按姓名匹配查询");
Iconicon1=newImageIcon("02.gif");
//tongji=newJButton("统计学生成绩");
xk=newJButton("学生选课查询");
del=newJButton("删除学生信息");
bbbb=newJButton(img2);
aa.add(add);
aa.add(update);
aa.add(acheck);
aa.add(wcheck);
aa.add(mcheck);
aa.add(xk);
aa.add(del);
bb.add(bbbb);
label=newJLabel("欢迎使用学生信息管理系统",JLabel.CENTER);
label.setFont(newFont("TimesRoman",Font.BOLD+Font.ITALIC,32));
label.setForeground(Color.blue);
add.addActionListener(this);
update.addActionListener(this);
acheck.addActionListener(this);
wcheck.addActionListener(this);
mcheck.addActionListener(this);
bbbb.addActionListener(this);
xk.addActionListener(this);
del.addActionListener(this);
card=newCardLayout();
con=getContentPane();
pCenter=newJPanel();
pCenter.setLayout(card);
添加学生信息=newtianjia();
修改学生信息=newupdate();
精确查询=newfind(this);
整体查询=newztcx();
按姓名匹配查询=newmhcx();
学生选课查询=newxuanke();
删除学生信息=newdelstu();
关于=newabout(this);
pCenter.add("欢迎语界面",label);
pCenter.add("添加界面",添加学生信息);
pCenter.add("修改界面",修改学生信息);
pCenter.add("整体查询界面",整体查询);
pCenter.add("匹配查询界面",按姓名匹配查询);
pCenter.add("选课查询界面",学生选课查询);
pCenter.add("删除学生界面",删除学生信息);
con.add(aa,BorderLayout.NORTH);
con.add(bb,BorderLayout.SOUTH);
con.add(pCenter,BorderLayout.CENTER);
con.validate();
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
});
setVisible(true);
setBounds(320,150,720,450);
validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==add)
{
card.show(pCenter,"添加界面");
}
elseif(e.getSource()==update)
{
card.show(pCenter,"修改界面");
}
elseif(e.getSource()==acheck)
{
精确查询.setVisible(true);
}
elseif(e.getSource()==wcheck)
{
card.show(pCenter,"整体查询界面");
}
elseif(e.getSource()==mcheck)
{
card.show(pCenter,"匹配查询界面");
}
elseif(e.getSource()==xk)
{
card.show(pCenter,"选课查询界面");
}
elseif(e.getSource()==del)
{
card.show(pCenter,"删除学生界面");
}
elseif(e.getSource()==bbbb){
关于.setVisible(true);
}
}
publicstaticvoidmain(Stringargs[])
{
newmanager();
}
}
3.3.2添加学生信息界面:
添加学生信息模块是本系统的主要的功能模块之一。
在本模块中,完成了对数据库的数据插入操作,我们可以通过次模块往数据库中轻松插入数据。
主要代码如下:
publictianjia(){
学号=newJTextField(15);
姓名=newJTextField(15);
性别=newJTextField(15);
年龄=newJTextField(15);
系别=newJTextField(15);
电话=newJTextField(15);
确定=newJButton("确定");
重置=newJButton("重置");
确定.addActionListener(this);
重置.addActionListener(this);
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("学号:
",JLabel.CENTER));
box1.add(学号);
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("姓名:
",JLabel.CENTER));
box2.add(姓名);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("性别:
",JLabel.CENTER));
box3.add(性别);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("年龄:
",JLabel.CENTER));
box4.add(年龄);
Boxbox5=Box.createHorizontalBox();
box5.add(newJLabel("系别:
",JLabel.CENTER));
box5.add(系别);
Boxbox6=Box.createHorizontalBox();
box6.add(newJLabel("电话:
",JLabel.CENTER));
box6.add(电话);
BoxboxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(Box.createVerticalGlue());
JPanelpCenter=newJPanel();
pCenter.add(boxH);
setLayout(newBorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanelpSouth=newJPanel();
pSouth.add(确定);
pSouth.add(重置);
add(pSouth,BorderLayout.SOUTH);
validate();
}
publicvoidactionPerformed(ActionEvente){
Stringname="";
Stringurl="jdbc:
odbc:
diaoyong";
Strings1="";
Strings2="";
Strings3="";
Strings4="";
Strings5="";
Strings6="";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundExceptioneee){}
s1=学号.getText();
s2=姓名.getText();
s3=性别.getText();
s4=年龄.getText();
s5=系别.getText();
s6=电话.getText();
Stringsql="insertintosvalues(?
?
?
?
?
?
)";
if(e.getSource()==确定){
if(s1==""){Stringwarning="必须输入学生学号!
";
JOptionPane.showMessageDialog(this,warning,警告",JOptionPane.WARNING_MESSAGE);
}
else{
Stringm="添加此学生信息!
";
Intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
PreparedStatementps=con.prepareStatement(sql);
ps.setString(1,s1);
ps.setString(2,s2);
ps.setString(3,s3);
ps.setString(4,s4);
ps.setString(5,s5);
ps.setString(6,s6);
ps.executeUpdate();
stmt.close();
con.close();}catch(SQLExceptionex){System.out.println(ex.getMessage());}
}
}
学号.setText(null);
姓名.setText(null);
系别.setText(null);
性别.setText(null);
年龄.setText(null);
电话.setText(null);
}
if(e.getSource()==重置)
{
学号.setText(null);
性别.setText(null);
系别.setText(null);
姓名.setText(null);
年龄.setText(null);
电话.setText(null);
}
}
3.3.3修改学生信息界面
修改学生信息也是系统的主要操作模块之一。
输入学生学号后,系统会自动根据数据库中记录的学生记录查出相应信息,为你的修改带来方便。
修改学生信息界面如下:
关键代码如下:
publicvoidactionPerformed(ActionEvente){
Stringsnum=null;
Strings1=null;
Strings2="";
Strings3="";
Strings4="";
Strings5="";
Strings6="";
Stringurl="jdbc:
odbc:
diaoyong";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundExceptioneee){}
if(e.getSource()==开始修改){
snum=学号.getText();
Stringsql="select*fromswheresnum='"+snum+"'";
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
s1=rs.getString("snum");
s2=rs.getString("sname");
s3=rs.getString("ssex");
s4=rs.getString("sage");
s5=rs.getString("dnum");
s6=rs.getString("sphone");
}
stmt.close();
con.close();
}catch(SQLExceptionex){System.out.println(ex.getMessage());}
if(s1!
=null){
录入修改.setEnabled(true);
姓名.setText(s2);
性别.setText(s3);
年龄.setText(s4);
系别.setText(s5);
电话.setText(s6);
确认.setText("系统中存在该学生,请修改吧!
");
}
else{
确认.setText("系统中不存在该学生,请到添加功能下添加吧!
");
姓名.setText(null);
性别.setText(null);
年龄.setText(null);
系别.setText(null);
电话.setText(null);
}
}
if(e.getSource()==录入修改){
snum=学号.getText();
s2=姓名.getText();
s3=性别.getText();
s4=年龄.getText();
s5=系别.getText();
s6=电话.getText();
Stringsql2="updatessetsname='"+s2+"'"+"wheresnum='"+snum+"'";
Stringsql3="updatessetssex='"+s3+"'"+"wheresnum='"+snum+"'";
Stringsql4="updatessetsage='"+s4+"'"+"wheresnum='"+snum+"'";
Stringsql5="updatessetdnum='"+s5+"'"+"wheresnum='"+snum+"'";
Stringsql6="updatessetsphone='"+s6+"'"+"wheresnum='"+snum+"'";
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
stmt.executeUpdate(sql2);
stmt.executeUpdate(sql3);
stmt.executeUpdate(sql4);
stmt.executeUpdate(sql5);
stmt.executeUpdate(sql6);
stmt.close();
con.close();
}catch(SQLExceptionexx){System.out.println(exx.getMessage());}
学号.setText(null);
姓名.setText(null);
性别.setText(null);
年龄.setText(null);
系别.setText(null);
电话.setText(null);
确认.setText(null);
}
if(e.getSource()==重置)
{
学号.setText(null);
姓名.setText(null);
性别.setText(null);
年龄.setText(null);
系别.setText(null);
电话.setText(null);
确认.setText(null);
}
}
3.3.4删除学生信息模块
用户可以根据实际情况删除不必要的数据,删除时以学号为删除条件。
3.3.5精确查询模块
用户可以根据学生学号查到学生的所有相关信息。
3.3.6匹配查询模块
实际应用时,用户可能只知道一个学生的姓,具体的名字和学号都不知道,我们可以通过该模块查出所有符合条件的学生,再从中排除,找到需要的学生信息。
3.3.7学生选课查询模块
根据学生学号,我们可以看到该学生的选课情况。
4.总结
通过这次课程大作业,对一些基础的知识有了一定的加深。
同时学会充分利用网上资源,进行自我学习,自我进步。
这次的大作业练习,使我更系统地掌握了课本上的知识,并把它们应用到实践中去,锻炼了我的动手能力。
我认为的我的数据库学习,这才仅仅是个开始,还有更多的知识我要去学。
参考文献:
[1]李尊朝,苏军等.Java语言程序设计(第二版).北京:
中国铁道出版社,2007,12.
[2]陆慧娟.数据库原理与应用.北京:
科学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 学生 信息管理 系统