2某高校学生选课系统Word文档格式.docx

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

2某高校学生选课系统Word文档格式.docx

《2某高校学生选课系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《2某高校学生选课系统Word文档格式.docx(24页珍藏版)》请在冰点文库上搜索。

2某高校学生选课系统Word文档格式.docx

各模块功能:

●登录界面:

登录界面是有帐号,密码两个JTextField,管理员帐号一字母A开头,教师帐号一字母T开头,学生帐号以字母S开头,登录帐号或密码输入错误会弹出相应的提示对话框。

●学生信息管理模块:

管理员用于添加和删除学生信息的模块。

●教师信息管理模块:

管理员用于添加和删除教师信息的模块。

●教师密码修改模块和学生密码修改模块:

管理员添加的用户帐号的初始密码与用户的帐号相同,用户通过密码修改模块可以自己需改密码。

●教师录入成绩模块:

教师可以浏览选修自己课程的学生的信息并且录入该学生的成绩。

●学生选择选修课模块:

该模块通过表格的形式将所有课程列出来,学生可以根据个人兴趣选择不同的课程,每个学生选择的课程数目不能超过3门,而且不能重复选课,否则会弹出对话框,提示用户查看已经选择了的课程。

●学生查询成绩模块:

通过表格的形式将该学生选择了的课程列出来,如果教师有录入成绩,则可以看到自己的课程成绩。

3.数据库设计

(1)全局E-R图

(2)关系模式

学生(学生学号,学生姓名,教师性别,教师生日,所在班级)

教师(教师编号,教师姓名,教师性别,教师生日,教师职称,所在院系)

课程(课程号,课程名,学分,选课人数)

选课(课程号,学生学号,成绩)

授课(课程号,教师编号,上课地点)

(3)数据库管理系统:

MicrosoftSQLServer2005

(4)数据库命名

StudentManager

(5)数据库表

Logon(登录帐号密码)

主要用来保存用户登录信息

字段名

数据类型

长度

是否为空

是否主键

UserID

char

10

不为空

主键

Passwordr

charr

StudentTable1(学生信息表)

主要用来保存学生信息。

主键否

描述

StudentID

Char

学生学号

StudentName

学生姓名

StudentSex

2

学生性别

StudentBirthday

Datetime

8

学生生日

Class

16

所在班级

TeacherTable1(教师信息表)

用来储存教师的基本信息

TeacherID

教师编号

TeacherName

教师姓名

TeacherSex

教师性别

TeacherBirthday

教师生日

Post

教师职称

Department

20

所在院系

CourseTable(课程信息表)

CourseID

课程编号

CourseName

课程名

Point

学分

StuNumber

4

选课人数

ScoreTable(学生成绩表)

用于存储学生成绩

Score

int

TeachTable(j教师授课表)

Location

(6)数据库账户及权限(截图)

学生账户表

教师账户表

用户登录表:

(7)数据库存储过程:

程序代码中尽量不出现SQL语句,所有操作都写成了存储过程,如下:

ShowPointSum:

CreateprocShowPointSum

@StudentID_OUTchar(10)

AS

BEGIN

SELECTSUM(Course.Point)

FROMStudentTable1,ScoreTable,Course

WHERECourse.CourseID=ScoreTable.CourseIDANDScoreTable.StudentID=@StudentID_OUTANDScoreTable.StudentID=StudentTable1.StudentID

END

ShowTeachStuID

createprocShowTeachCount:

@TNO_INCHAR(10)

ASSELECTDISTINCTScoreTable.StudentID

FROMScoreTable,COURSE,TeachTable

WHEREScoreTable.CourseIDIN/*Scoretable.CourseIDAND*/(SELECTDISTINCTTeachTable.CourseID

FROMTeachTable,ScoreTable

WHERETeachTable.CourseID=ScoreTable.CourseIDandTeachTable.TeacherID=@TNO_IN)

AllCourse:

createprocAllCourse

as

begin

selectx.CourseID,x.CourseName,x.Point,y.TeacherName,y.Post,z.Location,x.StuNumber

fromCoursex,TeacherTable1y,TeachTablez

wherex.CourseID=z.CourseIDandy.TeacherID=z.TeacherID

end

DeleteLogon:

createprocDeleteLogon(@idchar(10))

begin

deletefromLogon

whereUserID=@id

DeleteStudent:

createprocDeleteStudent(@idchar(10))

deletefromStudentTable1

whereStudentID=@id

DeleteTeacher:

createprocDeleteTeacher(@idchar(10))

deletefromTeacherTable1

whereTeacherID=@id

InsertLogon:

createprocInsertLogon(@idchar(10))

insertintoLogon

values(@id,@id)

InsertStudent:

createprocInsertStudent(@useridchar(10),@usernamechar(10),@sexchar

(2),@birthdatetime,@classchar(10))

insertintoStudentTable1values(@userid,@username,@sex,@birth,@class)

return

InsertTeacher:

createprocInsertTeacher(@useridchar(10),@usernamechar(10),@sexchar

(2),@birthdatetime,@postchar(10),@departmentchar(10))

insertintoTeacherTable1values(@userid,@username,@sex,@birth,@post,@department)

IsExistsStu:

createprocIsExistsStu(@idchar(10))

select*fromStudentTable1

IsExistsTea:

createprocIsExistsTea(@idchar(10))

select*fromTeachertable1

ProcAllStu:

createprocProcAllStu

select*fromStudentTable1

ProcAllTea

createprocProcAllTea

select*fromTeacherTable1

ProcLogon:

createprocProcLogon(@useridchar(16),@passwordchar(10))

select*

fromLogon

