ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:256.60KB ,
资源ID:568197      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-568197.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2某高校学生选课系统.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

2某高校学生选课系统.docx

1、2某高校学生选课系统数据库课程设计某高校学生选课管理系统 学生: 徐 渊 哲 指导老师: 于 宝 华 学号: 2010508019 学院专业: 信工院计科2010级 完成日期: 2013年1月16日 课程设计报告1、课程设计任务实现学生信息、课程学生管理; 实现教师及任课信息管理; 实现选课登记,要保证学生不能选修重复的课程(实用触发器实现); 创建存储过程统计各学生指定学期选修课程的总学分数; 创建视图查询没有被选修的课程; 创建存储过程统计各教师任课的学生人数; 创建表间关系。二、需求描述本系统是一个单机版的小型的学生选课管理系统,在本系统中,开发了一个面向管理员、学生和教师这三个对象的教

2、务平台,对学生提供的服务有登录、选课、修改登录密码、和查询成绩这几个服务,所选课程总数不能超过3门;对教师提供的服务有登录、修改登录密码和登录成绩;对管理员提供的服务有登录开设学生和教师帐号、删除学生和教师帐号的服务。三、系统总体设计1.系统架构设计(1)架构:单机(2)运行软件环境: windows 7 ,jdk1.6(3)数据库:SQL Server 2005 开发工具:Eclipse 3.32.功能模块设计各模块功能: 登录界面:登录界面是有帐号,密码两个JTextField,管理员帐号一字母A开头,教师帐号一字母T开头,学生帐号以字母S开头,登录帐号或密码输入错误会弹出相应的提示对话框

3、。 学生信息管理模块:管理员用于添加和删除学生信息的模块。 教师信息管理模块:管理员用于添加和删除教师信息的模块。 教师密码修改模块和学生密码修改模块:管理员添加的用户帐号的初始密码与用户的帐号相同,用户通过密码修改模块可以自己需改密码。 教师录入成绩模块:教师可以浏览选修自己课程的学生的信息并且录入该学生的成绩。 学生选择选修课模块:该模块通过表格的形式将所有课程列出来,学生可以根据个人兴趣选择不同的课程,每个学生选择的课程数目不能超过3门,而且不能重复选课,否则会弹出对话框,提示用户查看已经选择了的课程。 学生查询成绩模块:通过表格的形式将该学生选择了的课程列出来,如果教师有录入成绩,则可

4、以看到自己的课程成绩。3.数据库设计 (1)全局E-R图(2)关系模式 学生(学生学号,学生姓名,教师性别,教师生日,所在班级)教师(教师编号,教师姓名,教师性别,教师生日,教师职称,所在院系)课程(课程号,课程名,学分,选课人数)选课(课程号,学生学号,成绩)授课(课程号,教师编号,上课地点)(3)数据库管理系统:Microsoft SQL Server 2005(4)数据库命名StudentManager(5)数据库表 Logon(登录帐号密码) 主要用来保存用户登录信息字段名数据类型长度是否为空是否主键UserIDchar10不为空主键Passwordrcharr10StudentTab

5、le1(学生信息表)主要用来保存学生信息。字段名数据类型长度主键否是否为空描述StudentIDChar10主键不为空学生学号StudentNameChar10不为空学生姓名StudentSexChar2不为空学生性别StudentBirthdayDatetime8学生生日Classchar16所在班级TeacherTable1(教师信息表) 用来储存教师的基本信息字段名数据类型长度主键否是否为空描述TeacherIDChar10主键不为空教师编号TeacherNameChar10不为空教师姓名TeacherSexChar2不为空教师性别TeacherBirthdayDatetime8教师生日

6、Postchar10教师职称Departmentchar20所在院系CourseTable(课程信息表)字段名数据类型长度主键否是否为空描述CourseIDChar16主键不为空课程编号CourseNameChar16不为空课程名PointChar8不为空学分StuNumberDatetime4不为空选课人数ScoreTable(学生成绩表)用于存储学生成绩字段名数据类型长度是否为空是否主键CourseIDchar16不为空主键StudentIDchar10不为空主键Scoreint4TeachTable(j教师授课表)字段名数据类型长度是否为空是否主键CourseIDchar16不为空主键T

