报刊订阅管理系统毕业论文

上传人:无*** 文档编号:79585317 上传时间:2022-04-24 格式:DOC 页数:39 大小:805.52KB
收藏 版权申诉 举报 下载
报刊订阅管理系统毕业论文_第1页
第1页 / 共39页
报刊订阅管理系统毕业论文_第2页
第2页 / 共39页
报刊订阅管理系统毕业论文_第3页
第3页 / 共39页
资源描述:

《报刊订阅管理系统毕业论文》由会员分享,可在线阅读,更多相关《报刊订阅管理系统毕业论文(39页珍藏版)》请在装配图网上搜索。

1、华 东 交 通 大 学课 程 设 计( 论 文 )任 务 书 信息学院 专 业 班 级 一、课程设计(论文)题目: 报刊订阅管理系统的设计与实现 二、课程设计(论文)工作:自 2006 年 6 月 12 日起至 2006 年 6 月 23 日止。三、课程设计(论文)的内容要求: 1:选好题目:每组两人,每题最多6人选做 2:独立思考,独立完成; 3:每次上机准备调试程序,准备好有关文件; 4:根据编程实现的结果,写好上机报告; 5:实现结果必须进行检查和演示; 6:上交实验报告和电子文档; 学生签名: 2006 年6 月 22日数据库课程设计(1) 课程设计目的数据库系统原理及应用课程设计是计

2、算机科学技术中计算机应用专业(本科)教学大纲要求的 重要时间性环节之一,是学习完数据库系统概论课程后进行的一次全面的综合练习。其目的在于:配合数据库系统概论课程的教学,使学生能巩固和加深对数据库基础理论和基本知识的理解;掌握使用数据库进行软件设计的基本思想和方法;提高学生应用数据库理论解决实际问题的能力;培养学生调查研究,查阅技术文献,资料,手册以及编写技术文献的能力。(2) 课程设计题目 报刊订阅管理系统的设计与实现(3) 课程设计主要内容 通过对某企业的报刊订阅业务进行分析,调查,设计该企业的报刊订阅管理系统。主要实现以下功能:1:录入功能:录入订阅人员信息,报刊基本信息;2:订阅功能:订

3、阅人员订阅报刊(并计算出其金额);3:查询功能:按人员查询,报刊查询,部门查询有关订阅信息,对查询结果能进行预缆和打印;4:统计功能:按报刊统计,人员统计,部门统计,和对结果进行统计预缆和打印;5:系统维护:如数据安全管理(含备份与恢复),操作管理,权限设置等。(4) 设计环境:Microsoft Windows 2000操作系统,Microsoft SQL Server 2000数据库管理系统个人版,Borland Delphi 7企业版。人员分工:同组人分工:整体构思和详细设计思路一起完成,代码多数由我完成,界面设计多数由付娆完成。报刊订阅管理系统的设计和实现目录第一章:概念设计 -第二章

4、:E-R图和流程图 -第三章:数据库系统分析 -第四章:运行调试和截图 -第五章:程序代码 -参考文献-心得体会-第一章:概要设计-报刊订阅管理系统需求分析:问题描述: 报刊订阅管理系统是一种智能化的管理系统,它面向所有用户,但是却具有高度安全性能。只有后台管理员可以实施系统的日常维护功能,包括新报刊信息的录入,后台数据库的备份和恢复,用户的权限设置等。用户合法注册后必须输入有效密码才能成功进入此系统,若要进行订阅报刊,查询信息,统计信息等操作,必须经由管理员对其权限开放。对于非法操作,系统有识别和防护措施。需求文档:(1) 对于首次登陆此系统的用户提供“用户注册”功能,用户填写个人信息后,输

5、入新密码,并确认密码后方可成功注册,此时用户的所有信息都入库保存,并且该用户的所有权限都默认为空。(2) 为保证系统安全性,所有用户(包括管理员)必须输入有效密码才能登陆。对管理员,所有权限都开放,管理员可以进行系统维护,如对数据的备份和恢复,还有对每个注册的用户进行权限设置,并将其设置入库。而对于用户登陆后,要查询其权限,然后在界面上显示相应的功能。(3) 用户登陆后,若有订阅报刊的权利,系统要能防止该用户利用其他人的名义订阅报刊。(4) 为保持数据的一致性,若有新的用户注册或有新的报刊入库,则在它们入库的同时,其相关信息要一并添加到相应界面上,保证了系统并发操作时的数据一致性和完整性。系统

