数据库课程设计报告学生信息管理系统1.doc

上传人:laozhun 文档编号:2395750 上传时间:2023-02-17 格式:DOC 页数:24 大小:255KB
返回 下载 相关 举报
数据库课程设计报告学生信息管理系统1.doc_第1页
第1页 / 共24页
数据库课程设计报告学生信息管理系统1.doc_第2页
第2页 / 共24页
数据库课程设计报告学生信息管理系统1.doc_第3页
第3页 / 共24页
数据库课程设计报告学生信息管理系统1.doc_第4页
第4页 / 共24页
数据库课程设计报告学生信息管理系统1.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据库课程设计报告学生信息管理系统1.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告学生信息管理系统1.doc(24页珍藏版)》请在三一办公上搜索。

1、课程设计报告题目:学生信息管理系统班级:09软件本班成员:XXX XXX XXX具体分工 XXX:负责数据库的建立, 数据库的连接,编写设计报告, 系统部分编程、调试XXX:负责系统的功能设计、系统流程设计、系统部分编程、调试、运行XXX:输入/输出方案设计、数据库模型设计,系统部分编程、调试、运行目录一、实验目的-2二、应用需求分析-2三、主要功能(系统流程图)-3四、ER图-3五、数据库设计-4六、系统操作-6七、总结-10附录:本系统代码一 实验目的:掌握VB编程技术及其平台的使用、asp的动态网业制作和SQL Server数据库的建立和使用。二 应用需求分析学生信息管理系统需要满足来自

2、三方面的需求,这两个方面分别是学生、管理员。学生的需求是个人信息查询、修改个人信息、修改密码及成绩查询;管理员对学生信息情况进行操作、添加删除课程、修改密码、添加管理员、添加班级。学生可以直接查看个人信息情况,学生可以根据本人学号和密码登录系统,还可以维护部分个人信息。一般情况下,学生只应该查询和维护本人的信息情况。若查询和修改其他学生的信息情况,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了个人隐私。管理员有管理员的使用权限,对系统有维护的权限。管理员能够查询、添加、删除课程,也能添加新的管理员和学生用户,还能注销学生用户,也能添加新的班级。三

3、 主要功能:1. 学生:个人信息查询、修改个人信息、修改密码、成绩查询2. 管理员:添加学生用户、添加课程、成绩管理、删除课程、注销学生用户、修改密码、添加管理员、添加班级3系统流程图用户登入学生管理员个人信息查询修改个人信息修改密码成绩查询添加学生用户添加课程成绩管理删除课程注销学生用户修改密码添加管理员添加班级四、 ER图学生管理员课程查询管理学号姓名班级性别密码用户号姓名密码学生管理员号学号课程姓名职工号姓名课程电话号码学生信息五、 数据库设计1.表设计:studentInformation(sid,classid,sname,sex,jiguan,telephong,room)clas