7、eacherIDchar10不为空主键Locationint10(6)数据库账户及权限 (截图)学生账户表教师账户表用户登录表:(7)数据库存储过程:程序代码中尽量不出现SQL语句,所有操作都写成了存储过程,如下:ShowPointSum:Create proc ShowPointSumStudentID_OUT char(10) AS BEGINSELECT SUM(Course.Point)FROM StudentTable1,ScoreTable, CourseWHERE Course.CourseID = ScoreTable.CourseID AND ScoreTable.Stude

8、ntID = StudentID_OUT AND ScoreTable.StudentID=StudentTable1.StudentIDENDShowTeachStuIDcreate proc ShowTeachCount: TNO_IN CHAR(10) AS SELECT DISTINCT ScoreTable.StudentIDFROM ScoreTable,COURSE,TeachTableWHERE ScoreTable.CourseID IN /*Scoretable.CourseID AND*/ (SELECT DISTINCT TeachTable.CourseID FROM

9、 TeachTable,ScoreTable WHERE TeachTable.CourseID = ScoreTable.CourseID and TeachTable.TeacherID = TNO_IN )AllCourse:create proc AllCourseasbegin select x.CourseID,x.CourseName,x.Point ,y.TeacherName,y.Post,z.Location,x.StuNumber from Course x,TeacherTable1 y,TeachTable z where x.CourseID=z.CourseID