whereUserID=@useridandPassword=@password

ProcModify:

createprocProcModify(@idchar(10),@passwordchar(16))

updateLogon

setPassword=@password

ProcStudent:

createprocProcStudent(@idchar(10))

SelectCourse:

createprocSelectCourse(@idchar(10),@courseidchar(16))

insertintoScoreTable

values(@courseid,@id,null)

SelectedCourse:

createprocSelectedCourse(@idchar(10))

select*fromScoreTable

where@id=StudentID

SelectedCourseNum:

createprocSelectedCourseNum(@idchar(10))

selectCOUNT(*)

fromScoretable

SelectedDetail:

createprocSelectedDetail(@idchar(10))

selectx.CourseID,x.CourseName,x.Point,y.TeacherName,y.Post,z.Location,s.Score

fromCoursex,TeacherTable1y,TeachTablez,ScoreTables

where@id=s.StudentIDandx.CourseID=z.CourseIDandz.TeacherID=y.TeacherID

andx.CourseID=s.CourseID

End

(8)视图设计

createviewView_NoOneChoise

As

Selectdistinctdbo.Course.CourseName,dbo.Course.CourseID

Fromdbo.CourseCROSSJOIN

dbo.ScoreTable

Where(dbo.Course.CourseIDNOTIN

(SELECTCourseID

FROMdbo.ScoreTableASScoreTable_1

GROUPBYCourseID))

4.系统界面设计

(1)窗体功能描述

登录界面Logon.java

管理员以帐号Admin密码123登录成功进入管理员的信息管理界面,通过点击“学生信息管理”和“教师信息管理”进入不同的管理界面,学生信息管理界面如下:

教师信息管理界面如下:

以学生帐号(如:

帐号:

S001001,密码:

S001001)登陆成功后进入如下界面,首先显示的是学生的基本信息:

点击“课程列表”按钮进入如下界面

根据自己的跟人兴趣选择课程,选择的课程数目不能超过3门否则弹出对话框如下:

点击“确定”跳转到已选课程列表。

在主界面点击“已选课程”按钮也可以进入下面的界面查看已经选择的课程:

以教师帐号(如:

T01001,密码:

T01001)登陆成功后进入如下界面,首先显示的是教师的基本信息,

点击“录入成绩”可以通过表格来录入学生的成绩,界面如下图所示:

四、实现数据库连接技术

封装数据库操作的类:

SqlManager.java

importjava.sql.*;

importjava.util.*;

importjavax.swing.JOptionPane;

publicclassSqlManager{

privatestaticSqlManagerp=null;

privatePropertyResourceBundlebundle;

privatestaticStringjdbcDriver=null;

privatestaticStringsplit=null;

privateStringDBType=null;

privateStringDBhost="

localhost"

;

privateStringDBname="

"

privateStringDBport="

privateStringDBuser="

privateStringDBpassword="

privateConnectionSqlconn=null;

privateStatementSqlstmt=null;

privateStringstrCon=null;

privateSqlManager(){

try{

bundle=newPropertyResourceBundle(SqlManager.class.

getResourceAsStream("

/sysConfig.properties"

));

this.DBhost=getString("

DBhost"

);

this.DBname=getString("

DBname"

this.DBport=getString("

DBport"

this.DBuser=getString("

DBuser"

this.DBpassword=getString("

DBpassword"

Stringsystem_type=getString("

system-type"

if(system_type!

=null){

if(system_type!

if(system_type.toLowerCase().equals("

widows"

))

split="

elseif(system_type.toLowerCase().equals("

unix"

:

}

Stringdatabase_type=getString("

database-type"

this.DBType=database_type;

if(database_type!

if(database_type.toLowerCase().equals("

mysql"

)){

jdbcDriver="

com.mysql.jdbc.Driver"

strCon="

jdbc:

mysql:

//"

+DBhost+"

+DBport+"

/"

+DBname;

}

elseif(database_type.toLowerCase().equals("

oracle"

oracle.jdbc.driver.OracleDriver"

oracle:

thin:

@"

sqlserver"

com.microsoft.jdbc.sqlserver.SQLServerDriver"

microsoft:

sqlserver:

DatabaseName="

}

}catch(Exceptione){

e.printStackTrace();

}

}

publicstaticSqlManagercreateInstance(){

if(p==null)

{

p=newSqlManager();

p.initDB();

returnp;

privateStringgetString(Strings)

{

returnthis.bundle.getString(s);

publicvoidinitDB(){

System.out.println(strCon);

System.out.println(jdbcDriver);

Class.forName(jdbcDriver);

}catch(Exceptionex){

System.err.println("

Can'

tFindDatabaseDriver."

publicvoidconnectDB(){

System.out.println("

SqlManager:

Connectingtodatabase..."

Sqlconn=DriverManager.getConnection(strCon,DBuser,DBpassword);

Sqlstmt=Sqlconn.createStatement();

}catch(SQLExceptionex){

connectDB"

+ex.getMessage());

System.out.println("

Connecttodatabasesuccessful."

publicvoidcloseDB(){

Closeconnectiontodatabase..."

Sqlstmt.close();

Sqlconn.close();

closeDB:

Sqlmanager:

Closeconnectionsuccessful."

publicintexecuteUpdate(Stringsql){

intret=0;

ret=Sqlstmt.executeUpdate(sql);

}catch(SQLExceptionex)

executeUpdate:

returnret;

publicResultSetexecuteQuery(Stringsql){

ResultSetrs=null;

rs=Sqlstmt.executeQuery(sql);

executeQuery:

returnrs;

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

当前位置:首页 > 法律文书 > 辩护词

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

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