6、结构设计:本系统包括后台数据库设计和前台应用程序的设计两个大的方面,后台数据库的设计是为前台应用程序而服务的,而应用程序的设计则是基于数据库编写的:数据库的设计是基于SQL Server的设计,首先创建报刊订阅数据库,新建相关表,包括订阅人员表(即用户表),报刊表,订阅表,权限表和管理员表等。订阅人员表中包括了用户基本信息、用户密码,报刊表中包括了报刊基本信息,订阅表中包括了用户订阅报刊的相关信息,权限表中包括了所有用户的权限设置,管理员表中有管理员及其密码信息。对每个表设置主键,若有需求,对相关表的字段进行check约束、默认值、字符长度限制等设置。并创建表与表的关系表。前台应用程序设计是基

7、于Borland Delphi 7的设计,其界面设计包括注册、登陆、查询、订阅、统计、系统维护等界面的设计,管理员拥有对所有这些界面的使用权,而一般的用户登陆后的界面可能因人而异,这要看管理员对其权限的开放是如何设置的。对于一个从未登陆过此系统的用户,他必须注册成功后才能登陆此系统,系统对每个刚注册的用户的权限设置都默认为全部屏蔽,这时要由管理员对其相关权限进行开放。功能模块设计:本系统主要有以下功能模块:l 录入新信息功能:包括新用户信息和新报刊信息的录入功能,信息一旦提交就存入到后台数据库中;输入模块登入信息用户注册报刊信息管理员注册l 订阅功能:订阅报刊并计算金额;订阅报刊订阅报刊号订阅

8、数量计算金额l 查询功能:;查 询 功 能人员查询报刊查询部门查询l 统计功能:可以按用户姓名、部门名称、报刊信息统计报刊的销售情况。其中报刊信息中,又包括按报刊的代号、报刊类型、报刊定价等信息实现统计功能;统 计 功 能报刊查询人员查询部门查询订阅信息l 系统维护功能:实现后台管理员对系统的日常维护功能。系 统 维 护权限设置数据库备份数据库恢复ll第二章:E-R图和流程图-关系模型为:部门(部门号,部门名)用户(用户名,密码,性别,部门号,联系电话,家庭住址)报刊(报刊代号,报刊名,类型,出版报社,半年订阅价,年订阅价)授权(用户名,权限名)管理员(管理员姓名,密码)订阅(用户名,报刊代号

9、,订阅周期,订阅年限,订阅份数)下面为实体和属性图:部 门部门号部门名用户名权限名授 权用 户用户名家庭地址联系电话性 别部门号密码 管理员名字姓名份数订阅周期订阅年限订 阅报刊号用户名出版社报刊名报 刊类型订价代号报刊订阅管理系统的概念模型E-R图: 部门权限 1 n属于授予管理员 n 1 用户录入信息 m 订阅 m n n报刊 订阅订阅权权登陆系统流程图:开始y 统计权用户登陆统计y管理员y密码正确? N Y订阅统计查询系统维护录入报刊信息预览恢复备份权限设置打印第三章:数据库系统分析-对各个关系模式进行范式的级别分析:部门关系模式中,部门号 部门名,决定因素只有一个,侯选码只有一个,不存

10、在非主属性对码的部分函数依赖和传递函数依赖,且除侯选码外无其他决定因素,满足BNF;用户关系模式中,用户名为唯一决定因素和侯选码,显然也满足BNF;同理报刊关系模式和管理员关系模式也满足BNF要求;在授权关系模式中,(用户名,权限名)是全码,显然符合BNF要求;在订阅关系模式中,(用户名,报刊代号)为唯一侯选码和决定因素,且不存在非主属性对码的部分函数依赖和传递函数依赖,满足BNF;综上所述,该该数据库模式的所有关系模式都满足了BNF要求。1. 登陆(1) 管理员登陆管理员输入姓名:a和密码:b后,系统从管理员表中查询是否存在此记录,若返回记录不为空,则登陆成功,此时界面上所有的权限都开放。(

11、2) 用户登陆同理,用户输入姓名:a和密码:b后,系统从订阅人员表中查询是否存在此记录,若返回记录不为空,再从权限表中查询该用户各权限值,若权限值为1,则开放该权限,若为0则屏蔽该权限,根据这些值,对其权限界面进行相应的开放和屏蔽。2. 录入报刊信息设置一个按钮用来触发向数据库提交数据的事件,这里填写的信息包括报刊代号、报刊名、类型、出版报社、半年订阅价和年订阅价。由于报刊代号为主键,且报刊名、类型、半年订阅价和年订阅价都不为空,所以系统要能对其进行判断,如果所有条件都满足,则将数据插入到报刊表中。3. 订阅(1) 计算金额用户填写用户名:a、报刊代号:b、订阅周期:c、订阅年限:d和订阅份数

