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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(超市管理系统——数据库课程设计报告.docx)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

超市管理系统——数据库课程设计报告.docx

1、 数据库课程设计 超市管理系统 yu 2011-12-20 第1节 课程设计背景及意义 1.1课程设计背景 随着我国改革开放的不断深入、经济飞速的发展,企业要想生存发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的。作为现代社会的一部分,超市必须适应社会的发展,因此实现超市的信息化管理是很有必要的。 在传统的手工管理中,往往是用人工清点的方式来掌握超市中现有的商品,使用手工记账的方式来掌握商品的进货和销售情况。这种方式在商品数量较少

2、商品库存变换少的情况下,不失为一种较好的方法。但是,在目前的大中型超市中,往往需要处理的商品种类数以千计,而且每天所发生的进货和销售情况纷繁复杂。如果要借助人工来实现这一系列数据的记录和管理,工作量将非常巨大,而且容易出现错误,造成管理上的混乱,更何况还需要对商品的数据进行统计和分析。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们所认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对超市信息进行管理有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高超市管理的

3、效率,也能使超市步入科学化、正规化的管理。基于这些问题,为了使超市管理工作规范化、系统化、程序化,避免超市管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询和修改商品情况,建立一个超市管理系统是非常必要的。 1.2课程设计意义 超市管理系统用计算机管理超市库存进出管理和销售的一种计算机应用技术的创新,在计算机还未普及之前库存管理和销售都是由工作人员手工书写的方式来操作的。现在一般的超市都采用计算机智能化管理,采用计算机作为工具的实用的计算机社区超市管理程序来帮助管理员进行更有效的超市管理工作。社区超市管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和

4、维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。 超市管理系统依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加

5、快超市经营管理效。 第2节 需求分析 2.1业务需求 通过与超市人员的交流,发现超市管理系统需要满足来自多个不同用户的要求。在超市中,按照超市人员的职能分为六大类,分别是销售员、采购员、经理、系统管理员、仓库管理员、顾客(注册和非注册)。系统管理员的要求是掌握超市内部的所有业务,包括销售信息、进货信息、商品信息,具有超级用户的所有权限,对超市实行全面管理。销售员的要求是查看所有销售信息,查看符合条件的销售信息以及增加销售单。采购员的要求是查看所有采购信息,查看符合条件的采购信息,增加采购订单以及更改进退货状态。超市经理的要求是能够查看进货信息、销售信息以及库存信息。而顾客是超市的上帝,超

6、市一切都是为顾客服务。本系统中顾客要求是可以现场买商品,采购信息有采购编号、采购日期、商品厂商、采购员、商品的价格、商品规格、进货商品的数量等属性。同时超市还可以进退货并有相应的付款表。通过与超市管理人员进行反复的讨论,确定系统应该实现以下功能: (1)对商品信息的变动进行处理 在商品的进销过程巾,商品信息总是在不断变化的。比如商品价格的调整、商品信息的修改、新商品信息的增加以及商品信息的删除,因此设计系统时必须考虑到这些情况。 (2)用户信息的变动进行处理。需考虑到新会员的注册和已注册,设置会员折扣用户的信息的修改及删除。 (3)对顾客采购信息的变动进行处理。采购信息的过程中采购信息也

7、在不断发生改变,因此也要充分考虑。 (4)查询及统计功能。要求可以根据指定的条件对商品信息、用户信息和采购信息、销售信息进行查询和统计。 (5)对库存商品信息的变动进行处理。要求可以根据库存的状态进行相应的进退货。 2.2功能需求 2.1.1零售前台(POS)管理系统 商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。 收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在

8、顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。 安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。 独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业 2.1.2后台管理系统 进货管理: 根据销售情况及库存情况,自动制

9、定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。 人员管理:员工,会员,供应商,厂商等基本信息登记管理。 2.3数据需求 2.3.1顶层数据流程 超市

10、人员 超市管理系统 系统时间 顾客 2.3.2第0层数据流程 处理查询 处理要求 检查有效性 2.3.3第1层数据流程 要求处理类型 采购信息 销售信息 商品信息 用户信息 库存信息 第3节概要设计 3.1概念结构设计 3.1.1员工信息E-R图设计 密码 薪资 卡号 性别 姓名 职务 员工表 3.1.2商品信息E-R图设计 数量 商品信息表 厂商 供应商 编号 条形码 单价 种类 名称 3.1.3供应商信息E-R图设计 供应商信息 名称 编号 电话 地址 3.1.4商品销售信息E

11、R图设计 供应商 商品销售表 名称 价格 数量 编号 时间 3.1.5出库/入库信息E-R图设计 进货价 出/入库表 制单人 经手人 仓库号 编号 时间 数量 3.2逻辑结构设计 3.2.1系统关系模型 a) 商品信息表(商品编号,商品名称,价格,条形码,数量,厂商编号,供货商编号) b) 员工表(用户编号,用户名称,用户密码,用户类型) c) 商品销售表(销售编号,商品编号,销售数量,销售金额,销售日期) d) 入库/出库表(入库编号,入库商品编号,入库数量,入库日期) e) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话

