java程序设计之学生选课管理系统.docx

上传人:b****6 文档编号:7906326 上传时间:2023-05-12 格式:DOCX 页数:25 大小:306.47KB
下载 相关 举报
java程序设计之学生选课管理系统.docx_第1页
第1页 / 共25页
java程序设计之学生选课管理系统.docx_第2页
第2页 / 共25页
java程序设计之学生选课管理系统.docx_第3页
第3页 / 共25页
java程序设计之学生选课管理系统.docx_第4页
第4页 / 共25页
java程序设计之学生选课管理系统.docx_第5页
第5页 / 共25页
java程序设计之学生选课管理系统.docx_第6页
第6页 / 共25页
java程序设计之学生选课管理系统.docx_第7页
第7页 / 共25页
java程序设计之学生选课管理系统.docx_第8页
第8页 / 共25页
java程序设计之学生选课管理系统.docx_第9页
第9页 / 共25页
java程序设计之学生选课管理系统.docx_第10页
第10页 / 共25页
java程序设计之学生选课管理系统.docx_第11页
第11页 / 共25页
java程序设计之学生选课管理系统.docx_第12页
第12页 / 共25页
java程序设计之学生选课管理系统.docx_第13页
第13页 / 共25页
java程序设计之学生选课管理系统.docx_第14页
第14页 / 共25页
java程序设计之学生选课管理系统.docx_第15页
第15页 / 共25页
java程序设计之学生选课管理系统.docx_第16页
第16页 / 共25页
java程序设计之学生选课管理系统.docx_第17页
第17页 / 共25页
java程序设计之学生选课管理系统.docx_第18页
第18页 / 共25页
java程序设计之学生选课管理系统.docx_第19页
第19页 / 共25页
java程序设计之学生选课管理系统.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java程序设计之学生选课管理系统.docx

《java程序设计之学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《java程序设计之学生选课管理系统.docx(25页珍藏版)》请在冰点文库上搜索。

java程序设计之学生选课管理系统.docx

java程序设计之学生选课管理系统

 

 

《Java程序设计》

结课报告

 

课程名称JAVA程序设计

设计题目学生选课管理系统

专业班级

学号

学生姓名

教师

 

信息工程系

学生选课管理系统

第1章系统简介

1.1系统功能

本系统主要功能:

1)管理学生信息,其中包括添加,删除,修改等操作。

2)管理课程信息,其中包括添加,删除,修改等操作。

3)管理选课信息,其中包括添加,删除,修改等操作。

4)查询信息,其中包括查询学生信息,查询课程信息,查询选课信息.。

5)维护系统,备份所有表格为Excel格式。

1.2系统引用例子

课本P237页13.10

课本P364页20.5

课本P389页20.10

课本P387页21.6

第2章表的设计

2.1系统数据库表结构:

在此小节将系统数据库表结构用表的形式画出,如:

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

Sno

nvarchar

50

P

Notnull

学号

Sname

nvarchar

50

Notnull

学生名字

表2.1学生信息表(S)

Sx

nvarchar

50

Notnull

学生系别

 

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

Cno

nvarchar

50

P

Notnull

课程号

Cname

nvarchar

50

Notnull

课程名字

表2.2课程信息表(C)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

Sno

nvarchar

50

P

Notnull

学号

Cno

nvarchar

50

P

Notnull

课程号

表2.3选课信息表(SC)

C

nvarchar

50

Notnull

分数

第3章连接数据库的实现

此节可简写,可适当贴一些SQLServer数据库连接的关键代码,如:

ConnectiondbConn=null;

try{

Class.forName("net.sourceforge.jtds.jdbc.Driver");

dbConn=DriverManager.getConnection(

"jdbc:

jtds:

sqlserver:

//localhost:

1433/"

+"student","sa","123");

}catch(Exceptione){

e.printStackTrace();

}

returndbConn;//返回Connection对象

1、运行效果图

图4.1.1登陆界面

图4.1.2登陆成功

图4.1.2登陆失败

 

2、主要代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.sql.*;