12、:e,根据用户填写的报刊代号:a,从数据库中查找该报刊,若返回的记录不为空,得到报刊价格。 再根据选择的订阅周期、年限和份数用计算金额。 注意:用户要能订阅报刊,必须是先登陆了,所以用户在订阅时填写的用户名必须和登陆时的用户名一致,并且提供的订阅周期选择只有“半年”和“一年”的,这些都是系统能实现的。(2) 订阅报刊系统同样能根据数据库设计的约束进行判断输入内容是否符合条件,用到的SQL语句:insert into 订阅 values(:a,:b,:c,:d,:e)。4. 查询(1) 按人员姓名查询:得到该人员的报刊订阅情况,用到的SQL语句:select * from 订阅 where 订阅

13、人姓名=:a(2) 按报刊代号查询:得到该报刊的被订阅情况,用到的SQL语句:select * from 订阅 where 报刊代号=:b(3) 按部门代号查询:得到该部门人员的订阅情况,用到的SQL语句:select * from 订阅 where 订阅人姓名 in (select 订阅人姓名 from 订阅人员 where 部门号=:c)注意:本系统对生成报表的设计5. 统计(1) 按人员姓名统计:得到该人员共订阅了几种报刊用到的SQL语句:select count(*) from 订阅 where 订阅人姓名=:a(2) 按部门号统计:得到该部门人员共订阅了几种报刊用到的SQL语句:se

14、lect count(*) from 订阅 where 订阅人姓名 in (select 订阅人姓名 from 订阅人员 where 部门号=:a)(3) 按报刊统计l 按报刊号统计:得到该报刊共有多少人订阅用到的SQL语句:select count(*) from 订阅 where 报刊代号=:al 按报刊类型统计:得到该种类报刊共有多少人订阅用到的SQL语句:select count(*) from 订阅 where 报刊代号 in (select 报刊代号 from 报刊 where 类型=:a)l 按报刊价格统计:不同范围内报刊的销售情况以上是统计订阅周期为半年的报刊各个价位的销售情况

15、,同理可以统计订阅周期为一年的报刊各个价位的销售情况。6. 权限设置管理员通过浏览所有注册的用户名,对其各权限进行设置,包括订阅、查询、统计。用到的SQL语句:update 权限 set 订阅报刊=:b,查询=:c,统计=:d where 订阅人姓名=:a注意:由于所有的用户,他在未进行权限设置前,其在权限表中的各个权限都默认为0,所以只需要用updata更新语句即可,不需要用insert into语句。7. 数据库备份和恢复用到的SQL语句:backup database mrxt to disk=c:zl.bak with init将当前数据库备份到一个已建立的数据库文件c:zl.bak中

16、;用到的SQL语句:restore database mrxt from disk=c:zl.bak with init,将备份文件c:zl.bak恢复为数据库第四章:运行调试和截图下面为运行界面对话框;(1) 登入“欢迎您使用报刊订阅管理系统”;输入相关信息,如果不存在该用管理员或者用户,你可以选择注册,之后再登入。下面输入以管理员为例子。如上图点击确定,你将可以成功登入到该系统。如果你没有注册则进行注册,否则可以直接输入用户名和密码登入。输入注册用户名和密码,点击注册,系统对其进行判断,是否符合要求,下图为输入信息符合要求,注册成功。下面为对话框的主界面,工具栏上面有:录入;订阅;查询,统

