java程序设计之学生选课管理系统Word格式.docx
- 文档编号:17315893
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:22.12KB
java程序设计之学生选课管理系统Word格式.docx
《java程序设计之学生选课管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《java程序设计之学生选课管理系统Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
长度
主/外键
字段值约束
对应中文名
Sno
nvarchar
50
P
Notnull
Sname
学生名字
表2.1学生信息表(S)
Sx
学生系别
Cno
课程号
Cname
课程名字
表2.2课程信息表(C)
表2.3选课信息表(SC)
C
分数
第3章连接数据库的实现
此节可简写,可适当贴一些SQLServer数据库连接的关键代码,如:
ConnectiondbConn=null;
try{
dbConn=DriverManager.getConnection(
+"
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.*;
import
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*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,"
密码错误"
}
用户名错误"
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){
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){
card.show(pCenter,"
}}
}}}}}}}}}}
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(){
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
catch(Exceptione){System.err.println("
学号=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("
姓名:
box2.add(姓名);
box3.add(newJLabel("
系别:
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();
publicvoidactionPerformed(ActionEventc){
Objectobj=c.getSource();
if(obj==录入){
if(学号.getText().equals("
)||姓名.getText().equals("
)||系别.getText().equals("
JOptionPane.showMessageDialog(this,"
学生信息请填满再录入!
Statementstmt=null;
ResultSetrs1=null;
Stringsql,sql1;
sql1="
select*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 学生 选课 管理 系统