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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于delphi的学生成绩管理系统.docx

1、基于delphi的学生成绩管理系统南昌航空大学信息工程学院 数据库原理 课程实验报告 实验名称: 学生成绩信息管理系统实验时间: 2010年月2日指导教师: 班 级 : 学 号 : 姓 名 : 成 绩 : 一、实验目的(1)通过完成从用户需求分析、系统概要设计、系统详细设计以及数据库的SQL操作具体实现等全过程,把前面的各个实验更好地综合起来.(2)进一步理解和掌握教材中的相关内容。(3)掌握分析和设计一个大型数据库系统的基本思路与方法。二、 实验要求1. 独立完成该系统的数据库设计。2. 用SQL实现数据库的设计,并在MS SQL Server上调试通过。3. 写出查询、更新以及建立触发器S

2、QL语句和执行结果。4. 掌握报表的使用。三、实验内容综合前面各章内容设计并调试一学生成绩管理系统,Delphi作为前台开发工具,SQL Server完成后台数据库存管理。创建学生成绩的统计(包括求班级各科成绩的平均分);并实现对各科成绩等的录入、修改、删除、查询等功能;实现学生成绩的统计(包括求班级各科成绩的平均分);并实现对各科成绩的排序。四、实验代码及功能注释用户登陆界面实验程序:procedure TForm1.Button1Click(Sender: TObject);用户登陆var ret:integer;beginadoconnection1.Open;with ADOStore

3、dProc1 dobeginClose;ProcedureName:=proc_login;Parameters.Clear;Parameters.Refresh;Parameters.ParamByName(username).Value:= Edit1.text;Parameters.ParamByName(password).Value:= Edit2.text;ExecProc;ret:= Parameters.ParamByName(return_value).Value;end;if ret=1 then /用户名密码匹配beginshowmessage(登陆成功);form3.s

4、how;endelseshowmessage(你不是用户,请注册);end ;procedure TForm1.Button2Click(Sender: TObject);若不是用户,触发用户登陆界面显示beginform2.show;end;procedure TForm1.Button3Click(Sender: TObject);退出该管理系统beginform1.Close;end;说明:在这里,使用了adostoredproc1控件和adoconnection1控件,它们的connectionstring属性都要与所设计的数据库相连,在查询分析器中,要运行存储过程如下:CREATE

5、procedure proc_loginusername varchar(20),password varchar(20)asdeclare result intselect result=count(*) from users where username=username and passwords=passwordif result=0return 0return 1GO用户注册界面实验程序:procedure TForm2.Button1Click(Sender: TObject);新用户注册begin adoquery1.close; adoquery1.sql.clear; ado

