




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、报刊n阅管理系统的开发与实现专业:计算机科学与技术 学号:姓名:课程设计名称:数据库原理及应用设计题fh 报刊订阅筲理系统的设il勺实现完成期限:自2009年12月14 fi至一 2009 年12 月27 f1共 2 周 设计依据、要求及主要内容(可另加附页):本系统主要面向的用户有系统管理员、读者。下面分角色对该系统的不同操作 范围做说明,主要有以下功能模块:(1)登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。 分別通过不同的用户名和密码进入报刊订阅管理界面。(2)录入新信息功能:对于管理员,包括新用户信息和新报刊信息的录入功能, 信息一旦提交就存入到后台数据库中;普通用户
2、自行注册进行录入个人信息。(3)订阅功能:用户可以订阅报刊,系统口动计算所需金额,并显示在界面上; 管理员不可订阅报刊,必须以用户身份订阅报刊。(4)查询功能:用户可以查询并显示占己所订阅的信息;管理员可以按人员、 报刊、部门分类查询。查询出的信息显示在界面上。(5)统计功能:管理员可以按用户、部门、报刊统计报刊的销售情况,并对一 些重要的订阅信息进行统计;普通用户可以统计出h己的订阅情况。(6)系统维护功能:管理员可以对用户、报刊、部门、订阅等信息进行添加、 删除、更改等维护工作;用户可以更改口己的注册信息,但用户名不能更改。指导教师(签字): 教研室主任(签字):批准fi期:年 月 日摘要
3、本系统是一个而向于企业的报刊订阅管理系统。系统是智能化的管理系统,它 面向所有企业部门的职工用户,但具有安全性能。它能够实现报刊订阅的基本功能, 包括新报刊信息的登录、录入、订阅、杏询、统计等操作。用户合法注册后必须输 入冇效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。 对于非法操作,系统有识别和防护措施。订阅信息处理的特点是订阅信息处理量比较大,所管理的倍息倍息种类繁多,而 且订阅单、编辑单的发牛量特别大,关联信息多,查询和统计的方式各不相同。因此 在管理上实现起来有一定因难。系统在设计过程中,为了克服这些因难,需要使程序代码标准化,软件统一化,确 保软件的町维护性和
4、实用性;删除不必耍的管理冗余,实现管理规范化、科学化;界 而友好、简单化,做到实用、方便,尽量满足报刊订阅中员工的需要。关键词:power bui 1 der; microsoft sql server 2000;录入;查询;统计;订阅;1系统需求分析611信息需求分析61.2业务流程分析61.3功能需求分析81.4数据流图81.5数据字典112系统设计132. 1系统功能结构设计 132.2数据库概念设计132. 3数据库逻辑设计152.4数据库物理设计 173系统实现与测试193.1数据库连接193. 2模块功能实现203.2. 1菜单的实现203.2.2登录模块的实现213.2.3录入信
5、息模块的实现243.2.4查询信息模块的实现253.2.5统计信息模块的实现283.2.6订阅报刊模块的实现293.2.7更改信息的实现323. 3系统测试34总结41参考文献421. 系统需求分析1.1信息需求分析1.3.1资料收集:业务流程屮用到的相关单据主要是报刊信息还有订单信息 报刊信息表:报刊代号46-250报刊名称1t时代周刊出版报社科技出版社出版周期半月刊每刀定价10.00元/刀分类编号1001报刊介绍it吋代周刊是一本深刻解读信息吋代商业变革的杂志。除深度报 道信息产业的重人新闻外,还报道金融、汽车、股市、零伟等传统行 业利用tt提升商业与管理的新闻。tt时代周刊以调查见深度;
6、以 商业故事见功力。是ce0/ci0/cf0以及政府官员、商业领袖首选刊物。订单信息表:订单编号报刊代号用户编号订阅日期订阅月数份数操作300346-20532062008-7-1订一月1取消订阅300426-30631082008-7-8订半年2取消订阅300572-31031002008-7-9订一年1取消订阅300645-21425412008-7-10订孕1取消订阅12业务流程分析:本系统主耍面向的用户有系统管理员、读者。卜-面分角色对该系统的不同操作范围 做说明。下图为该系统的业务流程图报刊订阅管理系统糸统允管理员选择报川j信息数据存储算帐权限设确认下订订巾査询1.3功能需求分析本系
7、统的主要结构功能图如k:(1) 登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。 分別通过不同的用户名和密码进入报刊订阅管理界面。(2) 录入新信息功能:对丁管理员,包括新用户信息和新报刊信息的录入功能, 信息一旦提交就存入到后台数据库中;普通用户口行注册进行录入个人信息。(3) 订阅功能:用户可以订阅报刊,系统自动计算所需金额,并显示在界面上; 管理员不可订阅报刊,必须以用户身份订阅报刊。(4) 杳询功能:用户可以杏询并显示白己所订阅的信息;管理员可以按人员、 报刊、部门分类杳询。查询出的信息显示在界面上。(5) 统计功能:管理员可以按用户、部门、报刊统让报刊的销售情况,并对
8、一 些重姿的订阅信息进行统计;普通用户可以统计出自己的订阅情况。(6) 系统维护功能:管理员可以对用户、报刊、部门、订阅等信息进行添加、 删除、更改等维护工作;用户可以更改口己的注册信息,但用户名不能更改。1.4数据流图金询请求介询 结果图162系统1层图系统2层图图1.6.4系统3层图神时x 亠 xi出错处理订阅更改订阅请求增删改用户信息录入请求维护请求增删改订单信息.录信s7图165系统4层图1.5数据字典(1)数据结构竹理员用户=管理员帐户+竹理员密码订户二订户编号+订户名+联系电话+联系地址日录二目录编号+日录名+单价+批注信息订单二订单号+订户编号+下订日期订单细节二订单号+h录编号
9、+订阅数量+订阅期数+单价+总价(注:为保证订单确定后价格不随目录单价变动,订单细节中应该有独立的单 价來记录卜订时目录的单价)(2)数据项表2.1 数据项表编号标识符类型长 度所屈表名同义名1anamevarchar20administrator管理员帐户2apasswordvarchar20administrator管理员密码3unamevarchar20consumer订户名4uphonevarchar15consumer联系电话5uaddressvarchar50consumer联系地址6magazine na mevarchar20magazine目录名7wholpricefloat
10、8magazinesubscrible目录单价, 下订时冃录单价8snumint4subscribe订阅数量9subscribenumint4subscribe订阅期数10snumfloat8subscribe订单项总价(3)数据流编号名称来源去向组成1身份信息系统管理员应用系统管理员帐户+密码2授权信息应用系统系统管理员3错谋身份信息应用系统系统管理员4查询请求系统管理员应用系统待查询对象识别符(如cid,ono)5杏询结果应用系统系统管理员被杳询对象具体信息6悖理请求系统管理员应用系统识别符(cid, ono等)+类型7悖理结果信息应用系统系统管理员被管理对彖处理结果8非法请求应用系统系统
11、管理员非法请求提示信息表2.2数据流表2系统设计21系统功能结构设计系统功能结构图如卜图所示:用户图2.1.1系统功能结构图2. 2数据库概念设计基木项构思erd的四条基木原则: 原则1 (确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、 活动、事项等等,在其有多个由基本项描述的特性需耍关注吋,就应把它作为实体。 原则2 (确定联系):两个或多个实体间的关联与结合,如主管,从属,组成, 占有,作用,配合,协同等等,当需耍予以关注时,应作为联系。实体间的联系可 分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。 原则3 (确定属性):实体的属性是实体的本质特征。实体应冇
12、标识属性(能 把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的 结果或状态。 原则4 (-事一地):信息分析中得到的基本项要在且仅在实休联系图屮的一 个地方作为属性出现。经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构。 管理员表(administrator):用于存放管理员的数据记录,包括数据项:管理员名、密码。 部门表(department):用來存放部门的相关记录,包括数据项:部门号,部 门名。 用户表(consumer):用于存放注册用户的记录,包括数据项:用户账号、密 码、真实姓名、身份证号、联系电话,联系地址,部门号(和部门表有关)筹。 报
13、刊信息表(nkigazine):用于存放报刊记录,包括数据项:报刊代号、报刊 名称、出版报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表 有关)等。 订单表(subscribe):用于存放用八下达的订阅报刊的基本信息,包括数据项:订单编号、用户编号(用户表的主码)、用户账时密码、'、丁1j部门号l”/用户报刊代号(报刊信息表的主码)、订阅,报刊代号报刊名称:'一 分类编号联系地址、身份证号、験系电话份数、订阅刀数等。报刊信息:出版报社;4/-、二/k内容介绍ii版周期:j季度报价/v/部门号部门名、一一/、»用户实体的e-r图如下图所示: 示:备理员名 密码
14、、一一/、一一"报刊信息实体的e-r图如下图所根据上血的设计规划出來的实体有部门实体、管理员实体、用八实体、报刊信 息实体和订单实体。管理员实体的e-r图如下图所不:部门实体的e-r图如下图所示:订单实体的e-r图如下图所示:j u u u、一/d dzu u u u /、一、巾 u u 11、j 、4 u u u、-0u、x分类编号、分类名称、- 丿 、- /所有实体之间的的关系e-r图如下图所示:部门理员处理m订阅j1数订单編号用广账号订单报刊代号订阅份数订制im分类编号报刊类别包含内容介绍李度订价联糸电诂2. 3数据库逻辑设计(1) 一般逻辑模型设计关系模型的逻辑结构是组关系模
15、式的集合。将e-r图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。由erd导出-般关系模型的四条原则; 一个1: 1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关 系模式合并。如果软换为一个独立的关系模式,则与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与 某一端实体对应的关系模式何明,则需要在该关系模式的属性屮加入另一个关系模 式的码和联系本身的属性。 一个1: n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模 式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系 本
16、身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个m: n联系转换为一个关系模式。与该联系相连的各实体的码以及联系木 身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。 3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联 系项链呢的各实体的码以及联系木身的属性均转换为关系的属性,各实体的码组成 关系的码或关系码的一部分。根据以上原则将e r图转换成的关系模式如下:部门(部门号,部门名称)用户(用八账号,密码,用八真实姓名,联系电话,联系地址,|部门号|)管理员(管理员名,密码)报刊类别(分类编兮,分类名称)报刊(报刊代号,报刊名称,出版报社,出版周
17、期,每刀订价,内容介绍,|分类编订单(i用八钮丽祀可,订阅份数,订阅刀数,订阅总额)(2)具体逻辑模型设计在sql server2000数据库中,首先创建报刊订阅悖理系统数据库,然后根据数 据库的逻辑结构分析创建表41一46的6张数据表。在前台访问数据库阶段设置了 用户和密码,用戶为sa,密码为空。表4-1 department部门表结构字段名称字段类型允许空说明dnumber (主码)char (10)否部门号dnamechar(50)否部门名称表4-2 consumer用户表结构字段名称字段类型允许空说明uname (主码)char (10)否用户帐号upasswordchar (20)是
18、真实姓名urealnamechar(10)否用户密码usexchar(150)是用户联系地址uphonechar (20)是用户联系电话uaddresschar(10)否用户所属部门号subscribenumchar(10)否订阅数量表4-3 magazine报刊表结构字段名称字段类型允许空说明mnumber (主码)char (10)否报刊代号mnamechar(40)否报刊名称mkindint (4)否报刊分类mpresschar (10)否出版报社mtimechar (30)否出版日期mhalfpricechar (10)否半年定价mwholefloat(8)否全年定价表4 4 subs
19、cribe订单表结构字段名称字段类型允许空说明uname (主码)char (10)否用户帐号mnumber (主码)char (10)否报刊代号syearint (4)否订阅份数snumbertnt (4)否订阅刀数ssumfloat (8)是订阅总额表4-5 adminuser管理员表结构字段名称字段类型允许空说明aname (主码)char(10)否管理员用户名apasswordchar(10)否管理员密码2.4数据库物理设计(1) 索引的选择建立由于系统可能要涉及大量数据的操作,所以索引的建立就成为一种必需。本系 统采用b+树索引方法,分别在各consumer, magazine_qu
20、ery, consumerstat 和 query_depat各个表的主键上建立关系表。(2) 数据存放位置本系统数据和索引存放在磁盘中。(3) 确定系统配置根据具体需要配置。(4) 模块设计登陆模块图2.4.1登陆模块ipo图管理功能模块图242管理功能模块ipo图查询功能模块图2.4.3查询功能模块ipo图3系统实现与测试3.1连接数据库的实现打开powerbui ider,新建一个magazine,新建一个application,取名 magazine, 然后点击工具栏上的db profile,新建一个mss microsoft sql server,填入profile name,服务器
21、名,用户名,密码,数据库,如下图:连接数据库:+database - 1 connection: (active connein stalled database interfaces ,dir direct connect fl in9 informix v9.x fl jdb jdbcmss microsoft sql server -i-(b i + i + i + i + i + i +口 groups logins metadata typesi1 procedures & functions tablesi1 users 口 views+侖 utilities 073 or
22、ade 7.3 084 orade8/8i 090 oracle 9.0.1 odb odbc syc sybase ase syj sybase ase for easerver然后输入连接数据库的主要代码:/ profile报刊订阖管理系统sqlca.dbms = e,mss microsoft sql seruerfisqlca.database二"报刊订阅管理系统"sqlca.logpass = 5"sqlca.seruernane = iiwww-3cf0657cd97lisqlca.logld = -sa11sqlca.autoconnit = fal
23、sesqlca.dbparm = bii,connect using sqlca;|if sqlca.sqlcode <>0 then messageboxc 不能连接上数据库!",sqlca .sqmrrtext) returnelsenessageboxc报刊订阅管理系统数据库己经连接上,欢迎使用") end if/close(w welcome)open(w_welcome)3. 2模块功能实现3. 2. 1菜单的实现(1)制作管理员主菜单w_adminview,建管理员主界而w_mainmonu,将该菜单 放到窗口中(2)制作用户主菜单w_consume
24、r,建用户主界® w_consumermain,将菜单放到 窗口中3. 2. 2登录模块的实现(1)制作登录页面wjoginl,在“确定”按钮输入如下:string ls_user,ls_pwds_id=trim(sle_1.text)connect using sqlca;if.tiexty thenmessagebox("pap attention?厂用户名不可为空!")sle_1.setfocus()elseif sle_2thenmessagebox('gpap attention?","密码不可为空i ") sle_
25、2.setfocus()elseg_user=sle_1 -text把输入框中的内容赋给定义的变量g_pwd=sle_2.text/g_id=sle_id.textselect unane,upassword条件查询语句sql语言into :ls_user,:ls_pwdfrom consumerwhere uname=:s_id;if g_user=trim(ls_user) and g_pwd=trin(ls_pwd) then open(w_consunerinain) "用户登录 close(w_login1)else g_input_tine=g_input_time+1&
26、quot;登录次数限制if g_input_time>3 theniiessagebo*训廿nning?厂密码输入错误超过三次!") close(w_login1) close(w_welcome)elseiiessagebox两rnning?,用户名或密码输入有误!) sle_1.text=,i sle22.text=,<end ifend ifend if“注册”按钮代码:open(忙enroli)打开用户注册页面“退出”按钮代码:close (w_loginl)退出木系统(2)制作注册窗口 w_registor,在“注册”按钮的代码如下:connect using
27、sqlca; nane=trin(sle_1.text) password=trin(sle_2.text) copypassword=trin(sle_8.text) realnane=trin(sle_4.text) if rb 1 .checked=true thensex=a,男"elseif rb_2.checked=true thensex=-iiend ifnumber=trim(sle-5.text) phone=trin(sle_6.text) address=trim(sle_7.text) if nane=iiib or nane=b' thenmess
28、ageboxc*系统提示“,对不起?请输入用户名!否则无法注册?“) sle_1.setfocus() returnend ifselect unameinto :nfrom consumerwhere uname=:name;if sqlca.sqlcode=0 thenmessageboxc-统提示对不起,此用户名己被注册?请另选一个试试宀 sle_1.text=,i returnend ifif passwory,or password=' ' thenmessagebox(-系统提示”对不起?请输入登录密码!否则无法注册 sle_2.setfocus()returnen
29、d ifif copypassword=i,i or copipassword= 1 - thenmessagebox(-系统提示"对不起?请再次输入登录密码!否则无法注册严)sle_8.setfocus()returnend ifif passviordocopypassword thenmessagebox系统提示"对不起?两次输入密码必须一致!否则无法注册v)sle 8setfocus()returnend ifif realname=,ib, or realnane=i 1 thenmessageboxc*系统提示”,对不起?请输入真实姓名!否则无法注册严)sle_
30、4.setfocus()returnend ifif nunber=,1-1 or nunber= * * thenmessagebox(-系统提示1对不起?请输入部门号!否则无法注册?tsle_5.setfocus()returnend ifselect dnunberinto :nunberlfron departmentwhere dnumber=:numberusing sqlca;if sqlca.sqlcodeoo thenmessagebox(-警告“您输入的部门号无效?无此部门汁)sle_5.text=,f,sle_5.setfocus()returnend ifinsert
31、into consumer(uname,upassword,urealname,usex,dnumber,uphone,uaddress,subscribenun)ualues(:name,:password9:realname,:sex,:number,:phone,:address90); messagebox(ib系统提示"恭喜!注册成功!")open(w consumermain)close(w enroll)"取消"按钮代码:close(w register)open(w_login)3. 2. 3录入信息模块的实现(1)制作管理员主菜单里的录
32、入报刊信息窗口 w_inputmagazine,录入用户信息窗口 winputconsumer,int b selectstring num9nameconnect using sqlca;if di«)n3meib_2" then b_select=nessagebox(-b系统提示"确定删除所选列? 11,exclamation? ,yesno?) if b_select=1 thendw_1.deleterow(0)end ifend ifif dwo.nane=,b_1,i thendw_1.insertrow(0)end ifif dwon3mwb_3&
33、quot; thendw_1.update()if sqlca.sqlcodeoo thenrollback;messageboxl操作非法! 无法保存! ”); returnelsecommit;nessagebox(-系统提示"信息保存成功严) returnend ifend ifif dwo.nane=i,b_4,b then close (vjinputmagazine) end if(2)制作数据窗口 d_consumer, d_magazien在数据窗口调整好外观,添加控件, 并设定相应的动作,分别放到这两个窗口中这两个窗口功能相识,在窗口中输入:dw 1.settran
34、sobject (sqlca)dw_ 1 retrieve()dw_2 settransobject(sqlca)dw_2 retrieve ()d.magazien (app) (c:doojments and settingsadministrator哀面 资料 报刊订阅笞理系蜒app.pb!) data window3. 2. 4查询信息模块的实现制作管理员主菜单屮的杳询订阅信息窗口 w_searchorder,制作数据窗i i dw booksearch,将其放入窗体中,在窗口中输入代码:dw_l. settransobject(sqlca)dw_l. retrieve ()sle 1
35、. setfocus()在“检索”按钮屮输入代码:string number9namelong ll_rowconnect using sqlca;number=trim(sle_1.text)if number=biii or nurnber=* * thenmessageboxf统提示厂请输入报刊号汁) return end ifselect mnumber9mname into :number,:name from magazien where mnumber=:number; if sqlca .sqlcodeoo thenmessageboxc'系统提示厂无此报刊評)sle_
36、1.text=iiiireturnend ifsle_2.text=namedw_1 setfilter (l,nagazine_nnuinber=11/dw_1 .setfilter(llll*nuinber+1111) dw_1.filter(yll_row=dw_1.retrieue()if ll_row=0 thenmessagebox(m系统提示”厂无记录严) returnend if“返回”按钮代码: open(w_ma in) close(w_magaz i nc_query) 数据窗口字段 如下图:d_magazine_query (app) (c:documents and
37、settingsadministrator桌面资料 报刊订阅笞理系统 app.pbl(2)按用户查询,按钮代码如下:string copynumber9namelong ll_rowname=trim(sle_1.text)if name=>>>> or name=' 1 thennessageboxc*系统提示“ j请输入用户名? “) return end ifselect unameinto :namefrom consumerwhere uname=:name;if sqlca.sqlcode<>0 thenmessageboxt"
38、系统提示无此用户? sle_1.text=1111 returnend if/sle_2.text=namedw_1. setfilter (ilconsuner_unane=1 ib+name+ )|/dw_1 setfilterc+number )dw_1filter()ll_row=dw_1.retrieue()if ll_row=0 then messagebox("统提示“j此用户未订阅报刊? returnend if返回代码如下: open(w_main) close(w_consumer_ruery) 数据窗口字段如下:(3)用户主菜单的查询订单窗口 w_consume
39、r_query ,将订单査找 d_consumor_ruery_c放到窗口里,在窗口中过过滤器筛选中用八自己的订单信息, 一打开就可以看到白己的订单信息,窗口代码:script cb_1 for clicked returns longb_1二| | el clicked () returns long pbm_bnclickedstring copnumber9namelong ll_rownane=trini(sle_1 .text)if namw or nane=, " then messagebox(-系统提示"j请输入用户名严) returnend ifselec
40、t unameinto :namefrom consumer|where uname=:name;if sqlca.sqlcode<>0 then messageboxt"系统提示"无此用户严) sle_1.text=ibbb returnend if/sle_2.text=nanedw_1 .setfilter(b,consunier_unanie=1 bb+nanie+)/dw_1 setfilter(""+nuinber+"")dw_1.filter(yll_row=dw_1.retrieue()if ll_row=
41、0 then messageboxf系统提示"j此用户未订阅报刊严) returnend if用户统计d consumer query c数据窗口如下:用户查询atodayov用户名报刊号报刊名称订阅飜 数量header tconsumer_uname1: header group consumer unsmetmagazj ne_mnumbe magazi ne_mn am( subscribe_syear subscribe_sndtuilt1: trailer group con9umer uname jsunwury 1'page 1 + page!) ' o
42、*4 |_j>3. 2. 5统计信息模块的实现(1)制作管理员主菜单中的统计用户订单窗口 w_stat_consumer,统计部门订单 窗口 w stat department,统计报刊订单窗口 w statconsumer:制作统计数据窗口 d_consumer_stat , dquerydept , wstat_magazine,将 d_consumer_stat , d_query_dept, w_stat_magazine 分别放入 w_stat_consumer, w_stat_department, w_statconsumer中;以下仅列出按出按部门统计的代码和界面(按用户
43、、报刊统计 类似,略);按部门统计代码:窗口代码:按部门统计数据窗口:dw_l. settransobject(sqlca)dw_l. retrieve()预览键代码:(与上页预览代码相同)退出:close (parent)3. 2. 6订阅报刊模块的实现(1)用户主菜单的订阅报刊窗口 w_userorder该系统小定义了一个全局变量gs.userid,其它窗口界面都可以使用该变量,并显 示用户名,用户登录后,它会显示欢迎使用木系统!”的欢迎界血。窗口代码:dw_l. settransobject(sqlca)dw_l. retrieve ()sle 1. setfocus ()sle_2.
44、text=gs_userid“清空”按钮代码:sle_1. text二"sle_3. text=""sle 5. text二"“退出”按钮代码:close(wuserorder)“提交”按钮代码: cb_1 for clicked returns longstring string| |囱 clicked () returns long pbmbnclicked |name,password ,nagazinenun,magazinenaine,num,ctime ,nunber ,money/4x gs_nane »gs_passworddo
45、uble year int nunb,kindnumdouble halfprice,wholeprice,sumnoney string num1vnane1name=trim(sle_1 .text)/ 将输入框中赋值 password=trin(sle 5 nagazinenum=trin(sle_2.text)| nagazinenane=trin(sle_6.text) ctine=trim(sle_3.text) number=trim(sle_4.text)所有输入框不充许为空if nane=l,b, or name=*1 thennessageboxc1系统提示"j对
46、不起?请您输入用户名汁) return end ifif password=i,i, or password3" 1 thennessageboxc-系统提示"对不起?请您输入密码") return end ifif magazinenane=i-,i or magazinename31 1 thenroessaggbox系统提示"对不起?请输入报刊名称! returnend ifif nagazinenum=i,i- or magazinenum=' 1 thennessageboxc*系统提示"对不起?请您输入报刊号匚 return
47、end ifif ctine=l,m or ctime='' thennessagebox(-统提示対不起?请您输入订阅年限?treturnend ifif nunber=>>li or number=> 1 thennessageboxc1系统提示“j对不起?请您输入数量计) returnend ififor ctine=,b,b or ctirne=,b0.0" or ctine=,0.00" thenmessageboxc1系统提示“请输入有效数字? ”) sle_3.text=bii,returnelseif ctime=,b0.5
48、b, thenyear=0.5 elseif ctine=,b1m or ctime=,1.0m thenyear=1 0elseif ctine=,b1.5bi thenyear=1.5 elseifor ctine=,'2. o* thenyear=2 0 elseif ctine=,b2.5i, thenyear=2.5elseif ctine=,b3" or ctine="3.0" thenyear=3.0 elseif ctine=,b3.5b1 thenyear=3.5 elseif ctimww or ctine="4.0"
49、; thenyear=4 o elseif ctine=,b4.5b> thenyear=4.5elseif ctine=,b5" or ctine=l,5.0" then1或"并不要超过elsenessagebox(-系统提示"订阅年限输入不正确?请按照示例方式输入: end ifif number=*b0bi thennessageboxc1系统提示"请输入有效数字汕)sle_4.text=i,t,returnelseif nunber=i,1li thennumb=1elseif nunberst,2b, thennumb=2els
50、eif nunber=b,3i, thennunb=3elseif number=,4i, thennunb=4elseif nunber=i,5i, thennumb=5elsemessagebox(-系统提示"输入不正确?请按照示例方式输入:x并不要超过5严) returnend ifselect unane,upassword/索用户,看用户名和密码是否和consumer表中看到 into :gs_name,:gspasswordfrom consumerv/here unane=:nane;if sqlca.sqlcodeoo thenmessagebox(-系统提示&quo
51、t;无此用户?")sle_5.text=,f,sle_1.setfocus()returnend ifif sle_5.text<>trin(gs_password) thenmessagebox (-警告口令错误严)sle_5.text=i,1'sles.setfocusoreturnend if检索报刊表中,看是否有此报刊select mnumberinto :numfrom magazienwhere mnunber=:nagazinenun);if sqlca.sqlcodeoo thennessageboxc1系统提示“j无此扌艮刊严)sle_2.tex
52、t=,i,returnend if检索magazine表中相应的价格select mhalfprice,mwholeinto :halfprice 9:v/holepricefrom nagazienwhere mnumber=:magazinenun;检索数据库中该报刊的价格条数if sqlca刊“0(1空>6 thennessagebox系统提示"j1该报刊未输入价格?")returnend ifif year=0.5 or year=1.5 or year=2.5 or year=3.5 or year=4.5 thenif year=0.5 or year=1.5 or year=25 or year=3.5 or year=4.5 then sunnoney=(-9.5+year)*wholeprice+halfprice sumnoney=sumnoney*numbelseif year=1 or year=2 or year=3 or year=4 or year=5 then summoney=year*wholeprice sumfnon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台数据加密算法效能评估与政策法规影响报告
- 2025年民办教育机构合规运营与品牌建设实践案例研究报告
- 2025年海洋生态修复技术与海洋环境保护政策创新研究报告
- 2025年房地产企业多元化布局下的产业链协同效应深度分析报告
- 现代煤化工培训课件
- 2025年营养师资格证考试冲刺试卷:深度解析基础理论与实操技巧
- 2025年Python边缘计算架构考试专项训练试卷 知识点精讲版
- 2025年注册会计师(CPA)考试 会计科目冲刺复习必做模拟试卷
- 2025年公务员考试申论热点问题押题试卷 时政素材专项训练
- 2025年高考数学三角函数专项训练冲刺押题试卷
- GB/T 16288-2024塑料制品的标志
- 山岳型旅游景区安全管理规范DB41-T 1941-2020
- 某部营房零星改造工程投标方案(技术标)
- APQC跨行业流程分类框架(PCF)V7.4版-2024年8月21日版-雷泽佳编译
- 高中生物必修二试卷加详细答案
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
- JTT 203-2014 公路水泥混凝土路面接缝材料
- 普通地质学完整版课件
- 电梯维护保养管理制度
- 第1课 社会主义在中国的确立与探索(导学案)-【中职专用】高一思想政治《中国特色社会主义》(高教版2023·基础模块)
- 第1课《时代精神的精华》第2框《马克思主义哲学指引人生路》-【中职专用】《哲学与人生》同步课堂课件
评论
0/150
提交评论