欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    654523962数据库课程设计报告基于SQL数据库的通用成绩管理系统.doc

    • 资源ID:2394844       资源大小:11.91MB        全文页数:26页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    654523962数据库课程设计报告基于SQL数据库的通用成绩管理系统.doc

    数 据 库 课 程 设 计 报 告课题 基于SQL数据库的通用成绩管理系统 设 计 者 专 业 计算机科学与技术 班 级 学 号 同组成员名单 指导老师 _ _评定成绩 _2010年 1 月 8 日课 程 设 计 任 务 书一、课程名称 数据库系统原理 指导教师 二、本课程设计题目 基于SQL数据库的通用成绩管理系统 三、本设计所要达到的目的和要求 1、主题明确,软体开发要有创新性,能体现SQL的存储过程、触发器、游标技术等; 2、用delphi结合SQL Server数据库进行开发; 3、写出数据库关系模式及相应的数据库表关系图; 4、绘制成绩MIS相应的系统流程图、E-R图等; 5、完成成绩MIS登陆界面、账户管理、主界面、成绩录入、成绩查询和其各项设计与操作。 四、接受任务学生: 班 姓名 五、开始及完成时间 自 2009 年 12 月 28 日 至 2010 年 1 月 8 日2009年 12 月 28 日目录1.概述12.系统需求分析12.1 本系统需要管理的实体信息12.2 本系统要管理的实体联系信息13功能需求分析131系统功能的描述132系统功能模块示意图14系统设计241数据概念结构设计2411数据流程图2412 E-R图44.1.3 功能模块设计图44.2数据库逻辑结构设计5421数据库逻辑结构设计6422数据标的设计64.2.3 数据库二维表结构65.Delphi常用的几个语句及功能76.系统界面及主要程序961创建公用模块962登录界面及主界面963基础信息管理136.4 账户管理186.5 帮助信息227.系统测试与运行227.1登录测试227.2账户管理测试227.3成绩录入测试237.4成绩查询测试238.参考文献239.总结231.概述本系统是成绩查询管理系统,主要用于学生成绩的管理,包括成绩录入、查找、添加、删除。学生通用成绩管理是学校管理中异常重要的一个环节,它的实现关系到学校办学整体效率的高低,运用通用成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理, 也让同学们能在任何时候都能查阅到有关自己学科成绩有关的信息,也有利于让他们充分了解有关自己在大学期间所有课程的学习情况,提高查询速度。学生成绩管理系统是系科综合管理信息系统中很重要的组成部分。2.系统需求分析成绩管理系统是面向各校的管理系统,其目的是提高学校对学生的科学化管理。经过充分的系统调研,发现本系统主要应包括系统管理、成绩管理、成绩查询管理,进一步还发现各需管理的信息有:添加或者删除用户,密码修改,各系学生基本信息,学生选课信息等。本系统的具体要求为:(1) 能管理学生的基本成绩信息,可录入,修改,查询。(2) 通过使用计算机能方便地维护各信息表。(3) 方便同时查出总成绩和平均成绩,实现表的统计功能。(4) 需要时能即时进行输出与打印。(5) 系统具有操作方便、简捷等特点。 2.1 本系统需要管理的实体信息(1)账户管理:用户名、密码(2)系别:机电系、文法系、经管系(3)成绩录入:机电系成绩录入、文法系成绩录入、经管系成绩录入(4)成绩查询:机电系成绩查询、文法系成绩查询、经管系成绩查询(5)学生基本信息:学号、姓名、性别、年龄、籍贯、原高中(6)学生选课信息:学号、课程号、成绩(7)成绩查询:总成绩、平均成绩2.2 本系统要管理的实体联系信息(1 ) 学生登陆系统时要输入用户名和密码(2)学生的选课情况,信息要根据不同情况而添加、删除、修改信息,还有可以做密码修改等。3功能需求分析31系统功能的描述经过调研分析,通用成绩管理系统共可分为系统对用户的添加,删除,修改,各系成绩的录入,各系成绩的分类查询,查询学生的基本信息,选课情况。系统的维护用于用户的维护及用户权限的设置等。 32系统功能模块示意图4系统设计41数据概念结构设计411数据流程图 系统0级图成绩管理1级图 成绩查询1级图412 E-R图4.1.3 功能模块设计图通用成绩管理系统总模块图系统管理子模块图成绩管理子模块图成绩查询子模块图帮助信息子模块图4.2数据库逻辑结构设计421数据库逻辑结构设计学生信息(编号,学号,姓名,年龄,性别,籍贯,原就读高中)选修信息(学号,课程号,成绩)用户登陆信息(姓名,密码,权限)422数据标的设计学生成绩学生信息登陆信息4.2.3 数据库二维表结构登录信息表机电系学生信息机电系学生选课及成绩经管系学生信息经管系学生选课及成绩文法系学生信息文法系学生选课及成绩5.Delphi常用的几个语句及功能(a)输入语句InputBox函数和InputQuery函数用于显示一个带有编辑组件的消息对话框,该提示框中有一个文本输入框和两个命令按钮,为用户提供输入文本的功能。1) InputBox函数( InputBox返回值是字符串,也就是输入的字符串 )语法:function InputBox(const ACaption,APrompt,ADefault:String):String;ACaption,消息对话框的标题。APrompt,消息对话框的提示信息。ADefault,消息对话框首次出现时编辑框中显示的信息2) InputQuery函数显示一个带有编辑组件的对话框,为用户提供输入文本的功能,并判断用户是否按下了Ok按钮。( InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中 )语法:function InputQuery(const ACaption,APrompt:string;var Value:string):Boolean;ACaption,消息对话框的标题。APrompt,消息对话框的提示信息。Value,对话框首次出现在编辑框中显示的字符串,并得到用户在消息对话框中输入的字符串。(b)输出语句MessageDlg函数可以将信息以对话框的形式输出并显示。语法:function MessageDlg(const Msg:string;DlgType:TMsgDlgType; Buttons:TMesgDlgButtons;HelpCtx:Longint):Integer;Msg,显示消息的内容。Dlgtype,指定消息对话框的类型。Buttons,指定消息对话框显示的按钮HelpCtx,指定应显示帮助标题的正文ID DlgType参数的取值:mtInfromation,显示带感叹号图标的信息框。mtWarnging,显示一个带有提醒符号图标的信息框。mtCustom,无显示图标。mtError,显示一个带有停止符号图标的信息框。mtConfirmation,显示一个带有问好图标的信息框。(c)条件判断语句1)使用if.then语句 语法: if 条件 then begin 语句 end;if.then.else语句语法:if 条件 then语句1else语句22)case.of条件分支语句case.of语句提供了一个可读性更好的多重if嵌套的解决方案。语法:case 条件表达式 of 条件1:语句1; . 条件n:语句n;else 其他语句;end;6.系统界面及主要程序61创建公用模块本系统有一个公用模块,FormData,内有一个Connection控件,用于连接数据库,若数据库改变,只要修改Connection控件的Connection属性即可。另外,所有的窗体都可以被其他窗体引用。62登录界面及主界面uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, DB, ADODB, jpeg, Buttons;var Formlogin: TFormlogin;implementationuses dataconn,mainform; $R *.dfmprocedure TFormlogin.Button3Click(Sender: TObject);beginapplication.Terminate;end;procedure TFormlogin.Button2Click(Sender: TObject);beginedit1.Text :=''edit2.Text :=''end;procedure TFormlogin.FormClose(Sender: TObject; var Action: TCloseAction);beginApplication.Terminate;end;vari:integer=0; /定义i 作用是查看用户是否输入时有三次错误procedure TFormlogin.SpeedButton1Click(Sender: TObject);Var user,pass:string; begin user:=Trim(edit1.Text); pass:=Trim(Edit2.Text); adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Text:='select * from login where username='''+user+''' and password='''+pass+'''' /当变量user 和 pass 的内容和login表中的一致时,显示主窗体 adoquery1.Open ; if adoquery1.Recordset.RecordCount = 0 then /未找到用户,提示用户输入错误 begin Application.MessageBox('用户名或密码不正确!请重新输入!','_注意!',MB_OK); edit1.Text :='' edit2.Text :='' i:=i+1; if(i>=3)then begin showmessage('密码错误三次,系统退出!'); application.Terminate; end; end else begin formlogin.Hide;/隐藏formlogin窗体 /或者用 formlogin.visible:=false; formmain.Show; /显示formmain主窗体 /或者用 formmain.visible:=true; end;end;procedure TFormlogin.SpeedButton2Click(Sender: TObject);beginapplication.Terminate;end;end.uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus;var Formmain: TFormmain;implementationuses usersinfo,jdxio,jdxgrade,helpform, jgxgrade, jgxio, wfxgrade, wfxio;$R *.dfmprocedure TFormmain.N10Click(Sender: TObject);begin hide; formusersinfo.Show;end;procedure TFormmain.N5Click(Sender: TObject);beginformmain.Hide;formjdxio.Show;end;procedure TFormmain.N6Click(Sender: TObject);beginhide;formjdxgrade.Show;end;procedure TFormmain.N4Click(Sender: TObject);beginApplication.Terminate;end;procedure TFormmain.N11Click(Sender: TObject);beginformhelp.Show;end;procedure TFormmain.FormClose(Sender: TObject; var Action: TCloseAction);begin Application.Terminate;/退出程序end;procedure TFormmain.RadioButton1Click(Sender: TObject);begin hide; /隐藏当前窗体 formjdxio.Show; /显示 jdxioform窗体end;procedure TFormmain.RadioButton2Click(Sender: TObject);beginhide;formjdxgrade.Show;end;procedure TFormmain.RadioButton4Click(Sender: TObject);beginhide;formjgxgrade.Show;end;procedure TFormmain.RadioButton3Click(Sender: TObject);beginhide; formjgxio.Show;end;procedure TFormmain.RadioButton6Click(Sender: TObject);beginhide;formwfxgrade.Show;end;procedure TFormmain.RadioButton5Click(Sender: TObject);begin hide; formwfxio.Show;end;procedure TFormmain.N8Click(Sender: TObject);beginformmain.Hide;formjgxio.Show;end;procedure TFormmain.N9Click(Sender: TObject);beginhide;formjgxgrade.Show;end;procedure TFormmain.N13Click(Sender: TObject);beginformmain.Hide;formwfxio.Show;end;procedure TFormmain.N14Click(Sender: TObject);beginhide;formwfxgrade.Show;end;end.63基础信息管理 机电系成绩管理: 主要代码 var Formjdxgrade: TFormjdxgrade;implementationuses dataconn,mainform;$R *.dfmprocedure TFormjdxgrade.SpeedButton1Click(Sender: TObject);Begin /查询符合相关学号的记录 adoquery1.close; adoquery1.SQL.Clear; adoquery1.sql.text:='select 学号,课程号,成绩 from jdxgrade where 学号='''+Trim(edit1.Text)+''' ' adoquery1.open; /求出平均成绩和总分,分别赋值给edit adoquery1.close; adoquery1.SQL.Clear; adoquery1.sql.text:='select sum(成绩) as 求和,avg(成绩) as 平均值 from jdxgrade where 学号='''+Trim(edit1.Text)+''' ' adoquery1.open; Edit2.Text:= ADOQuery1.FieldByName('求和').AsString; Edit3.Text:= ADOQuery1.FieldByName('平均值').AsString; /重新恢复SQL数据显示 adoquery1.close; adoquery1.SQL.Clear; adoquery1.sql.text:='select 学号,课程号,成绩 from jdxgrade where 学号='''+Trim(edit1.Text)+''' ' adoquery1.open; if adoquery1.Recordset.RecordCount = 0 then /未找到用户,提示用户输入错误 begin Application.MessageBox('学号输入不正确!请重新输入!','注意!',MB_OK); edit1.Text :='' adoquery1.close; adoquery1.SQL.Clear; adoquery1.sql.text:='select 学号,课程号,成绩 from jdxgrade' adoquery1.open; endend;procedure TFormjdxgrade.Button1Click(Sender: TObject);begin edit1.Text :='' /清空edit1.text记录 formmain.Show; close; /关闭当前窗体end;procedure TFormjdxgrade.FormCreate(Sender: TObject);Begin /在窗体创建时显示SQL数据 adoquery1.close; adoquery1.SQL.Clear; adoquery1.sql.text:='select 学号,课程号,成绩 from jdxgrade ' adoquery1.open;end;procedure TFormjdxgrade.FormClose(Sender: TObject; var Action: TCloseAction);beginedit1.Text :='' /清空edit1.text的值formmain.Show;end;end. 经管系成绩管理 (代码同上) 文法系成绩管理(代码同上)6.4 账户管理uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, Buttons;var formusersinfo: Tformusersinfo;procedure Tformusersinfo.SpeedButton1Click(Sender: TObject);beginadoquery1.Close;formmain.Show;formusersinfo.Hide;end;procedure Tformusersinfo.FormClose(Sender: TObject; var Action: TCloseAction);beginformmain.Show;formusersinfo.Hide;end;procedure Tformusersinfo.Button1Click(Sender: TObject);begin inherited; if TextIsNull = False then /判断编辑框文本是否为空 begin With DataModule1.Query2 do /判断用户名称是否重复 begin CLose; SQL.Clear; End; Try with DataModule1.add do /向数据表中插入数据 begin Close; SQL.Clear; SQL.Add('Insert into login values(:username,:password)'); Parameters.ParamByName('username').Value := Trim(edit1.Text); Parameters.ParamByName('password').Value := Trim(edit2.Text); ExecSQL; end; Application.MessageBox('操作成功.','提示',64); button4.Click; Except On E: Exception do /产生异常则抛出异常信息 ShowMessage(E.Message); End; end else begin Application.MessageBox('用户名或密码不能为空.','提示',64); end;end;/自定义函数,判断编辑框是否为空function tformusersinfo.TextIsNull: Boolean;begin Result := False; if (Trim(edit1.Text)='')or(Trim(edit2.Text)='') then Result := True;end;procedure Tformusersinfo.Button2Click(Sender: TObject);begin inherited; if DataModule1.Query1.Active then /存在可删除的数据 Begin /提示是否删除数据 if Application.MessageBox(Pchar('确实要删除库存名称为: ' + Trim(DataModule1.Query1.FieldByName('username').AsString)+'用户名的吗?'),'提示',mb_YesNo)= ID_Yes then begin Try DataModule1.Query1.Delete; button4.Click; Except On E: Exception do ShowMessage(E.Message); /产生异常则抛出异常信息 End; end; end else Application.MessageBox('当前没有可删除的信息.','提示',64);end;procedure Tformusersinfo.Button4Click(Sender: TObject);begin inherited; edit1.Clear; /清空编辑框文本 edit2.Clear; With DataModule1.Query1 do /刷新表格信息 begin CLose; SQL.Clear; SQL.Add('Select * from login'); Open; end; if DataModule1.Query1.RecordCount>0 then dataSource1.DataSet := DataModule1.Query1 else begin DataModule1.Query1.Close; dataSource1.DataSet := Nil; end;End;procedure Tformusersinfo.Button5Click(Sender: TObject);var n:string;begin inherited; if (Trim(edit5.Text)<>'')then /密码是否为空 begin Try With DataModule1.update do begin CLose; SQL.Clear; SQL.Add('update login set password = :edit4 where username = :edit3'); Parameters.ParamByName('edit4').Value := Trim(edit5.Text); Parameters.ParamByName('edit3').Value := Trim(edit3.Text); ExecSQL; end; n:= Trim(edit5.Text); edit4.Text := n; edit5.Clear; edit4.Clear; edit3.Clear; Application.MessageBox('操作成功.','提示',64); Except On E: Exception do ShowMessage(E.Message); End; end;end;procedure Tformusersinfo.Button6Click(Sender: TObject);beginedit3.Clear;edit4.Clear;edit5.Clear;end;procedure Tformusersinfo.Button3Click(Sender: TObject);begin hide; formmain.Show;end;end.6.5 帮助信息 7.系统测试与运行系统名称:通用成绩管理系统测试环境:服务器环境Microsoft SQL Server、编程软件环境Borland Delphi 6测试系统:windows XP7.1登录测试登录测试主要用于检测系统能否防止非授权用户使用系统。测试过程: 进入通用成绩管理系统,首先输入正确的用户和密码,并选择正确的操作权限,用户可以登录;然后输入错误的账号和正确的密码或者正确的账号和错误的密码以及错误的账号和错误的密码,都不能登录,并且输入三次错误,自动退出。7.2账户管理测试账户管理测试主要用于检测所输入的用户名和密码是否符合要求,能否实现密码修改。测试过程:进入账户管理界面,首先不输入任何信息,添加信息,则出现错误,信息不能为空,然后输入重复的用户名,则也出现错误,用户名不能重复。然后输入符合要求的用户名信息,则添加成功,显示操作成功。不输入用户和密码修改密码,则提示错误,不能成功,用户名和密码不能为空,输入不正确的用户名,则无法修改密码,出现错误,然后输入正确的用户名和密码,则操作成功。7.3成绩录入测试测试过程:进入成绩录入界面,首先不不输入学号或者姓名,则不成功,出现错误,然后输入符合条件的信息,则录入成功。7.4成绩查询测试成绩查询测试主要用于检测所输入的所对应的系的用户学号信息是否能实现查询。测试过程:进入成绩查询界面,首先输入错误的学生学号,执行查询,则出现错误,无法实现查询,然后输入不对应的系的学生学号,执行查询,无法显示查询结果,再次输入正确的系的学生学号,则查询成功。8.参考文献1数据库原理及技术课程设计 钱雪忠,陈国俊 北京:清华大学出版社,2009.022数据库原理及应用实验指导 钱雪忠,陶向东 北京:北京邮电大学出版社2008.063Delphi开发实用编程200例 周亚玲,苏治中 中国铁道出版社 2006.014Delphi 2006从入门到精通 颜金传 电子工业出版社2008.15SQL Server数据库应用基础与实现 汤承林 电子工业出版社 2008.59.总结通过课程设计我对Delphi这门语言有了更深的认识,对数据库操作更加深入的掌握,虽然我们不是完完整整的做下来这个系统的但是在学习的过程中就懂得了新的知识理论并实践了。同时小组的合作也提高了团队合作能力。在本组我是总程序员,负责总体的组织设计,负责总体的需求分析和有些流程图及最后总体测试等,在其中我懂得了任务的重要性与责任性,在安排等组织方面得到了能力的提高。当然本系统还存在好些缺点,比如,成绩管理系统过于简单,没有班级成绩统计功能等。做编程需要有耐心,不能浮躁,特别在出现错误不能执行时,应一次次试验,而不能气馁,还不行的情况下,应仔细思考与组友商讨研究共同解决。这次设计让我深刻的体会到团队的力量,还有做什么事都不能马马虎虎,需要在思考后再好好实现。

    注意事项

    本文(654523962数据库课程设计报告基于SQL数据库的通用成绩管理系统.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开