4、s(classid,sumNO,classname,)object(cid,cname,teacher)mark(sid,cid,mark,xuefen)user(sid,password)admin(adminid,adminname,password)2.在查询分析器中创建表 studentInformation 学生信息表(sid char(8) primary key not null, classid char(10), sname char(20), sex char(2), jiguan char(20), telephong char(20) ,room char(20)cla

5、ss 班级表(classid char(8) primary key not null, sumNO char(10), classname char(20), not null)object 课程信息表(cid char(8),cname ,char(20),teacher char(20)not null)mark 成绩表(sid char(20) ,cid char(20),mark char(20 ),xuefen char(20)user 用户表(sid char(20) ,password char(20),not null) admin 管理员(adminid char(20),

6、adminname char(20),password char(20), not null)六、 系统操作1.登陆一 、进入首页选择管理员或学生登陆,输入正确的用户号和密码就能进入操作主界面。二、登入进人了学生界面,可以进行个人信息查询,修改个人信息,修改密码,成绩查询三 登入进人了管理员界面,可以进行添加学生用户,添加课程,成绩管理,删除课程,注销学生用户,修改密码,添加管理员,添加班级七总结 通过学习vb语言和ASP的设计,知道任何工作都不是那么简单可以完成的,经过此次作业使我更加熟练了对数据库等的操作, 熟练掌握SqlServer数据库的使用,数据库应用软件系统的设计方法,熟练掌握使用

7、VB开发平台的使用。附录:系统代码Option Explicit标识是否能关闭Dim mbClose As Boolean标识当前要显示的照片的文件Dim mstrFileName As StringPrivate Sub Form_Load() On Error Resume Next If frmMain.mnUserType = 1 Then 学生用户 fraSeek.Enabled = False fraBrowse.Enabled = False cmdAdd.Enabled = False cmdDelete.Enabled = False txtSerial.Enabled =

8、False dcbClass.Enabled = False grdScan.Enabled = False If Not (DataEnv.rsStudent.EOF And DataEnv.rsStudent.BOF) Then Dim Temp As String Temp = name = & & frmMain.msUserName & DataEnv.rsStudent.MoveFirst DataEnv.rsStudent.Find Temp 刷新所绑定的控件 Call RefreshBinding End If Exit Sub Else fraSeek.Enabled = T

9、rue fraBrowse.Enabled = True cmdAdd.Enabled = True cmdDelete.Enabled = True txtSerial.Enabled = True dcbClass.Enabled = True grdScan.Enabled = True End If Dim rsDep As New ADODB.Recordset, rsClass As New ADODB.Recordset Set rsDep = DataEnv.rsDepartment Set rsClass = DataEnv.rsClass rsDep.Open 从Depar

10、tment表中读取数据,填充cboDep组合框到中 cboDep.Clear cboDep.AddItem 全部 将各个系的id号作为ItemData附加到组合框中 cboDep.ItemData(0) = 0 While Not rsDep.EOF cboDep.AddItem rsDep(Name) cboDep.ItemData(cboDep.ListCount - 1) = rsDep(id) rsDep.MoveNext Wend cboDep.ListIndex = 0 从class表中读取数据,填充到cboClass组合框中 cboClass.Clear cboClass.Add

11、Item 全部 While Not rsClass.EOF cboClass.AddItem rsClass(Name) rsClass.MoveNext Wend cboClass.ListIndex = 0 cmdList.Value = True fraManage.Enabled = True mbClose = True 调用grdScan_Change事件显示记录明细 Call grdScan_ChangeEnd Sub当DataEnv.rsStudent的当前记录发生变化时,刷新所绑定的控件(用户改变了当前记录)Sub RefreshBinding() On Error Resu

12、me Next With DataEnv.rsStudent If DataEnv.rssqlSeek.BOF And DataEnv.rssqlSeek.EOF Then 如果不存在任何记录,则清空所有的绑定的内容 txtSerial = txtName = dtpBirth.Value = txtTelephone = txtAddress = txtResume = imgPhoto.Picture = LoadPicture(Null) Else 否则和相应的字段进行绑定 txtSerial = .Fields(serial) txtName = .Fields(name) dtpBi

13、rth.Value = .Fields(birthday) txtTelephone = .Fields(tel) txtAddress = .Fields(address) txtResume = .Fields(resume) cboSex.Text = .Fields(sex) dcbClass.Text = .Fields(class) imgPhoto.Picture = LoadPicture(ReadImage(.Fields(photo) End If End WithEnd Sub在DataEnv.rsStudent中查询serial为sSerial的学籍信息Sub Seek

14、Student(sSerial As String) If Not (DataEnv.rsStudent.EOF And DataEnv.rsStudent.BOF) Then Dim Temp As String Temp = serial = & & sSerial & DataEnv.rsStudent.MoveFirst DataEnv.rsStudent.Find Temp 刷新所绑定的控件 Call RefreshBinding End IfEnd Sub当改变记录集时,需要刷新用户导航的网格控件Sub RefreshGrid() grdScan.DataMember = grdS

15、can.Refresh DataEnv.rssqlSeek.Requery grdScan.DataMember = sqlSeek grdScan.Refresh 刷新各个绑定控件 Call grdScan_ChangeEnd Sub用以在浏览时,根据当前记录所出的位置不同,来改变各个浏览按钮的状态Sub ChangeBrowseState() With DataEnv.rssqlSeek If .State = adStateClosed Then .Open 如果没有任何记录,使某些按钮无效;否则则使这些按钮有效 If .BOF And .EOF Then cmdAdd.Enabled

16、= True cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = False cmdReport.Enabled = False fraBrowse.Enabled = False Else cmdAdd.Enabled = True cmdEdit.Enabled = True cmdDelete.Enabled = True cmdUpdate.Enabled = False cmdReport.Enabled = True fraBrowse.Enabled = True End If 假如处于记录的

17、头部 If .BOF Then If Not .EOF Then DataEnv.rsStudent.MoveFirst cmdPrevious.Enabled = False cmdFirst.Enabled = False Else cmdPrevious.Enabled = True cmdFirst.Enabled = True End If 假如处于记录的尾部 If .EOF Then If Not .BOF Then DataEnv.rsStudent.MoveLast cmdNext.Enabled = False cmdLast.Enabled = False Else cmd

18、Next.Enabled = True cmdLast.Enabled = True End If End With mstrFileName = End SubPrivate Sub cboDep_Click() Dim rsClass As New ADODB.Recordset Dim strSQL 根据所选的系的不同,采用不同的SQL语句 If cboDep.ItemData(cboDep.ListIndex) = 0 Then strSQL = select * from 班级信息表 Else strSQL = select * from 班级信息表 where dept_id= &

19、 cboDep.ItemData(cboDep.ListIndex) End If rsClass.Open strSQL, DataEnv.Con 将所查到的rsClass中的内容来填充cboClass cboClass.Clear cboClass.AddItem 全部 While Not rsClass.EOF cboClass.AddItem rsClass(Name) rsClass.MoveNext Wend cboClass.ListIndex = 0 rsClass.Close Set rsClass = NothingEnd SubPrivate Sub cmdAdd_Cli

20、ck() 添加记录 fraSeek.Enabled = False fraBrowse.Enabled = False grdScan.Enabled = False DataEnv.rsStudent.AddNew dtpBirth.Value = 1980-01-01 fraInfo.Enabled = True fraBrowse.Enabled = False cmdAdd.Enabled = False cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdReport.Captio

21、n = 取消 cmdReport.Enabled = True mbClose = False 不能关闭窗口End SubPrivate Sub cmdDelete_Click() 如果出错,则显示错误代码 On Error GoTo errHandler If MsgBox(要删除记录?, vbYesNo + vbQuestion + vbDefaultButton2, 确认) = vbYes Then 通过在DataEnv.Con中执行SQL命令,来删除记录 DataEnv.Con.Execute delete from 学生信息表 where serial = & txtSerial &

22、 DataEnv.rsStudent.MoveNext If DataEnv.rsStudent.EOF Then DataEnv.rsStudent.MoveLast 刷新用户导航的网格控件 Call RefreshGrid End If Exit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub cmdEdit_Click() 编辑记录之前,需要设置其他控件的Enabled属性 fraSeek.Enabled = False fraBrowse.Enabled = False grdScan.En

23、abled = False fraInfo.Enabled = True cmdAdd.Enabled = False cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdReport.Caption = 取消 更改cmdReport标题 cmdReport.Enabled = True mbClose = False 出于编辑状态,则用户不能关闭窗口End SubPrivate Sub cmdFirst_Click() 移动到记录的头部,并改变各个浏览按钮的状态 DataEnv.rssql

24、Seek.MoveFirst DataEnv.rssqlSeek.MovePrevious Call ChangeBrowseStateEnd SubPrivate Sub cmdLast_Click() 移动到记录的尾部,并改变各个浏览按钮的状态 DataEnv.rssqlSeek.MoveLast DataEnv.rssqlSeek.MoveNext Call ChangeBrowseStateEnd SubPrivate Sub cmdList_Click() 针对所选的班级,列出班级中所有的学籍信息 Dim strSQL If cboClass.Text = 全部 Then strSQ

25、L = from 学生信息表 order by serial Else strSQL = from 学生信息表 where class= & cboClass & order by serial End If DataEnv.rsStudent.Close DataEnv.rsStudent.Open select * & strSQL DataEnv.rssqlSeek.Close DataEnv.rssqlSeek.Open select serial, name & strSQL 刷新用户导航的网格控件,并且根据记录集中记录的数目,来改变各个浏览按钮的状态。 Call RefreshGr

26、id Call ChangeBrowseState Call grdScan_ChangeEnd SubPrivate Sub cmdNext_Click() 移动到记录的下一条 DataEnv.rssqlSeek.MoveNext Call ChangeBrowseStateEnd SubPrivate Sub cmdPrevious_Click() 移动到记录的上一条 DataEnv.rssqlSeek.MovePrevious Call ChangeBrowseStateEnd SubPrivate Sub cmdReport_Click() On Error Resume Next I

27、f cmdReport.Caption = 取消 Then 取消所使用的更新更新 DataEnv.rsStudent.CancelUpdate 重新显示原来数据集中的内容 If DataEnv.rsStudent.BOF Then DataEnv.rsStudent.MoveFirst Else DataEnv.rsStudent.MovePrevious DataEnv.rsStudent.MoveNext End If Call RefreshBinding Call ChangeBrowseState fraSeek.Enabled = True fraBrowse.Enabled =

28、True fraInfo.Enabled = False grdScan.Enabled = True cmdReport.Caption = 报表(R) mbClose = True Else 生成报表 Dim strSQL As String DataEnv.rsrptStudent.Close strSQL = select * from 学生信息表 where serial = & txtSerial.Text & DataEnv.rsrptStudent.Open strSQL rptStudent.Show End IfEnd SubPrivate Sub cmdSelectPho

29、to_Click() On Error GoTo errHandler: dlgSelect.DialogTitle = 选择该学生的照片 dlgSelect.Filter = 所有图形文件|*.bmp;*.dib;*.gif;*.jpg;*.ico|位图文件(*.bmp;*.dib) & _ |*.bmp;*.dib|GIF文件(*.gif)|*.gif|JPEG文件(*.jpg)|*.jpg|图标文件(*.ico)|*.ico dlgSelect.ShowOpen If dlgSelect.FileName = Then Exit Sub imgPhoto.Picture = LoadPi

30、cture(dlgSelect.FileName) mstrFileName = dlgSelect.FileName Exit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub cmdUpdate_Click() 更新所添加或者修改的记录 On Error GoTo errHandler: Dim str As String str = txtSerial.Text With DataEnv.rsStudent .Fields(Serial) = txtSerial.Text .Fields(nam

31、e) = txtName.Text .Fields(sex) = cboSex.Text .Fields(class) = dcbClass.Text .Fields(birthday) = dtpBirth.Value .Fields(tel) = txtTelephone.Text .Fields(address) = txtAddress.Text .Fields(resume) = txtResume.Text If mstrFileName Then Call WriteImage(.Fields(photo), mstrFileName) .Update End With cmdR

32、eport.Caption = 报表(&R) cmdUpdate.Enabled = False fraInfo.Enabled = False mbClose = True If DataEnv.rssqlSeek.State = adStateClosed Then DataEnv.rssqlSeek.Open 刷新右端用以导航的网格控件 Call RefreshGrid 根据记录集中记录的个数,改变各个按钮的状态 Call ChangeBrowseState 定位到刚刚添加或者修改过的记录 DataEnv.rssqlSeek.MoveFirst DataEnv.rssqlSeek.Fin

33、d serial= & str & fraSeek.Enabled = True fraBrowse.Enabled = True grdScan.Enabled = True Exit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub dcbClass_Click(Area As Integer) If txtSerial = Then txtSerial = dcbClass.Text End IfEnd SubPrivate Sub Form_QueryUnload(Cancel As Inte

34、ger, UnloadMode As Integer) If Not mbClose Then MsgBox 数据正被修改,窗口不能关闭, vbCritical, 错误 Cancel = True End IfEnd SubPrivate Sub fraInfo_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub grdScan_Change() If grdScan.ApproxCount 0 Then Call SeekStudent(grdScan.Columns(0).CellText(grdS

35、can.Bookmark) End IfEnd SubPrivate Sub grdScan_RowColChange(LastRow As Variant, ByVal LastCol As Integer) 当前行改变,则动态改变所要显示的记录 If LastRow grdScan.Bookmark Then If grdScan.ApproxCount 0 Then Call SeekStudent(grdScan.Columns(0).CellText(grdScan.Bookmark) End If End IfEnd SubPrivate Sub WriteImage(ByRef

36、Fld As ADODB.Field, DiskFile As String) Dim byteData() As Byte 定义数据块数组 Dim NumBlocks As Long 定义数据块个数 Dim FileLength As Long 标识文件长度 Dim LeftOver As Long 定义剩余字节长度 Dim SourceFile As Long 定义自由文件号 Dim i As Long 定义循环变量 Const BLOCKSIZE = 4096 每次读写块的大小 SourceFile = FreeFile 提供一个尚未使用的文件号 Open DiskFile For Bi

37、nary Access Read As SourceFile 打开文件 FileLength = LOF(SourceFile) 得到文件长度 If FileLength = 0 Then 判断文件是否存在 Close SourceFile MsgBox DiskFile & 无 内 容 或 不 存 在 ! Else NumBlocks = FileLength BLOCKSIZE 得到数据块的个数 LeftOver = FileLength Mod BLOCKSIZE 得到剩余字节数 Fld.Value = Null ReDim byteData(BLOCKSIZE) 重新定义数据块的大小

38、For i = 1 To NumBlocks Get SourceFile, , byteData() 读到内存块中 Fld.AppendChunk byteData() 写入FLD Next i ReDim byteData(LeftOver) 重新定义数据块的大小 Get SourceFile, , byteData() 读到内存块中 Fld.AppendChunk byteData() 写入FLD Close SourceFile 关闭源文件 End IfEnd SubPrivate Function ReadImage(blobColumn As ADODB.Field) As String 取得一个临时性文件 Dim strFileName As String strFileName = ImageTmp Dim FileNumber As Integer 文件号 Dim DataLen As Long 文件长度 Dim Chunks As Long 数据块数 Dim ChunkAry() As Byte

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号