12、 f) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话) 3.3数据库模式定义 商品信息表(MerchInfo) 字段名 字段类型 长度 主/外键 字段值约束 对应中文名 MerchID int 4 Not null 商品编号 MerchName Varchar 50 Not null 商品名称 MerchPrice Money 4 Not null 价格 MerchNum Int 4 Not null 库存数量 BarCode Varchar 50 Not null 条形码 FactoryID Va

13、rchar 10 Not null 厂商编号 ProvideID Varchar 10 Not null 供货商编号 员工表(Menber) 字段名 字段类型 长度 主/外键 字段值约束 对应中文名 UserID varchar 10 Not null 员工编号 UserName Varchar 25 Not null 员工名称 UserPW Varchar 50 Not null 员工薪资 UserStyle Int 4 Not null 员工职务 UserSex Varchar 10

14、 Not null 员工性别 销售表(Sale) 字段名 字段类型 长度 主/外键 字段值约束 对应中文名 SaleID Varchar 10 Not null 销售编号 MerChID Varchar 10 Not null 商品编号 SaleDate Datetime 8 Not null 销售日期 SaleNum Int 4 Not null 销售数量 SalePrice Money 4 Not null 销售单额 入库/出库纪录表(Stock) 字段名 字段类型 长度 主/外键

15、字段值约束 对应中文名 StockID Varchar 10 Not null 入库编号 MerchID Varchar 10 Not null 入库商品编号 MerchNum Int 4 Not null 入库数量 MerchPrice Money 4 Not null 单额 StockDate Datetime 8 Datetime 入库日期 PlanDate Datetime 8 Datetime 计划进货日期 供货商表(Provide) 字段名 字段类型 长度 主/外键 字段值约束

16、对应中文名 ProvideID varchar 10 Not null 供货商编号 ProvideName Varchar 50 Not null 供货商名称 ProvideAddress Varchar 250 供货商地址 ProvidePhone Varchar 25 供货商电话 厂商表(Provide) 字段名 字段类型 长度 主/外键 字段值约束 对应中文名 FactoryID varchar 10 Not null 厂商编号 FactoryName Varchar 50 Not n

17、ull 厂商名称 FactoryAddress Varchar 250 厂商地址 FactoryPhone Varchar 25 厂商电话 第4节 数据库实施阶段 4.1安全性设计 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制 等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,

18、存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。 1) 系统要能重建 2) 系统应该是可审查的 3) 系统应能进行有效控制,抗干扰能力强 4) 系统使用者的使用权限是可识别的 SQL Server提供多层安全。在最外层,SQL Server的登录安全性直接集成到Widows NT/2000的安全上,它允许Windows NT服务器验证用户。

19、使用这种"Windows 验证"SQL Server就可以利用Windows NT/2000的安全特性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐号。 4.2完整性设计 数据库完整性是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计 数据库完整性对于数据库应用系

20、统非常关键,其作用主要体现在以下几个方面: 1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。 2.利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。 3.合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。 4.在应用软件的功能测试中,完善的数

21、据库完整性有助于尽早发现应用软件的错误。 在实施数据库完整性设计的时候,有一些基本的原则需要把握: 1.根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。 2.实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。 第5节 详细设计 5.1模块简述 系统总体结构 小型超市零售管理系统 前台POS销售系统 后台管理系统 商品录入 收银业务 入库管理 销售查询 库存

22、管理 人员管理 5.2模块设计与实现(部分界面) 5.2.0登陆界面 5.2.1员工登陆界面 5.2.2商品信息界面 5.2.3员工信息界面 5.2.4供应商信息界面 第6节 总结 通过此次的课程设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在设计报告的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过课程设计,我们学会了如何将学到的知识转化为自己的东西,学会

23、了怎么更好的处理知识和实践相结合的问题。 通过这次超市管理系统课程设计,让我充分运用自己所学的知识,让我明白只有单纯的理论知识是远远不够的,只有通过实际的锻炼才能更好的运用所掌握的基础知识,才能在原有的基础上提升自己的能力,提高自己解决问题的能力。在这短短的几天里,查阅有关的C++学习资料,设计规则,代码的编写及到最后的调试。在设计过程中,通过对控件事件的处理,界面的布局,代码的调试,充分锻炼了自己的思维,获得了充分的实际经验,提高了处理问题的能力,同时也提高了对问题思考的应急能力和抗压力的能力。 经过几天的努力,虽然设计已经完成,但仍然有很多模块和功能要完善,存在很多美中不足之处。但是基

24、本上还能满足小型超市的管理。在设计报告的写作过程中也学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的,在遇到问题时,有必要向老师和同学请教,合作沟通的意义是巨大的。 [参考文献] 【1】. Microsoft SQL Server 2000 联机丛书 【2】. 金林樵主编 SQL Server 2000程序设计实训教程 科学出版社 2006年 【3】. 李言编著 Visual C++项目开发全程实录 清