17、计,系统维护,和关闭。首先进行人员登入:例如输入下图信息,可以成功录入信息到数据库中。显示成功录入该用户信息:(上面输入的信息)录入相关的报刊信息: 将下面的信息输入到数据库中,并保存起来。登入报刊订阅功能: 输入人员编号,报刊编号,订阅数量;和订阅日期报刊订阅成功并且输出价格总数:订阅查询:按部门查询: 其余截图和这同样过程,次出省掉;下图为按人员进行统计: 其余如:按报刊,按部门进行统计,同样可以输出象如下表格;因此省去。第五章:程序代码管理员登陆代码:procedure TForm1.Button1Click(Sender: TObject);beginif (RadioButton1.

18、Checked = true) And (edit1.Text = admin) And (edit2.text = admin)thenbeginedit1.Text:=;edit2.Text:=;form2.Show;end用户登陆代码:else if (RadioButton2.Checked = true) thenbeginif(edit2.Text=) thenbeginedit1.text:=;showmessage(用户名或密码错误,请重新输入!)endelse begin /endform12.query1.SQL.Clear;form12.query1.sql.Add(se

19、lect *);form12.query1.sql.Add(from 用户);form12.query1.sql.add(where 用户名=+edit1.text+ );form12.Query1.open;form12.Query1.Active:=true;if(form12.DBGrid1.Fields1.asstring = edit2.Text) thenbeginedit1.Text:=;edit2.text:=;form2.N1.enabled:=false;form2.N2.enabled:=false;form2.N3.enabled:=false;form2.N8.ena

20、bled:=false;form2.show;endelsebeginedit1.Text:=;edit2.text:=;showmessage(用户名或密码错误,请重新输入!);end;end /beginend /if (RadioButton2.Enabled = true)else beginedit1.Text:=;edit2.text:=;showmessage(用户名或密码错误,请重新输入!);endend;新用户注册:procedure TForm7.Button2Click(Sender: TObject);beginform7.Close;end;procedure TFo