10、and y.TeacherID=z.TeacherIDendDeleteLogon :create proc DeleteLogon(id char(10)asbegin delete from Logon where UserID=idendDeleteStudent:create proc DeleteStudent(id char(10)asbegin delete from StudentTable1 where StudentID=idendDeleteTeacher :create proc DeleteTeacher(id char(10)asbegin delete from

11、TeacherTable1 where TeacherID=idendInsertLogon :create proc InsertLogon(id char(10)asbegin insert into Logon values(id,id)endInsertStudent :create proc InsertStudent(userid char(10),username char(10),sex char(2),birth datetime,class char(10)asbegininsert into StudentTable1 values(userid ,username,se

12、x,birth,class)endreturnInsertTeacher:create proc InsertTeacher(userid char(10),username char(10),sex char(2),birth datetime,post char(10),department char(10)asbegininsert into TeacherTable1 values(userid ,username,sex,birth,post,department)endreturnIsExistsStu :create proc IsExistsStu(id char(10)asb

13、egin select * from StudentTable1 where StudentID=idendIsExistsTea:create proc IsExistsTea(id char(10)asbegin select * from Teachertable1 where TeacherID=idendProcAllStu :create proc ProcAllStuasbeginselect * from StudentTable1endProcAllTea create proc ProcAllTeaasbeginselect * from TeacherTable1endP

14、rocLogon:create proc ProcLogon(userid char(16),password char(10)asbegin select * from Logon where UserID=userid and Password=passwordendreturnProcModify:create proc ProcModify(id char(10),password char(16)asbegin update Logon set Password=password where UserID=idendProcStudent :create proc ProcStude

15、nt(id char(10)asbegin select * from StudentTable1 where StudentID=idendSelectCourse :create proc SelectCourse(id char(10),courseid char(16)asbegin insert into ScoreTable values(courseid,id,null)endSelectedCourse: create proc SelectedCourse(id char(10)asbegin select * from ScoreTable where id=Student

16、IDendSelectedCourseNum:create proc SelectedCourseNum(id char(10)asbegin select COUNT(*) from Scoretable where StudentID=idendSelectedDetail :create proc SelectedDetail(id char(10)asbegin select x.CourseID,x.CourseName,x.Point ,y.TeacherName,y.Post,z.Location,s.Score from Course x,TeacherTable1 y,Tea

17、chTable z,ScoreTable s where id=s.StudentID and x.CourseID=z.CourseID and z.TeacherID=y.TeacherID and x.CourseID=s.CourseIDEnd(8)视图设计create view View_NoOneChoiseAsSelect distinct dbo.Course.CourseName, dbo.Course.CourseIDFrom dbo.Course CROSS JOIN dbo.ScoreTableWhere (dbo.Course.CourseID NOT IN (SEL

18、ECT CourseID FROM dbo.ScoreTable AS ScoreTable_1 GROUP BY CourseID)4.系统界面设计(1)窗体功能描述 登录界面Logon.java管理员以帐号Admin密码123登录成功进入管理员的信息管理界面,通过点击“学生信息管理”和“教师信息管理”进入不同的管理界面,学生信息管理界面如下:教师信息管理界面如下:以学生帐号(如:帐号:S001001,密码:S001001)登陆成功后进入如下界面,首先显示的 是学生的基本信息:点击“课程列表”按钮进入如下界面根据自己的跟人兴趣选择课程,选择的课程数目不能超过3门否则弹出对话框如下:点击“确定

19、”跳转到已选课程列表。在主界面点击“已选课程”按钮也可以进入下面的界面查看已经选择的课程:以教师帐号(如:帐号:T01001,密码:T01001)登陆成功后进入如下界面,首先显示的 是教师的基本信息,点击“录入成绩”可以通过表格来录入学生的成绩,界面如下图所示:四、实现数据库连接技术封装数据库操作的类:SqlManager.javaimport java.sql.*;import java.util.*;import javax.swing.JOptionPane;public class SqlManager private static SqlManager p=null; private

20、 PropertyResourceBundle bundle; private static String jdbcDriver=null; private static String split=null; private String DBType=null; private String DBhost=localhost; private String DBname=; private String DBport=; private String DBuser=; private String DBpassword=; private Connection Sqlconn=null; p

21、rivate Statement Sqlstmt=null; private String strCon=null; private SqlManager() try bundle=new PropertyResourceBundle(SqlManager.class. getResourceAsStream(/sysConfig.properties); this.DBhost=getString(DBhost); this.DBname=getString(DBname); this.DBport=getString(DBport); this.DBuser=getString(DBuse

22、r); this.DBpassword=getString(DBpassword); String system_type=getString(system-type); if(system_type!=null) if(system_type!=null) if(system_type.toLowerCase().equals(widows) split=; else if(system_type.toLowerCase().equals(unix) split=:; String database_type=getString(database-type); this.DBType=dat

23、abase_type; if(database_type!=null) if(database_type.toLowerCase().equals(mysql) jdbcDriver=com.mysql.jdbc.Driver; strCon=jdbc:mysql:/+DBhost+:+DBport+/+DBname; else if(database_type.toLowerCase().equals(oracle) jdbcDriver=oracle.jdbc.driver.OracleDriver; strCon=jdbc:oracle:thin:+DBhost+:+DBport+:+D

24、Bname; else if(database_type.toLowerCase().equals(sqlserver) jdbcDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver; strCon=jdbc:microsoft:sqlserver:/+DBhost+:+DBport+;DatabaseName=+DBname; catch(Exception e) e.printStackTrace(); public static SqlManager createInstance() if(p=null) p=new SqlManager

25、(); p.initDB(); return p; private String getString(String s) return this.bundle.getString(s); public void initDB() System.out.println(strCon); System.out.println(jdbcDriver); try Class.forName(jdbcDriver); catch(Exception ex) System.err.println(Cant Find Database Driver.); public void connectDB() tr

26、y System.out.println(SqlManager:Connecting to database.); Sqlconn=DriverManager.getConnection(strCon,DBuser,DBpassword); Sqlstmt=Sqlconn.createStatement(); catch(SQLException ex) System.err.println(connectDB+ex.getMessage(); System.out.println(SqlManager:Connect to database successful.); public void

27、 closeDB() try System.out.println(SqlManager:Close connection to database.); Sqlstmt.close(); Sqlconn.close(); catch(SQLException ex) System.err.println(closeDB:+ex.getMessage(); System.out.println(Sqlmanager:Close connection successful.); public int executeUpdate(String sql) int ret=0; try ret=Sqlstmt.executeUpdate(sql); catch(SQLException ex) System.out.println(executeUpdate:+ex.getMessage(); return ret; public ResultSet executeQuery(String sql) ResultSet rs=null; try rs=Sqlstmt.executeQuery(sql); catch(SQLException ex) System.err.println(executeQuery:+ex.getMessage(); return rs;

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

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