25、华出版社 2008年 【4】. 姚领田编著 精通MFC程序设计 人民邮电出版社 2006年 【5】. 苗雪兰编著 数据库原理及应用教程(2版)机械工业出版社 2005年 附件: ///////////登陆程序//////////////////////////////////////////////////////////////////// void yuangongdenglu::Ondenglu() { UpdateData(1); if(m_bianhao=="") { MessageBox("请输入账号!"); return;

26、} if(m_mima=="") { MessageBox("请输入密码!"); return; } CAdocon adoconn; adoconn.OnInitAdocon(); _bstr_t sql; sql="select * from 员工信息表 where 员工编号='"+m_bianhao+"' and 员工密码='"+m_mima+"'"; _RecordsetPtr m_precordset; m_precordset=adoconn.GetRecordSet(sql); if(m_precordset->adoE

27、OF==0) { GetDlgItem(ID_rukuxitong)->EnableWindow(FALSE); } UpdateData(0); } ///////////添加程序////////////////////////////////////////////////////////////////////// void Cgongyingshanxinxi::OnButadd() { // TODO: Add your control notification handler code here UpdateData(1);

28、CAdocon adoconn; adoconn.OnInitAdocon();//调试 _bstr_t sqltemp; sqltemp="insert into 供应商信息表 (供应商编号, 供应商名称, 供应商地址, 供应商电话) values ('"+m_gysbh+"','"+m_gysmc+"','"+m_gysdz+"','"+m_gysdh+"')"; adoconn.ExecuteSQL(sqltemp); adoconn.exitcon(); UpdateData(0); MessageBox("添加成功"); OnOK

29、); } ////////////////删除程序////////////////////////////////////////////////////////////////// void CYuangongxinxi::OnButdel() { // TODO: Add your control notification handler code here UpdateData(TRUE); CAdocon adoconn; adoconn.OnInitAdocon();//调试 _bstr_t sqltemp; sqltemp="del

30、ete from 员工信息表 where 员工姓名='"+m_XM+"' "; if(m_XM=="") MessageBox("员工姓名不为空"); if(adoconn.ExecuteSQL(sqltemp)==TRUE) { MessageBox("删除成功"); } else MessageBox("删除失败"); adoconn.exitcon(); OnOK(); UpdateData(FALSE); } ///////////////////查询程序////////////////////////////

31、/////////////////////////////////// void Cshangpingxinxi::OnButquery() { UpdateData(1); // TODO: Add your control notification handler code here CAdocon adoconn; adoconn.OnInitAdocon(); _bstr_t sql; sql="select * from 商品信息表 where 商品编号='"+m_bianhao+"' "; _RecordsetPtr m_prec

32、ordset; m_precordset=adoconn.GetRecordSet(sql); //GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE); if(m_precordset->adoEOF==0) { m_mingcheng= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("商品名称"); m_gysbianhao= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("供货商编号"); m_jiage= (LPCTSTR)(_bstr_

33、t)m_precordset->GetCollect("价格"); m_csbianhao= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("厂商编号"); m_tiaoxingma= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("条形码"); UpdateData(0); adoconn.exitcon(); } } ///////Adocon.cpp: implementation of the CAdocon class.//////////////////////////////

34、//// void CAdocon::OnInitAdocon() { ::CoInitialize(NULL); try { m_pConnection.CreateInstance("ADODB.Connection"); bstr_t strConnect = "driver={SQL Server}; Server=127.0.0.1; DATABASE=SuperMaket; UID=admin;PWD=123;"; m_pConnection->Open(strConnect,"","",adModeUnknown); //们经常使用的

35、只是前面用#import语句引用类型库时,生成的包装类.tlh中声明的智能指针中的三个,它们分别是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分别对它们的使用方法进行介绍: //_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用 _ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordserPtr来实现。而用 _ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordserP

36、tr时不需要。 // _CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,你可以利用全局 _ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr 接口执行存储过程和SQL语句。 //_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更

37、多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给 _RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。 } catch(_com_error e) { TRACE(e.Description()); //throw new CADOException("连接数据库失败");

38、 //AfxMessageBox("连接数据库失败"); } } BOOL CAdocon::ExecuteSQL(_bstr_t bstrSQL)//执行sql语句 { try { if(m_pConnection == NULL) OnInitAdocon(); m_pConnection->Execute(bstrSQL,NULL,adCmdText); return true; } catch(_com_error e) {//AfxMessageBox("失败"); AfxMessageBox(e.Description

39、)); return false; } } //执行查询 _RecordsetPtr& CAdocon::GetRecordSet(_bstr_t bstrSQL) { try { // 连接数据库,如果Connection对象为空,则重新连接数据库 if(m_pConnection==NULL) OnInitAdocon(); // 创建记录集对象 //m_pRecordset.CreateInstance(__uuidof(Recordset)); m_pRecordset.CreateInstance("ADODB.Re

40、cordset"); // 取得表中的记录 m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } // 捕捉异常 catch(_com_error e) { // 显示错误信息 AfxMessageBox(e.Description()); } // 返回记录集 return m_pRecordset; } void CAdocon::exitcon() { if(m_pRecordset!=NULL) m_pRecordset->Close(); m_pConnection->Close(); ::CoUninitialize(); }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服