6、query1.sql.add(insert into users(username,passwords,核对密码,性别,出生年月,联系地址,联系电话,邮政编码,电子邮箱)+values(:1,:2,:3,:4,:5,:6,:7,:8,:9); adoquery1.parameters.parambyname(1).value:=+edit1.text+; adoquery1.parameters.parambyname(2).value:=+edit2.text+; adoquery1.parameters.parambyname(3).value:=+edit3.text+; adoquer

7、y1.parameters.parambyname(4).value:=+combobox1.text+; adoquery1.parameters.parambyname(5).value:=+combobox1.text+ +combobox1.text+; adoquery1.parameters.parambyname(6).value:=+edit4.text+; adoquery1.parameters.parambyname(7).value:=+edit5.text+; adoquery1.parameters.parambyname(8).value:=+edit6.text

8、+; adoquery1.parameters.parambyname(9).value:=+edit7.text+; adoquery1.execsql;end;说明:在该数据库中,建了一个名为users的用户表,存储用户的信息。只有是用户在登陆时,才能进入主界面,当不是用户在登陆时,必须先进行新用户注册,才能进入主系统。 系统主界面学生基本信息查询精确查询程序:procedure TForm3.Button1Click(Sender: TObject);beginwith adoquery1 dobegin if radiobutton1.Checked then /通过单选按钮的选择来判

9、断是要进行精确查询还是模糊查询 begin adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Add(select * from 学生表 where 学号=+edit1.text+ ); adoquery1.Open; end;end;说明:由于学生表中,学号为主键,因此要查此表中学生基本信息,只要输入主键值即可得一条记录,即实现精确查询。模糊查询程序:procedure TForm3.Button3Click(Sender: TObject);begin with adoquery1 do begin if radiobutton2.

10、Checked then begin if (edit2.Text )or (edit3.Text )or(edit4.Text )or(edit5.Text ) or(edit6.Text )then begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from 学生表); adoquery1.SQL.Add(where(学号 like +%+edit2.text+%+); adoquery1.SQL.Add(or(姓名 like +%+edit3.text+%+); adoquery1.SQL.Add

11、(or(所在系别 like +%+edit4.text+%+); adoquery1.SQL.Add(or(所在专业 like +%+edit5.text+%+); adoquery1.SQL.Add(or(所在班级 like +%+edit6.text+%+); adoquery1.Open ; end else begin application.MessageBox(没有查询条件,提示,mb_ok); exit; end; end; end;end;说明:当输入的信息不是主键时,由于满足该输入条件的记录可能不只一个,因此得到的是一个模糊查询的结果。学生成绩查询方法与学生基本信息查询一致。

12、学生基本信息录入实验程序:procedure TForm4.Button1Click(Sender: TObject);begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(insert into 学生表(学号,姓名,民族,出生年月,籍贯,性别,所在系别,所在专业,所在班级,政治面貌,家庭住址,邮政编码,联系电话)+values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13); adoquery1.parameters.parambyname(1).value:=+edit1.text

13、+; adoquery1.parameters.parambyname(2).value:=+edit2.text+; adoquery1.parameters.parambyname(3).value:=+edit3.text+; adoquery1.parameters.parambyname(4).value:=+combobox1.text+ +combobox2.text+; adoquery1.parameters.parambyname(5).value:=+edit4.text+; adoquery1.parameters.parambyname(6).value:=+comb

14、obox3.text+; adoquery1.parameters.parambyname(7).value:=+combobox4.text+; adoquery1.parameters.parambyname(8).value:=+edit5.text+; adoquery1.parameters.parambyname(9).value:=+edit6.text+; adoquery1.parameters.parambyname(10).value:=+edit7.text+; adoquery1.parameters.parambyname(11).value:=+edit8.tex

15、t+; adoquery1.parameters.parambyname(12).value:=+edit9.text+; adoquery1.parameters.parambyname(13).value:=+edit10.text+; adoquery1.execsql;end;在SQL Server中查看录入结果录入前:录入后:说明:从录入前与录入后表的比较看到,实现了学号为aaa学生基本信息的录入。求学生平均成绩、成绩排序并显示实验程序:procedure TForm3.Button4Click(Sender: TObject);begin with adoquery1 dobegi

16、n if radiobutton3.Checked then与学生基本信息查询一样,这里为成绩精确查询 beginadoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Add(select * from 成绩信息表 where 学号=+edit9.text+ ); adoquery1.Open; end; if radiobutton4.Checked then与学生基本信息查询一样,这里为成绩模糊查询 begin if (edit10.text )or (edit11.Text )or(edit12.Text )or(edit13.Tex

17、t ) or(edit14.Text )then begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from 成绩信息表); adoquery1.SQL.Add(where(学号 like +%+edit10.text+%+); adoquery1.SQL.Add(or(姓名 like +%+edit11.text+%+); adoquery1.SQL.Add(or(所在系别 like +%+edit12.text+%+); adoquery1.SQL.Add(or(所在专业 like +%+edit1

18、3.text+%+); adoquery1.SQL.Add(or(所在班级 like +%+edit14.text+%+); adoquery1.Open ; end else begin application.MessageBox(没有查询条件,提示,mb_ok); exit; end; end; if radiobutton9.Checked then求每个学生的课程平均成绩 begin adoquery1.Close ; sql.Clear ; sql.Add(select 学号,姓名,AVG(成绩) as 平均成绩 from 成绩信息表 where 所在班级=070413 group

19、 by 学号,姓名); adoquery1.Open ; end; if radiobutton11.Checked then将学生成绩按从低到高排序 begin adoquery1.Close ; sql.Clear ; sql.Add(select 学号,姓名,avg(成绩) as 平均成绩 from 成绩信息表 group by 学号,姓名 order by 平均成绩); adoquery1.open; end;end;end;求平均成绩界面与平均成绩排序后界面:说明:使用到了数据库的自带函数avg() 来求平均成绩,按平均成绩排序时,只要在已经做好的平均成绩显示程序上加上order b

20、y 语句即可。学生基本信息删除与修改实验程序:procedure TForm3.Button6Click(Sender: TObject);begin with adoquery1 do begin if radiobutton7.Checked then begin adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Add(update 学生表 set +combobox1.text+=+edit19.text+); /edit19 编辑框用来输入要更改的字段名 adoquery1.SQL.Add(where 学号=+edit18.t

21、ext+); adoquery1.execsql; end; if radiobutton8.Checked then begin adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Add(delete from 学生表);不得 /删除语句 adoquery1.SQL.Add(where 学号=+edit18.text+); adoquery1.execsql; end;修改界面:在SQL Server中查看修改结果说明:比较修改前与修改后学生的表中数据可知,将原来记录中学号为aaa学生的姓名由小小改成了小麦。删除界面:在SQL Ser

22、ver中查看删除结果学生成绩信息删除与修改与学生基本信息删除与修改方法一致。五、实验小结本次实验主要复习了delphi的操作界面,控件的使用,及对adoquery的sql的属性的使用,在这个实验中,可以发现delphi 与 数据库的完美结合,就是说可以通过delphi界面更改数据库的内容,而这是通过编辑adoquery的sql里的内容来实现的,因此几乎每个窗体都有一个adoquery控件。这个实验的sql语句的编辑全用的是adoquery1.sql.add()语句,括号里的内容就是数据库查询分析器里的内容,在每写入一个语句时,都要把之前写的 sql语句删掉,以免执行时出现问题,对于括号里面的select语句,函数有返回值,因此可以用adoquery1.open打开数据源,看到执行后的结果,而对于括号里面的update,delete 等语句,函数没有返回值,只能写adoquery1.execsql执行操作,而且只能到数据库的表中看执行后的结果。编写sql语句是极容易出错的,有时是因为汉英输入法切换后符号不一致所导致,有时是因为sql语句内引号出现的错误,反正就是要熟悉每个用到的sql语句,要清楚在写每个语句时具体的操作是要干什么,它有自己的书写格式。最后还有一点要注意的是,录入数据时,一定要把主码的值全部录入,且不能与表中已有值重复,否则违反了记录的唯一性,会出错。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1