publicclassUserextendsJFrame{

privateJLabeluse,password;

privateJTextFieldk1;//用户名输入框

privateJPasswordFieldk2;//密码输入框

privateJButtonb1,b2;

//登录窗口

publicUser(JFramef){

super("系统登录");

Containerc=getContentPane();

c.setLayout(newFlowLayout());

use=newJLabel("username:

");

use.setFont(newFont("Serif",Font.PLAIN,20));

password=newJLabel("password:

");

password.setFont(newFont("Serif",Font.PLAIN,20));

k1=newJTextField(12);

k2=newJPasswordField(12);

b1=newJButton("登录");

b2=newJButton("退出");

//设置登录方法

BHandlerb=newBHandler();

EXITd=newEXIT();

b1.addActionListener(b);

b2.addActionListener(d);

//添加控件

c.add(use);

c.add(k1);

c.add(password);

c.add(k2);

c.add(b1);

c.add(b2);

setBounds(600,300,250,150);

setVisible(true);

setResizable(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

//主函数

publicstaticvoidmain(String[]args){

Userf1=newUser(newJFrame());

}

//登录按钮方法

privateclassBHandlerimplementsActionListener{

publicvoidactionPerformed(ActionEventevent){

if(k1.getText().equals("")||k2.getText().equals("")){

JOptionPane.showMessageDialog(User.this,"用户名密码不能为空!

");

}

else{

Statementstmt=null;

ResultSetrs=null;

Stringsql;

sql="select*fromadminwhereusername='"+k1.getText()+"'";

try{

ConnectiondbConn1=Conn.CONN();

stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs=stmt.executeQuery(sql);

if(rs.next()){

Stringxm=rs.getString("password");if(k2.getText().equals(xm.trim())){JOptionPane.showMessageDialog(User.this,"登录成功");

dispose();

newMenu();//管理窗口

}

else{JOptionPane.showMessageDialog(User.this,"密码错误");}

}

else{JOptionPane.showMessageDialog(User.this,"用户名错误");}

rs.close();

stmt.close();

}

catch(SQLExceptione){

JOptionPane.showMessageDialog(User.this,"SQL错误信息:

"+e.getMessage());

}

}

}

}

//退出方法结束

privateclassEXITimplementsActionListener{

publicvoidactionPerformed(ActionEventeven){

System.exit(0);

}

}

}//父类结束

 

1、运行效果图

图4.2.1登陆成功后界面

图4.2.2学生管理菜单

图4.2.2课程管理菜单

图4.2.2选课管理菜单

图4.2.2查询管理菜单

2、实现代码:

添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassMenuextendsJFrameimplementsActionListener{

Addstu增加学生界面;

Updatastu修改学生界面;

Delstu删除学生界面;

AddC增加课程界面;

DelC删除课程界面;

UpdateC修改课程界面;

AddSC增加选课界面;

DelSC删除选课界面;

UpdateSC修改选课界面;

Selstu学生查询界面;

Backup备份界面;

JPanelpCenter;

CardLayoutcard=null;

JLabellabel=null;

JMenuBarmb=newJMenuBar();//菜单栏

JMenum1=newJMenu("学生管理");

JMenuItemadd1=newJMenuItem("①添加学生学籍");

JMenuItemupdata1=newJMenuItem("②更新学生学籍");

JMenuItemdelete1=newJMenuItem("③删除学生学籍");

JMenum2=newJMenu("课程管理");

JMenuItemadd2=newJMenuItem("①增加课程");

JMenuItemupdata2=newJMenuItem("②更新课程");

JMenuItemdelete2=newJMenuItem("③删除课程");

JMenum3=newJMenu("选课管理");

JMenuItemadd3=newJMenuItem("①成绩录入");

JMenuItemupdata3=newJMenuItem("②成绩修改");

JMenuItemdelete3=newJMenuItem("③成绩删除");

JMenum4=newJMenu("查询管理");

JMenuItem学生查询=newJMenuItem("①查询信息");

JMenuItembackup=newJMenuItem("②备份信息");

JMenuItemm5=newJMenuItem("系统退出");

Fontt=newFont("sanerif",Font.PLAIN,12);

publicMenu(){

this.setTitle("学生选课管理系统");

try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}

catch(Exceptione){System.err.println("不能设置外观:

"+e);}

//组合菜单

addMenu1();

addMenu2();

addMenu3();

addMenu4();

addJMenuBar();

setJMenuBar(mb);

label=newJLabel("欢迎使用江西理工大学应科院选课管理系统",JLabel.CENTER);

label.setFont(newFont("宋体",Font.BOLD,25));

label.setHorizontalTextPosition(SwingConstants.CENTER);

label.setForeground(Color.red);

//点击事件

add1.addActionListener(this);

updata1.addActionListener(this);

delete1.addActionListener(this);

m5.addActionListener(this);

add2.addActionListener(this);

delete2.addActionListener(this);

updata2.addActionListener(this);

add3.addActionListener(this);

delete3.addActionListener(this);

updata3.addActionListener(this);

学生查询.addActionListener(this);

backup.addActionListener(this);

card=newCardLayout();

pCenter=newJPanel();

pCenter.setLayout(card);

增加学生界面=newAddstu();

修改学生界面=newUpdatastu();

删除学生界面=newDelstu();

增加课程界面=newAddC();

删除课程界面=newDelC();

修改课程界面=newUpdateC();

增加选课界面=newAddSC();

删除选课界面=newDelSC();

修改选课界面=newUpdateSC();

学生查询界面=newSelstu();

备份界面=newBackup();

pCenter.add("欢迎界面",label);

pCenter.add("增加学生界面",增加学生界面);

pCenter.add("修改学生界面",修改学生界面);

pCenter.add("删除学生界面",删除学生界面);

pCenter.add("增加课程界面",增加课程界面);

pCenter.add("删除课程界面",删除课程界面);

pCenter.add("修改课程界面",修改课程界面);

pCenter.add("增加选课界面",增加选课界面);

pCenter.add("删除选课界面",删除选课界面);

pCenter.add("修改选课界面",修改选课界面);

pCenter.add("学生查询界面",学生查询界面);

pCenter.add("备份界面",备份界面);

add(pCenter,BorderLayout.CENTER);

validate();

setVisible(true);

setBounds(400,150,600,380);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

addWindowListener(newWindowAdapter(){//关闭程序时的操作

publicvoidwindowClosing(WindowEvente){System.exit(0);}

});

validate();

}

privatevoidaddJMenuBar(){

mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);

}

privatevoidaddMenu4(){

m4.add(学生查询);

m4.add(backup);

m4.setFont(t);

}

privatevoidaddMenu3(){

m3.add(add3);

m3.add(updata3);

m3.add(delete3);

m3.setFont(t);

}

privatevoidaddMenu2(){//将菜单加入到菜单栏中

m2.add(add2);

m2.add(updata2);

m2.add(delete2);

m2.setFont(t);

}

privatevoidaddMenu1(){

m1.add(add1);

m1.add(updata1);

m1.add(delete1);

m1.setFont(t);//字体

}

publicvoidactionPerformed(ActionEvente){

Objectobj=e.getSource();

if(obj==m5){System.exit(0);}

else{if(obj==add1){

card.show(pCenter,"增加学生界面");

}

else{if(obj==updata1){

card.show(pCenter,"修改学生界面");

}

else{if(obj==delete1){

card.show(pCenter,"删除学生界面");

}

else{if(obj==add2){

card.show(pCenter,"增加课程界面");

}

else{if(obj==delete2){

card.show(pCenter,"删除课程界面");

}

else{if(obj==updata2){

card.show(pCenter,"修改课程界面");

}

else{if(obj==add3){

card.show(pCenter,"增加选课界面");

}

else{if(obj==delete3){

card.show(pCenter,"删除选课界面");

}

else{if(obj==updata3){

card.show(pCenter,"修改选课界面");

}

else{if(obj==学生查询){

card.show(pCenter,"学生查询界面");

}

else{if(obj==backup){

card.show(pCenter,"备份界面");

}

}}

}}}}}}}}}}

publicstaticvoidmain(String[]args){

newMenu();

}

}

1、运行效果图

图4.3.1添加学生学籍

图4.3.1修改学生学籍

图4.3.1删除学生学籍

2、实现代码:

Addstu.java/Updatastu.java/Delstu.java

importjava.awt.*;

importjavax.swing.*;

importjava.sql.*;

importjava.awt.event.*;

 

publicclassAddstuextendsJPanelimplementsActionListener{

JTextField学号,姓名,系别;

JButton录入;

publicAddstu(){

try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}

catch(Exceptione){System.err.println("不能设置外观:

"+e);}

学号=newJTextField(12);

姓名=newJTextField(12);

系别=newJTextField(12);

录入=newJButton("录入");

录入.addActionListener(this);

Boxbox1=Box.createHorizontalBox();//横放box

Boxbox2=Box.createHorizontalBox();

Boxbox3=Box.createHorizontalBox();

Boxbox4=Box.createHorizontalBox();

box1.add(newJLabel("学号:

"/*,JLabel.CENTER*/));

box1.add(学号);

box2.add(newJLabel("姓名:

"/*,JLabel.CENTER*/));

box2.add(姓名);

box3.add(newJLabel("系别:

"/*,JLabel.CENTER*/));

box3.add(系别);

box4.add(录入);

BoxboxH=Box.createVerticalBox();//竖放box

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(Box.createVerticalGlue());

JPanelmessPanel=newJPanel();

messPanel.add(boxH);

setLayout(newBorderLayout());

add(messPanel,BorderLayout.CENTER);

validate();

}

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2