java学生选课系统(完整源代码_sql2005)
课程设计说明文档
学生选课管理系统的设计与实现
学校:华南理工大学广州汽车学院 系别:计算机工程系 专业班级:信息与计算科学 姓名: 学号:
一、课程设计目的
通过这次的设计,主要是做出一个小型的管理系统,来加强对JAVA所学知识的巩固和融会贯通,可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理解。
二、需求分析 功能需求分析:
该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。
三、数据项:
1表admin(用户表)
Field Username password Name
2表S(学生信息表)
Field Sno Sname Sx
3表C(课程信息表)
Field Cno Cname
Type
Null
Key PRI ——
Comment 课号 课名
Type
Null
Key PRI —— ——
Comment 学号 姓名 系别
Type char(10) char(10) Char(10)
Null —— —— ——
Key PRI —— ——
Comment 用户名 密码 用户昵称
nvarchar(50) —— nvarchar(50) —— nvarchar(50) ——
nvarchar(50) —— nvarchar(50) ——
4表SC(学生信息表)
Field Cno Sno C
Type
Null
Key PRI PRI ——
Comment 课号 学号 成绩
nvarchar(50) —— nvarchar(50) —— nvarchar(50) ——
四、系统功能描述
该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的: 1.管理学生信息,其中包括添加,删除,修改等操作。 2.管理课程信息,其中包括添加,删除,修改等操作。 3.管理选课信息,其中包括添加,删除,修改等操作。
4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。
五、代码分析
连接数据库方法:
这是java连接数据库的驱动,有关数据库的操作都要用到他。
public static Connection CONN(){
String driverName =
"com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动 String dbURL = "jdbc:sqlserver://localhost:1433;
DatabaseName=student"; //连接服务器和数据库test,此处student是数据库名 String userName = "sa"; //默认用户名 String userPwd = "mima"; //密码 Connection dbConn=null; try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful! } catch (Exception e) { e.printStackTrace();} return dbConn;}
用户登录界面user.java:
登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。在填写好账号密码后,会读取数据库里admin表,并查询其输入是否存在,若无误,则登录到用户界面。
public class User extends JFrame{ private JLabel use,password; private JTextField k1;//用户名输入框 private JPasswordField k2;//密码输入框 private JButton b1,b2; //登录窗口
public User(JFrame f){
super("系统登录");
Container c=getContentPane(); c.setLayout(new FlowLayout()); use=new JLabel("username:");
use.setFont(new Font("Serif",Font.PLAIN,20)); password=new JLabel("password:");
password.setFont(new Font("Serif",Font.PLAIN,20)); k1=new JTextField(12); k2=new JPasswordField(12); b1=new JButton("登录"); b2=new JButton("退出");
// 设置登录方法
BHandler b=new BHandler(); EXIT d=new EXIT(); 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);}
//主函数
public static void main(String[] args) {
User f1=new User(new JFrame());} 效果图:
用户界面:Menu.java
用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除数据,分别操作数据库里的S表(学生),C表(课程),SC表(选课)。查询管理则可进行三个表的查询。 import java.awt.*;
import java.awt.event.*; import javax.swing.*;
public class Menu extends JFrame implements ActionListener{ Addstu 增加学生界面; Updatastu 修改学生界面; Delstu 删除学生界面; AddC 增加课程界面; DelC 删除课程界面; UpdateC 修改课程界面; AddSC 增加选课界面; DelSC 删除选课界面; UpdateSC 修改选课界面;
Selstu 学生查询界面; JPanel pCenter;
CardLayout card=null; JLabel label=null;
JMenuBar mb=new JMenuBar();//菜单栏 JMenu m1=new JMenu("学生管理");
JMenuItem add1=new JMenuItem("add1 ");
JMenuItem updata1=new JMenuItem("updata1 "); JMenuItem delete1=new JMenuItem("delete1 "); JMenu m2=new JMenu("课程管理");
JMenuItem add2=new JMenuItem("add2 ");
JMenuItem updata2=new JMenuItem("updata2 "); JMenuItem delete2=new JMenuItem("delete2 "); JMenu m3=new JMenu("选课管理");
JMenuItem add3=new JMenuItem("add3 ");
JMenuItem updata3=new JMenuItem("updata3 "); JMenuItem delete3=new JMenuItem("delete3 "); JMenu m4=new JMenu("查询管理");
JMenuItem 学生查询=new JMenuItem("查询信息 "); JMenuItem m5=new JMenuItem("系统退出"); Font t=new Font ("sanerif",Font.PLAIN,12); public Menu (){ this.setTitle("学生选课管理系统"); try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(Exception e){System.err.println("不能设置外观: "+e);} //组合菜单 addMenu1(); addMenu2(); addMenu3(); addMenu4(); addJMenuBar(); setJMenuBar(mb); label=new JLabel("选课管理系统",JLabel.CENTER); label.setFont(new Font("宋体",Font.BOLD,36)); label.setHorizontalTextPosition(SwingConstants.CENTER); label.setForeground(Color.red); //点击事件 add1.addActionListener(this); updata1.addActionListener(this); delete1.addActionListener(this); m5.addActionListener(this …… 此处隐藏:12413字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业资料]创设有效语境 改善英语教学
- [行业资料]微商推广引流的44种方法
- [行业资料]医疗机构输血科血库基本标准
- [行业资料]锂离子电池项目可行性研究报告(2015年
- [行业资料]申请执行人长沙市开福区人口和计划生育
- [行业资料]倾听草木的呼吸(初中阅读)
- [行业资料]长沙新环境厂房租赁合同书
- [行业资料]2022年经济师《金融专业知识与实务(中
- [行业资料]浦东新区2009学年度第二学期期末考试七
- [行业资料]企业劳动用工协议书
- [行业资料]最新苏科版七年级数学上册第二章有理数
- [行业资料]12星座与英语词汇学习
- [行业资料]2008年高考化学科经验
- [行业资料]镇政府2015年工作总结及2016年政府工作
- [行业资料]梧州市产业园区规划及招商引资报告
- [行业资料]大体积砼承台施工作业指导书
- [行业资料]学生干部在创建和谐校园中的作1
- [行业资料]小学语文教师实习个人总结
- [行业资料]2014完美最新奖金制度
- [行业资料]2016年一建建筑实务-重要知识点地质
- 【最新】人教版小学语文三年级上册:第
- 中国中小企业年鉴(地区数据)
- 动物与人类生活的关系 ppt
- 选修3 专题3 胚胎工程知识点
- 遥感技术基础复习题
- 公司员工职业生涯规划实施方案
- 辽宁省建筑施工企业安全生产许可证管理
- 15秋福师《中外幼儿教育史》在线作业二
- 2015-2020年中国网络视频行业深度调研
- 数学八年级下华东师大版21.1算术平均数
- 苏教版一年级语文下册《小松树和大松树
- 油画论文:摄影对当下油画艺术的影响
- 西方自由主义影响下的新闻自由——从17
- 基于支持向量机的商业银行信用风险评估
- 机械设计基础复习题答案(修改)(1)
- 语文:高考作文素材:材料引用及论点论
- 月份工程进度款结算单62+56
- 2018-2023年中国互联网基金行业现状研
- 人教版 PEP 五年级下册Unit1Lesson1 th
- 2014学年第二学期四年级数学期末教学质




