学生信息管理系统完整Word下载.docx
《学生信息管理系统完整Word下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统完整Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
班级号
Tele_number
联系电话
Ru_date
入校时期
Address
Varchar(50)
家庭住址
comment
Varchar(200)
备注
(2)班级基本信息:
class_Info
班级号(主键)
Class_name
班级名称
Director
班主任
profession
专业
(3)课程基本信息:
course_Info
Course_no
课程编号(主键)
Course_name
课程名称
Course_type
课程类型
Course_start
开始学期
Course_time
学时数
Course_score
学分
(4)学生成绩信息:
result_Info
课程号(主键)
result
Float(8)
成绩
(5)用户信息:
user_Info
User_code
用户密码(主键)
User_name
用户名(主键)
学生信息管理系统(需求分析)
1.系统开发背景分析
系统的功能取决开用户的需求。
随着科技进步和信息时代的到来,教育的普及程度起来起高,学校的人数也在迅速的增长,怎样的管理好成千上万的学生,已经成为一个学校的管理者必须面对的问题。
编写本报告的目的就是用最少的代价,尽可能短的时间内确定问题是否能够解决,通过对学校的一些管理软件的调研分析,发现了一些不足,所以拟做此系统,使学生信息的管理更加准确,安全和快捷。
在本次试验中包括的模块有学生信息管理、课程信息管理、成绩信息管理和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。
a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间,班级编号,家庭地址)
b)课程(课程编号,课程名称,课程类别,学分,学时)
c)班级(系,班级号,指导老师)
2.系统分析
1.抽象出当前系统的逻辑模型
画出反映当前系统工作的数据流程图。
数据流程图是逻辑模型的图形表示,即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的表示方法。
画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保留数据、信息处理部分。
2.系统功能分析
系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进行日常管理,如:
查询、修改、增加、删除。
3.系统目标设计
根据本校的实际情况,利用校园网而设计一套针对性和功能都比较强的学生信息管理系统,对学生信息管理系统进行科学的分类、录入、查询.
4.开发设计思想
尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用资源,提高系统开发的水平和应用效果的目的。
系统应该符合学校学生信息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、实用、安全等要求。
强调多部门合作,学生工作设计面广泛,应该考虑各部门各层次的需求,便于维护。
要建立可靠的数据备份。
通过对数据流程图的进一步分析,得出学生信息管理系统应该具备以下功能:
1、实现学生基本信息的登记
2、实现数据的浏览与修改
3、实现查询符合一定条件的资料
4、实现学生有关数据的统计分析
5.E-R图
6.数据流程图
7.数据字典
学生信息管理系统(实现、调试、运行)
编码
1、登录模块代码:
OptionExplicit
PrivateSubcmd3_Click()
DimcnAsADODB.Connection
DimrsAsADODB.Recordset
Dimstr_cnAsString'
访问sqlserver的连接字符串
Dimstr_sqlAsString
str_cn="
driver={sqlserver};
server=.;
uid=sa;
pwd=;
database=student"
Setcn=NewADODB.Connection
cn.CursorLocation=adUseClient
cn.Openstr_cn'
连接sqlserver
str_sql="
select*fromuser_infowhereuser_name='
"
&
Text1.Text&
"
'
anduser_code='
Text2.Text&
Setrs=NewADODB.Recordset
rs.Openstr_sql,cn,adOpenDynamic,adLockOptimistic
IfLen(Text1.Text)=0Then
MsgBox"
请输入用户名!
64,"
提示"
Text1.SetFocus
ElseIfLen(Text2.Text)=0Then
请输入密码!
Text2.SetFocus
Else
Ifrs.RecordCount=0Then
i=MsgBox("
不存在该用户,是否立即注册?
4+32,"
)
Ifi=6Then
UnloadMe
Form3.Show
Else
mdlTextBox.BlankMe
EndIf
'
Form1.Hide
Form4.Show
EndIf
EndSub
PrivateSubForm_Load()
mdlTextBox.CentenMe'
使窗体居中
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label5.ForeColor=vbBlack
Label5.FontUnderline=False
Label6.ForeColor=vbBlack
Label6.FontUnderline=False
PrivateSubLabel5_Click()
UnloadMe
Form3.Show
PrivateSubLabel5_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label5.ForeColor=vbBlue
Label5.FontUnderline=True
PrivateSubLabel6_Click()
Form2.Show
PrivateSubLabel6_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label6.ForeColor=vbBlue
Label6.FontUnderline=True
2、添加学生信息代码:
PrivateSubCommand1_Click()
IfLen(Text1.Text)=0OrLen(Text6.Text)=0Then
请将信息补充完整!
48,"
警告"
ExitSub
添加新记录
sqlstr="
select*fromstudent_Info"
Setrs=ExecuteSQL(sqlstr,Msg)
rs.AddNew
rs.Fields("
student_id"
)=Text6.Text
student_name"
)=Text1.Text
class_no"
)=Combo2.Text
born_date"
)=Text2.Text
student_sex"
)=Combo1.Text
address"
)=Text4.Text
tele_number"
)=Text7.Text
comment"
)=Text5.Text
ru_date"
)=Text3.Text
rs.Update
rs.Close
MsgBox"
学生信息添加完成!
提示信息"
mdlTextBox.BlankMe
PrivateSubCommand2_Click()
Form4.Show
mdlTextBox.CentenMe
Combo1.Text="
男"
:
Combo2.Text="
Combo1.AddItem"
女"
select*fromclass_Info"
Fori=1Tors.RecordCount
Combo2.AddItemrs.Fields(0)
rs.MoveNext
Nexti
3、删改学生信息代码:
PrivateSubCommand4_Click()
从数据库中读取学生信息并添加到窗体中的输入框
sqlstr="
select*fromstudent_Infowherestudent_id='
Combo2.Text&
andclass_no='
Combo1.Text&
Setrs=ExecuteSQL(sqlstr,Msg)
没有找到符合条件的数据!
mdlTextBox.BlankMe:
Combo3.Text="
Text2.Text=Trim(rs.Fields("
))
Text1.Text=Trim(rs.Fields("
Text3.Text=Trim(rs.Fields("
Combo3.Text=Trim(rs.Fields("
Combo4.Text=Trim(rs.Fields("
Text4.Text=Trim(rs.Fields("
Text5.Text=Trim(rs.Fields("
Text6.Text=Trim(rs.Fields("
Text7.Text=Trim(rs.Fields("
rs.Close
updatestudent_infosetstudent_name='
born_date='
Text3.Text&
student_sex='
Combo4.Text&
class_no='
tele_number='
Text4.Text&
address='
Text5.Text&
comment='
Text6.Text&
ru_date='
Text7.Text&
wherestudent_id='
OnErrorGoToexitsub
Setcn=NewADODB.Connection
cn.Openconnstr
cn.Executesqlstr
成功修改数据!
!
exitsub:
cn.Close
deletefromstudent_infowherestudent_id='
OnErrorGoToexitsub
cn.Openconnstr
cn.Executesqlstr
成功删除数据!
cn.Close
PrivateSubCommand3_Click()
Combo3.Text="
Combo4.Text="
Combo4.AddItem"
DimsqlstrAsString
DimMsgAsString
DimiAsInteger
Combo1.AddItemrs.Fields(0)
Combo3.AddItemrs.Fields(0)
Next
DimsqlAsString
DimmsgtextAsString
sql="
Setrs=ExecuteSQL(sql,msgtext)
4、查询学生信息:
DimrsAsNewADODB.Recordset
DimcnAsNewADODB.Connection
DimcnstrAsString
cnstr="
cn.Opencnstr
IfOption1.Value=TrueThen
select*fromstudent_info"
Combo1.Text="
Text1.Text="
Text2.Text="
IfOption2.Value=TrueThen
select*fromstudent_infowhereclass_no='
IfOption3.Value=TrueThen
select*fromstudent_infowherestudent_id='
IfOption4.Value=TrueThen
select*fromstudent_infowherestudent_name='
rs.Opensqlstr,cn
Ifrs.RecordCount=0Then
没有查找到满足条件的数据!
fgStudent.Rows=1
fgStudent.Rows=rs.RecordCount+1
fgStudent.Cols=9
设定行高
Fori=0TofgStudent.Rows-1
fgStudent.RowHeight(i)=280
Nexti
设定列的属性
fgStudent.Row=0
Fori=0TofgStudent.Cols-1
fgStudent.Col=i'
指定当前列为第I列
fgStudent.FixedAlignment(i)=4'
使内容居中
SelectCasei
Case0
fgStudent.ColWidth(i)=1500'
设定列宽
fgStudent.Text="
学号"
Case1
fgStudent.ColWidth(i)=2000'
姓名"
Case2
fgStudent.ColWidth(i)=800'
性别"
Case3
班级"
Case4
fgStudent.ColWidth(i)=1300'
出生日期"
Case5
电话"
Case6
fgStudent.ColWidth(i)=1500
入学时间"
Case7
fgStudent.ColWidth(i)=2500'
地址"
Case8
fgStudent.ColWidth(i)=3000'
备注信息"
EndSelect
i=1'
从第二行开始显示内容
While(Notrs.EOF)
fgStudent.Row=i
Forj=0TofgStudent.Cols-1
fgStudent.Col=j
fgStudent.CellAlignment=4
SelectCasej
fgStudent.Text=rs.Fields("
Nextj
i=i+1
Wend