报刊订阅系统.doc

报刊订阅系统.doc

ID:51408926

大小:340.00 KB

页数:22页

时间:2020-03-23

报刊订阅系统.doc_第1页
报刊订阅系统.doc_第2页
报刊订阅系统.doc_第3页
报刊订阅系统.doc_第4页
报刊订阅系统.doc_第5页
资源描述:

《报刊订阅系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库课程设计实习报告院系:XXXXXXXXXXXXXXX姓名:XXX学号:XXXXXXXX二零零七年一月十四日数据库课程设计一.实验目的:加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;为毕业设计和以后工作打下必要基础。二.课程设计任务设计一个订户订阅报刊的应用系统。涉及订单、订户、报刊目录及投递卡信息。1、系统语义描述如下:l一个订户可订多种报刊;一

2、种报刊可被多个用户订阅;订单只能订阅现有报刊目录内容;l一张投递卡可包含对多个订户的订单的投递信息;2、系统功能包括:l订户管理:订户增加、修改、删除;l目录管理:目录增加、删除、修改;l订单管理:完成订户订阅数据的管理;l订单查询:按订户查询订单详细情况;l统计查询:按报刊目录统计各类报刊的订阅数量及金额3、实现内容l创建数据库的结构l创建各基本表的结构l编制系统各功能模块,完成数据的管理(增、删、改)及统计查询。一.数据库系统设计1.设计E-R图报刊用户订单订阅提交MNMN投递MN2.设计相应的关系模型,

3、确定数据库结构根据基础数据建立名为“报刊”的数据库,并建立三个关系表:订单表CUS_ORDER、用户表CUSTOMER、报刊表NMTABLE,各表结构及数据结构如下:(1)CUS_ORDER表:(2)CUSTOMER表:(1)报刊表NMTABLE:3.数据库范式分析由于此数据库不存在传递依赖和部分依赖,所以该数据库系统属于第三范式。4.设计应用系统的系统结构图,确定系统功能:程序由MFC编写,编译平台为MicrosoftVisualStudio.NET2003。流程图如下:程序初始化连结数据库初始化图形界面功

4、能选择数据统计模块用户及报刊数据管理模块用户订报管理模块退出程序成功失败5.设计关系的主码约束、外码约束和使用CHECK实现完整性控制:6.应用程序编写(1)连结数据库try{HRESULThr;//创建Connection对象hr=m_pConnection.CreateInstance("ADODB.Connection");if(SUCCEEDED(hr)){//连接数据库hr=m_pConnection->Open("provider=SQLOLEDB.1;DataSource=127.0.0.1;u

5、serID=sa;Password=123456;InitialCatalog=报刊","","",adModeUnknown);//MessageBox(0,_T("连结成功"),_T("成功"),0);}else{MessageBox(NULL,"创建ADO对象失败","失败",MB_OK);returnfalse;}}catch(...){MessageBox(NULL,"连接数据库失败,请确定数据库是否启动且账号是否正确!",_T("连接数据库失败"),MB_OK);returnfalse;}程序采用

6、COM接口连结数据库,所以先初始化OLE组件,再创建Connection实例,如果创建成功,就尝试连结,连结时用trycatch捕捉数据库连结异常。如果发生异常,就提示用户数据连结出错。(2)订阅信息统计模块:该模块将显示所有订阅信息,包括每个用户订了哪些报刊,报刊的份数,起至刊号及所订报刊的单价等所有数据信息,如图:以下给出加载这些信息的函数。_RecordsetPtrpRecord;try{//生成Recordset实例pRecord.CreateInstance("ADODB.Recordset");/

7、/打开记录集,静态光标(静态记录集),乐观锁定方式//查询所有语句sql="selectcustomer.cno,customer.name,customer.addr,cus_order.orderdate,NMTABLE.title,NMTABLE.price,NMTABLE.period,cus_order.start,cus_order.term,cus_order.qtyfromcustomer,cus_order,[NMTABLE]wherecustomer.cno=cus_order.cnoan

8、dNMTABLE.nmno=cus_order.nmno";pRecord->Open(_bstr_t(sql),_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);while(!pRecord->adoEOF){value=pRecord->GetCollect("cn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。