21、rm7.Button1Click(Sender: TObject);beginform7.Query1.close;form7.query1.SQL.Clear;form7.query1.SQL.Add(insert into 用户);form7.query1.SQL.Add(values(+edit1.text+,+edit2.text+);form7.Query1.ExecSQL;edit1.Text:=;edit2.Text:=;showmessage(恭喜,注册成功);form7.show;end;procedure TForm1.Button2Click(Sender: TObjec

22、t);beginform1.Close;end;procedure TForm1.FormActivate(Sender: TObject);beginedit1.SetFocus;radiobutton1.Checked:=true;end;procedure TForm1.Button3Click(Sender: TObject);beginform7.show;end;end.procedure TForm2.N2Click(Sender: TObject);beginform3.show;end;procedure TForm2.N10Click(Sender: TObject);be

23、ginform2.close;end;procedure TForm2.N4Click(Sender: TObject);beginform4.show;end;procedure TForm2.N3Click(Sender: TObject);beginform3.show;end;procedure TForm2.N5Click(Sender: TObject);beginform5.show;end;procedure TForm2.N6Click(Sender: TObject);beginform12.query1.SQL.Clear;form12.query1.sql.Add(se

24、lect 人员.人员编号,max(人员.姓名)姓名,max(人员.性别)性别,sum(订阅.数量)订阅报刊数量);form12.query1.sql.Add(from 人员,报刊,订阅);form12.query1.sql.add(where 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form12.Query1.SQL.Add(group by 人员.人员编号);form12.Query1.open;form12.Query1.Active:=true;form12.show;end;procedure TForm2.N11Click(Sender: TObj

25、ect);beginform13.query1.SQL.Clear;form13.query1.sql.Add(select 报刊.报刊编号,max(报刊.名字)名字,max(报刊.类别)类别,max(报刊.价格)价格,count(人员.人员编号)订阅人数);form13.query1.sql.Add(from 人员,报刊,订阅);form13.query1.sql.add(where 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form13.Query1.sql.Add(group by 报刊.报刊编号);form13.Query1.open;form13.Q

26、uery1.Active:=true;form13.show;end;procedure TForm2.N12Click(Sender: TObject);beginform14.query1.SQL.Clear;form14.query1.sql.Add(select 人员.工作部门,count(人员.人员编号)订阅人数);form14.query1.sql.Add(from 人员,报刊,订阅);form14.query1.sql.add(where 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form14.Query1.SQL.add(group by 人员

27、.工作部门);form14.Query1.open;form14.Query1.Active:=true;form14.show;end;procedure TForm2.N8Click(Sender: TObject);beginform6.show;end;procedure TForm2.Image1Click(Sender: TObject);beginend;end.人员录入代码:procedure TForm3.Button1Click(Sender: TObject);beginform3.Query1.close;form3.query1.SQL.Clear;form3.que

28、ry1.SQL.Add(insert into 人员);form3.query1.SQL.Add(values(+edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+);form3.Query1.ExecSQL;edit1.Text:=;edit2.Text:=;edit3.Text:=;edit4.Text:=;edit5.Text:=;showmessage(录入成功);form3.show;end;报刊录入代码:procedure TForm3.Button3Click(Sender: TObject);begin

29、form3.Query1.close;form3.query1.SQL.Clear;form3.query1.SQL.Add(insert into 报刊);form3.query1.SQL.Add(values(+edit6.text+,+edit7.text+,+edit8.text+,+edit9.text+,+edit10.text+);form3.Query1.ExecSQL;edit6.Text:=;edit7.Text:=;edit8.Text:=;edit9.Text:=;edit10.Text:=;showmessage(录入成功);form3.show;end;proced

30、ure TForm3.Button2Click(Sender: TObject);beginform3.close;end;procedure TForm3.Button4Click(Sender: TObject);beginform3.close;end;报刊订阅代码:procedure TForm4.Button2Click(Sender: TObject);beginform4.close;end;procedure TForm4.FormActivate(Sender: TObject);beginedit1.SetFocus;end;procedure TForm4.Button1

31、Click(Sender: TObject);vara,b,sum:real;s:string;beginform4.Query1.close;form4.query1.SQL.Clear;form4.query1.SQL.Add(insert into 订阅);form4.query1.SQL.Add(values(+edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+);form4.Query1.ExecSQL;form12.query1.SQL.Clear;form12.query1.SQL.Add(select * from 报刊);fo

32、rm12.query1.SQL.Add(where 报刊.报刊编号=+edit2.text+);form12.Query1.open;form12.Query1.Active:=true;s:=form12.DBGrid1.Fields4.asstring;a:=strtofloat(s);b:=strtofloat(edit3.text);sum:=a*b;edit1.Text:=;edit2.Text:=;edit3.Text:=;edit4.Text:=;showmessagefmt(订阅成功,总价格为:%12.4f,sum);form4.show;end;订阅查询代码:procedur

33、e TForm5.Button4Click(Sender: TObject);beginform5.Close;end;procedure TForm5.Button1Click(Sender: TObject);beginDBGrid1.DataSource:=DataSource1;form5.query1.SQL.Clear;form5.query1.sql.Add(select 人员.人员编号,人员.姓名,人员.工作部门,报刊.报刊编号,报刊.名字,报刊.类别,报刊.价格,订阅.数量);form5.query1.sql.Add(from 人员,报刊,订阅);form5.query1.s

34、ql.add(where 人员.姓名=+edit1.text+ And 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form5.Query1.open;form5.Query1.Active:=true;form5.show;end;procedure TForm5.Button2Click(Sender: TObject);beginDBGrid2.DataSource:=DataSource1;form5.query1.sql.clear;form5.query1.sql.add(select 人员.人员编号,人员.姓名,人员.工作部门,报刊.报刊编号,报刊

35、.名字,报刊.类别,报刊.价格,订阅.数量);form5.query1.sql.add(from 人员,报刊,订阅);form5.query1.sql.add(where 报刊.名字=+edit2.text+ And 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form5.Query1.open;form5.Query1.Active:=true;form5.show;end;procedure TForm5.Button3Click(Sender: TObject);beginDBGrid3.DataSource:=DataSource1;form5.quer

36、y1.sql.clear;form5.query1.sql.add(select 人员.人员编号,人员.姓名,人员.工作部门,报刊.报刊编号,报刊.名字,报刊.类别,报刊.价格,订阅.数量);form5.query1.sql.add(from 人员,报刊,订阅);form5.query1.sql.add(where 人员.工作部门=+edit3.text+ And 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form5.Query1.open;form5.Query1.Active:=true;form5.show;end;procedure TForm5.Bu

37、tton5Click(Sender: TObject);beginform5.Close;end;procedure TForm5.Button6Click(Sender: TObject);beginform5.Close;end;procedure TForm5.TabSheet1Show(Sender: TObject);begin DBGrid1.DataSource:=DataSource2;end;procedure TForm5.TabSheet2Show(Sender: TObject);begin DBGrid2.DataSource:=DataSource2;end;pro

38、cedure TForm5.TabSheet3Show(Sender: TObject);begin DBGrid3.DataSource:=DataSource2;end;procedure TForm5.Button7Click(Sender: TObject);begin/form8.query1.Close;form8.query1.SQL.Clear;form8.query1.sql.Add(select 人员.人员编号,人员.姓名,人员.工作部门,报刊.报刊编号,报刊.名字,报刊.类别,报刊.价格,订阅.数量);form8.query1.sql.Add(from 人员,报刊,订阅)

39、;form8.query1.sql.add(where 人员.姓名=+edit1.text+ And 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form8.Query1.execsql;form8.Query1.Active:=true;edit1.Text:=;form8.qrlabel1.caption:=人员编号;form8.qrlabel2.caption:=姓名;form8.qrlabel3.caption:=工作部门;form8.qrlabel4.caption:=报刊编号;form8.qrlabel5.caption:=名字;form8.qrla

40、bel6.caption:=类别;form8.qrlabel7.caption:=价格;form8.qrlabel8.caption:=数量;form8.QRDBText1.DataField:=人员编号;form8.qrdbtext2.DataField:=姓名;form8.qrdbtext3.DataField:=工作部门;form8.qrdbtext4.DataField:=报刊编号;form8.qrdbtext5.DataField:=名字;form8.qrdbtext6.DataField:=类别;form8.qrdbtext7.DataField:=价格;form8.qrdbtex

41、t8.DataField:=数量;form8.quickrep1.preview;end;procedure TForm5.Button8Click(Sender: TObject);beginform8.query1.sql.clear;form8.query1.sql.add(select 人员.人员编号,人员.姓名,人员.工作部门,报刊.报刊编号,报刊.名字,报刊.类别,报刊.价格,订阅.数量);form8.query1.sql.add(from 人员,报刊,订阅);form8.query1.sql.add(where 报刊.名字=+edit2.text+ And 人员.人员编号=订阅.

42、人员编号 And 报刊.报刊编号=订阅.报刊编号 );form8.Query1.execsql;form8.Query1.Active:=true;edit2.Text:=;form8.qrlabel1.caption:=人员编号;form8.qrlabel2.caption:=姓名;form8.qrlabel3.caption:=工作部门;form8.qrlabel4.caption:=报刊编号;form8.qrlabel5.caption:=名字;form8.qrlabel6.caption:=类别;form8.qrlabel7.caption:=价格;form8.qrlabel8.cap

43、tion:=数量;form8.QRDBText1.DataField:=人员编号;form8.qrdbtext2.datafield:=姓名;form8.qrdbtext3.datafield:=工作部门;form8.qrdbtext4.datafield:=报刊编号;form8.qrdbtext5.datafield:=名字;form8.qrdbtext6.datafield:=类别;form8.qrdbtext7.datafield:=价格;form8.qrdbtext8.datafield:=数量;form8.quickrep1.preview;end;procedure TForm5.

44、Button9Click(Sender: TObject);beginform8.query1.sql.clear;form8.query1.sql.add(select 人员.人员编号,人员.姓名,人员.工作部门,报刊.报刊编号,报刊.名字,报刊.类别,报刊.价格,订阅.数量);form8.query1.sql.add(from 人员,报刊,订阅);form8.query1.sql.add(where 人员.工作部门=+edit3.text+ And 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form8.Query1.execsql;form8.Query1

45、.Active:=true;edit3.Text:=;form8.qrlabel1.caption:=人员编号;form8.qrlabel2.caption:=姓名;form8.qrlabel3.caption:=工作部门;form8.qrlabel4.caption:=报刊编号;form8.qrlabel5.caption:=名字;form8.qrlabel6.caption:=类别;form8.qrlabel7.caption:=价格;form8.qrlabel8.caption:=数量;form8.QRDBText1.DataField:=人员.人员编号;form8.qrdbtext2.

46、datafield:=人员.姓名;form8.qrdbtext3.datafield:=人员.工作部门;form8.qrdbtext4.datafield:=报刊.报刊编号;form8.qrdbtext5.datafield:=报刊.名字;form8.qrdbtext6.datafield:=报刊.类别;form8.qrdbtext7.datafield:=报刊.价格;form8.qrdbtext8.datafield:=订阅.数量;form8.quickrep1.preview;end;统计代码:按人员统计:procedure TForm12.Button1Click(Sender: TOb

47、ject);beginform12.Close;end;procedure TForm12.Button2Click(Sender: TObject);beginform8.query1.SQL.Clear;form8.query1.sql.Add(select 人员.人员编号,max(人员.姓名)姓名,max(人员.性别)性别,sum(订阅.数量)订阅报刊数量);form8.query1.sql.Add(from 人员,报刊,订阅);form8.query1.sql.add(where 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form8.Query1.SQ

48、L.Add(group by 人员.人员编号);/form8.Query1.execsql;form8.Query1.open;form8.Query1.Active:=true;form8.Query1.Active:=true;form8.qrlabel1.caption:=人员编号;form8.qrlabel2.caption:=姓名;form8.qrlabel3.caption:=性别;form8.qrlabel4.caption:=订阅报刊数量;form8.qrlabel5.caption:=;form8.qrlabel6.caption:=;form8.qrlabel7.capti

49、on:=;form8.qrlabel8.caption:=;form8.QRDBText1.DataField:=人员编号;form8.qrdbtext2.DataField:=姓名;form8.qrdbtext3.DataField:=性别;form8.qrdbtext4.DataField:=订阅报刊数量;form8.qrdbtext5.Enabled:=false;form8.qrdbtext6.Enabled:=false;form8.qrdbtext7.Enabled:=false;form8.qrdbtext8.Enabled:=false;form8.quickrep1.prev

50、iew;end;按报刊统计:procedure TForm13.Button1Click(Sender: TObject);beginform13.Close;end;procedure TForm13.Button2Click(Sender: TObject);beginform8.query1.SQL.Clear;form8.query1.sql.Add(select 报刊.报刊编号,max(报刊.名字)名字,max(报刊.类别)类别,max(报刊.价格)价格,count(人员.人员编号)订阅人数);form8.query1.sql.Add(from 人员,报刊,订阅);form8.que

51、ry1.sql.add(where 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form8.Query1.sql.Add(group by 报刊.报刊编号);/form8.Query1.execsql;form8.Query1.open;form8.Query1.Active:=true;form8.qrlabel1.caption:=报刊编号;form8.qrlabel2.caption:=名字;form8.qrlabel3.caption:=类别;form8.qrlabel4.caption:=价格;form8.qrlabel5.caption:=订阅人数;

52、form8.qrlabel6.caption:=;form8.qrlabel7.caption:=;form8.qrlabel8.caption:=;form8.QRDBText1.DataField:=报刊编号;form8.qrdbtext2.DataField:=名字;form8.qrdbtext3.DataField:=类别;form8.qrdbtext4.DataField:=价格;form8.qrdbtext5.DataField:=订阅人数;form8.qrdbtext6.Enabled:=false;form8.qrdbtext7.Enabled:=false;form8.qrd

53、btext8.Enabled:=false;form8.quickrep1.preview;end;按部分统计:procedure TForm14.Button1Click(Sender: TObject);beginform14.Close;end;procedure TForm14.Button2Click(Sender: TObject);beginform8.query1.SQL.Clear;form8.query1.sql.Add(select 人员.工作部门,count(人员.人员编号)订阅人数);form8.query1.sql.Add(from 人员,报刊,订阅);form8.query1.sql.add(where 人员.人员编号=订阅.人员编号 And 报刊.报刊编号=订阅.报刊编号 );form8.Query1.SQL.add(group by 人员.工作部门);/form8.Query1.execsql;form8.Query1.open;form8.Query1.Active:=true;form8.qrlabel1.caption:=工作部门;form8.qrlabel2.caption:=订阅人数;form8.qrla

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!