java程序设计之学生选课管理系统Word格式.docx
- 文档编号:19092643
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:24
- 大小:39.65KB
java程序设计之学生选课管理系统Word格式.docx
《java程序设计之学生选课管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《java程序设计之学生选课管理系统Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
3)管理选课信息,其中包括添加,删除,修改等操作。
4)查询信息,其中包括查询学生信息,查询课程信息,查询选课信息.。
5)维护系统,备份所有表格为Excel格式。
1.2系统引用例子
课本P237页13.10
课本P364页20.5
课本P389页20.10
课本P387页21.6
第2章
表的设计
在此小节将系统数据库表结构用表的形式画出,如:
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Sno
nvarchar
50
P
Notnull
学号
Sname
学生名字
Sx
学生系别
表2.1学生信息表(S)
Cno
课程号
Cname
课程名字
表2.2课程信息表(C)
C
分数
表2.3选课信息表(SC)
连接数据库的实现
此节可简写,可适当贴一些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对象
第4章
4.1系统登录模块设计
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("
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*fromadminwhere
username='
+k1.getText()+"
'
;
try{
ConnectiondbConn1=Conn.CONN();
stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INS
ENSITIVE,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,"
密码错误"
用户名错误"
}rs.close();
stmt.close();
catch(SQLExceptione){JOptionPane.showMessageDialog(User.this,"
SQL错误信息:
+e.getMessage());
//退出方法结束
privateclassEXITimplementsActionListener{publicvoidactionPerformed(ActionEventeven){
System.exit(0);
}//父类结束
4.2系统主界面详细设计
图4.2.1登陆成功后界面
图4.2.2学生管理菜单
图4.2.2课程管理菜单
图4.2.2选课管理菜单
图4.2.2查询管理菜单
2、实现代码:
添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。
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);
增加学生界面"
增加学生界面);
修改学生界面"
修改学生界面);
删除学生界面"
删除学生界面);
增加课程界面"
增加课程界面);
删除课程界面"
删除课程界面);
修改课程界面"
修改课程界面);
增加选课界面"
增加选课界面);
删除选课界面"
删除选课界面);
修改选课界面"
修改选课界面);
学生查询界面"
学生查询界面);
备份界面"
备份界面);
add(pCenter,BorderLayout.CENTER);
validate();
setBounds(400,150,600,380);
addWindowListener(newWindowAdapter(){//关闭程序时的操作
publicvoidwindowClosing(WindowEvente){System.exit(0);
});
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){
else{if(obj==delete1){
card.show(pCenter,"
else{if(obj==add2){
else{if(obj==delete2){
else{if(obj==updata2){
else{if(obj==add3){
else{if(obj==delete3){
else{if(obj==updata3){
else{if(obj==学生查询){
else{if(obj==backup){
}}
}}}}}}}}}}
publicstaticvoidmain(String[]args){newMenu();
4.3学生管理模块设计
图4.3.1添加学生学籍
图4.3.1修改学生学籍
图4.3.1删除学生学籍
2、实现代码:
Addstu.java/Updatastu.java/Delstu.java
publicclassAddstuextendsJPanelimplementsActionListener{
JTextField学号,姓名,系别;
JButton录入;
publicAddstu(){
{UIManage
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 学生 选课 管理 系统