彩色电视机故障信息管理系统论述

上传人:ilkj****kghj 文档编号:154059769 上传时间:2022-09-20 格式:DOCX 页数:78 大小:171.47KB
返回 下载 相关 举报
彩色电视机故障信息管理系统论述_第1页
第1页 / 共78页
彩色电视机故障信息管理系统论述_第2页
第2页 / 共78页
彩色电视机故障信息管理系统论述_第3页
第3页 / 共78页
点击查看更多>>
资源描述
n更多企业业学院:中小企企业管理理全能版版183套套讲座+897700份份资料总经理理、高层层管理49套讲讲座+1163888份资料中层管管理学院院46套讲讲座+660200份资料国学智智慧、易易经46套讲讲座人力资资源学院院56套讲讲座+2271223份资料各阶段段员工培培训学院院77套讲讲座+ 3244份资料员工管管理企业业学院67套讲讲座+ 87220份资料工厂生生产管理理学院52套讲讲座+ 139920份份资料财务管管理学院院53套讲讲座+ 179945份份资料销售经经理学院院56套讲讲座+ 143350份份资料销售人人员培训训学院72套讲讲座+ 48779份资料彩色电视视机故障障信息管管理系统统(客户户端)The MISS foo TVV appplyyingg inn faailuure infformmatiion学生:全全俊林 指指导教师师:龚迪迪琛摘 要本文介绍绍了如何何使用VVisuual C+.00编程制制作以彩彩色电视视机故障障信息管管理系统统(客户户端部分分)为例例,实现现信息管管理的自自动化。由由此实现现了信息息的增加加、删除除、修改改、查看看等功能能,并且且进而实实现信息息的安全全管理,使使信息的的管理更更加人性性化,规规范化。集计算机技术、网络通信技术为一体的信息管理系统。采用先进有效的管理体制,可以改善企业的经营环境、降低经营生产成本,提高企业的竞争力;使得企业的运行数据更加准确、及时、全面、详实,同时对各种信息进一步加工,使企业领导层的决策依据充分,更具科学性,从而提高故障排除效率,提高信息利用率,有助于进一步提高了生产效率,使企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。AbsttracctThe maiin wworkk off thhis papper is inttrodducee hoow tto uuse Vissuall C+.0pproggrammminng aa Coolorr TVV Maalfuuncttionn-Infformmatiion In-Commmonn Syysteem, achhievve tthe autto-mmanaage of thee Maalfuuncttionn-Infformmatiion. Acccorrdinng tthesse, thiis ssysttem achhievves thee innforrmattionns funnctiion of addd、deelette、eeditt annd vvieww., it alsso gget thee innforrmattionn maanagged saffetyy, sso tthe mannageemennt oof tthe infformmatiion willl bbe mmoree huumannityy & norrmallizee.Theerebby, it cann immproove thee effficcienncy of thee maalfuuncttionns eliiminnatiion, ennhannce thee exxplooitaatioon oof tthe infformmatiion, annd aalsoo heelp impprovvingg thhe eeffiicieencyy off thhe pprodducee byy a larrge steep. 关键词: 数数据库 信息息管理 模模块化管管理 MMIS信信息管理理系统目录1.绪论论1.1 前言信息化建建设对企企业来说说无疑已已经成为为企业在在现代竞竞争社会会中立足足的重要要因素。而而从中国国大陆企企业现状状来看,大大部分企企业的信信息化建建设都是是依靠专专业化软软件公司司。毋庸庸置疑,对对于大规规模的管管理系统统,例如如CRMM(Clliennt RRelaatioon MManaagerr),EERP(EEnteerprrisee Reesouurcee Pllan)等等,使用用专业软软件公司司开发的的产品,功功能相对对齐全,安安全级别别也相对对较高。但但对于企企业内部部小范围围内所需需的一些些小系统统而言,如如也依靠靠此种方方式,势势必会产产生无谓谓的成本本流失。鉴鉴于这种种形式,借借助这次次毕业设设计的机机会,在在龚迪琛琛教师的的指导下下,经过过一段时时间的努努力,开开发出了了这套彩彩色电视视机故障障信息管管理系统统(客户户端部分分)。本本系统主主要用于于对已有有故障信信息进行行更高效效的管理理,提高高信息的的利用率率,改变变了以往往烦琐的的查找,大大大提高高了故障障的排除除速度及及正确率率,对进进一步提提高生产产及管理理效率具具有十分分重要的的意义。1.2 课题背背景 目目标 研究方方法(1)背背景随着中国国加入WWTO,竞竞争也越越来越惨惨烈,中中国的制制造业同同样面临临者巨大大的挑战战。科学学技术的的飞速发发展,产产品功能能要求的的日益增增多,复复杂性增增加,寿寿命期缩缩短,更更新换代代速度加加快。然然而,产产品的管管理,尤尤其是机机械产品品方案的的远程管管理手段段,则显显得力不不从心,跟跟不上时时代发展展的需要要。目前前,机械械产品远远程管理理已得到到了比较较广泛和和深入的的研究,并并初见成成效,企企业中庞庞大的激激烈变化化的产品品数据仅仅仅依靠靠手工方方式来管管理是很很难做到到准确性性、完整整性、及及时性和和可追溯溯性的要要求的。因因此,将将企业产产品块化化的管理理创新成成果与信信息系统统的建设设结合起起来是很很好的解解决方案案。模块块化的产产品远程程管理可可以在保保持产品品较高通通用性的的同时提提供产品品的多样样化配置置和服务务,因此,机机械产品品远程管管理方案案应该得得到进一一步的研研究和开开发。在在这里以以彩色电电视机故故障信息息管理系系统(客客户端部部分)作作为研究究对象。(2)目目标设计计(主要要研究内内容或创创新点)本着提高高效率降降低成本本为出发发点,以以彩色电电视机故故障信息息管理为为具体范范例,探探讨对企企业产品品信息管管理MIIS系统统的开发发,并增增加远程程管理功功能,使使生产工工程部的的故障处处理工作作系统化化,规范范化。(3) 研究方方法与技技术路线线及预期期结果本课题为为应用型型管理系系统的开开发,尝尝试增加加远程管管理功能能,采用用小型DDBMSS(数据据库管理理系统)AACESSS,通通过TCCP/IIP协议议利用wwinssockkectt结合,DDAO或或者ADDO与关关系数据据的接口口实现产产品信息息的管理理,查询询,整理理等工作作。 本本部分为为客户端端部分。1.3 主要要完成工工作及要要求(1)尽尽量采用用生产工工程部现现有的软软硬件环环境及齐齐全的故故障信息息,从而而达到充充分利用用现有资资源,提提高系统统开发水水平和应应用效果果的目的的。(2)系系统应符符合生工工部资料料管理规规范,符符合普通通员工操操作的规规范,达达到操作作过程中中的直观观、方便便、实用用、安全全等要求求。(3)系系统采用用Vissuall C+6.0环境境,用AADO(ActiveX Data Objects)数据访问方式,采用Microsoft Access 2003作为数据源,使整个系统易于使用及维护。(4)系系统采用用模块化化程序设设计方法法,既便便于系统统功能的的各种组组合和修修改,又又便于未未参与开开发的技技术维护护人员补补充、维维护。(5)系系统应具具备数据据维护功功能,及及时根据据数据变变化进行行添加、删删除、修修改、查查询等操操作,并并加入拥拥护权限限功能,以以及远程程管理功功能,使使系统更更加安全全适用。2MIIS系统统设计及及功能分分析介绍绍2.1 MISS系统介介绍所谓MIIS(管管理信息息系统-Maanaggemeent Infformmatiion Sysstemm)系统统 ,是是一个由由人、计计算机及及其他外外围设备备等组成成的能进进行信息息的收集集、传递递、存贮贮、加工工、维护护和使用用的系统统。是一一门新兴兴的科学学,其主主要任务务是最大大限度的的利用现现代计算算机及网网络通讯讯技术加加强企业业的信息息管理,通通过对企企业拥有有的人力力、物力力、财力力、设备备、技术术等资源源的调查查了解,建建立正确确的数据据,加工工处理并并编制成成各种信信息资料料及时提提供给管管理人员员,以便便进行正正确的决决策,不不断提高高企业的的管理水水平和经经济效益益。目前前,企业业的计算算机网络络已成为为企业进进行技术术改造及及提高企企业管理理水平的的重要手手段。随随着我国国与世界界信息高高速公路路的接轨轨,企业业通过计计算机网网络获得得信息必必将为企企业带来来巨大的的经济效效益和社社会效益益,企业业的办公公及管理理都将朝朝着高效效、快速速、无纸纸化的方方向发展展。MIIS系统统通常用用于系统统决策,例例如,可可以利用用MISS系统找找出目前前迫切需需要解决决的问题题,并将将信息及及时反馈馈给上层层管理人人员,使使他们了了解当前前工作发发展的进进展或不不足。换换句话说说,MIIS系统统的最终终目的是是使管理理人员及及时了解解公司现现状,把把握将来来的发展展路径。 一个完整整的MIIS应包包括:辅辅助决策策系统(DDSS)、工工业控制制系统(IIPC)、办办公自动动化系统统(OAA)以及及数据库库、模型型库、方方法库、知知识库和和与上级级机关及及外界交交换信息息的接口口。其中中,特别别是办公公自动化化系统(OOA)、与与上级机机关及外外界交换换信息等等都离不不开Inntraanett的应用用。可以以这样说说,现代代企业MMIS不不能没有有Inttrannet,但但Inttrannet的的建立又又必须依依赖于MMIS的的体系结结构和软软硬件环环境。传统的MMIS系系统的核核心是CCS(CClieent/Serrverr客客户端/服务器器)架构构,而基基于Innterrnett的MIIS系统统的核心心是BSS(Brrowsser/Serrverr浏浏览器/服务器器)架构构。BSS架构比比起CSS架构有有着很大大的优越越性,传传统的MMIS系系统依赖赖于专门门的操作作环境,这这意味着着操作者者的活动动空间受受到极大大限制;而BSS架构则则不需要要专门的的操作环环境,在在任何地地方,只只要能上上网,就就能够操操作MIIS系统统,这其其中的优优劣差别别是不言言而喻的的。基于Innterrnett上的MMIS系系统是对对传统MMIS系系统概念念上的扩扩展,它它不仅可可以用于于高层决决策,而而且可以以用于进进行普通通的商务务管理。通通过用户户的具名名登录(或或匿名登登录),以以及相应应的权限限控制,可可以实现现在远端端对系统统的浏览览、查询询、控制制和审阅阅。随着着Intternnet的的扩展,现现有的公公司和学学校不再再局限于于物理的的有形的的真实的的地域,网网络本身身成为事事实上发发展的空空间。基基于Innterrnett上的MMIS系系统,弥弥补了传传统MIIS系统统的不足足,充分分体现了了现代网网络时代代的特点点。随着着Intternnet技技术的高高速发展展,因特特网必将将成为人人类新社社会的技技术基石石。基于于Intternnet的的MISS系统必必将成为为网络时时代的新新一代管管理信息息系统,前前景极为为乐观。2.2系系统设计计及功能能分析通过一个个彩电故故障信息息管理系系统,使使生产工工程部客客户端部部分的故故障处理理工作模模块化,系系统化,规规范化,自自动化,从从而达到到提高故故障排除除效率,提提高信息息利用率率的目的的。本系系统功能能分析是是在系统统开发总总体任务务的基础础上完成成的,本本系统需需要完成成的功能能如下:l 故障信息息的输入入、查询询、修改改、删除除l 故障信息息的打印印l 系统用户户管理,权权限管理理2.3 功能模模块设计计在系统功功能分析析的基础础上,考考虑Viisuaal CC+程程序编制制的特点点,得到到图1所所示的系系统功能能模块图图。增加新信息信息数据彩电故障信息共享系统信息变动管理员信息管理修改新信息权限验证打印管理系统管理删除新信息查 询信息查询用户权限增加删除修改图1系统统功能模模块图 图图2数数据流程程3. 数数据库设设计及AADO访访问数据据库3.1 数据库库设计过过程数据库技技术是信信息资源源管理最最有效的的手段。数数据库设设计是指指对于一一个给定定的应用用环境,构构造最优优的数据据库模式式,建立立数据库库及其应应用系统统,有效效存储数数据,满满足用户户信息要要求和处处理要求求。数据据库设计计中需求求分析阶阶段综合合各个用用户的应应用需求求(现实实世界的的需求),在在概念设设计阶段段形成独独立于机机器特点点、独立立于各个个DBMMS产品品的概念念模式(信信息世界界模型),用用E-RR图来描描述。在在逻辑设设计阶段段将E-R图转转换成具具体的数数据库产产品支持持的数据据模型如如关系模模型,形形成数据据库逻辑辑模式。然然后根据据用户处处理的要要求,安安全性的的考虑,在在基本表表的基础础上再建建立必要要的视图图(VIIEW)形形成数据据的外模模式。在在物理设设计阶段段根据DDBMSS特点和和处理的的需要,进进行物理理存储安安排,设设计索引引,形成成数据库库内模式式。数据据结构的的好坏将将直接影影响到系系统的效效率以及及实现的的效果。好好的数据据库结构构会减少少数据库库的存储储量、冗冗余度,数数据的完完整性和和一致性性比较高高,系统统具有较较快的响响应速度度,简化化基于数数据库的的应用程程序的实实现方法法等,一一般可将将数据库库结构设设计分为为四个阶阶段,即即需求分分析、概概念结构构设计、逻逻辑结构构设计和和物理设设计。(1)数数据库需需求分析析需求分析析的任务务是具体体了解应应用环境境,了解解与分析析用户对对数据和和数据处处理的需需求,对对应用系系统的性性能的要要求,提提出新系系统的目目标,为为第二阶阶段、第第三阶段段的设计计奠定基基础。在在仔细研研究资料料管理过过程的基基础上,归归纳出系系统的数数据流程程图如上上图2所所示,所所有数据据均由管管理员输输入管理理。根据图22的数据据流程图图,可得得到所须须设计的的数据项项和数据据结构如如下:l 故障信息息,包括括的数据据项有显显象管、机机芯、机机壳、器器件、技技术员、时时间、其其他、信信息名、具具体内容容等。l 权限验证证,包括括的数据据项有用用户名、密密码等。由上分析析,为此此需要有有2个数数据表分分别用来来存放故故障信息息的用户户信息。这这两个数数据表均均用Acccesss 220000实现。AAcceess中中的设计计视图如如图3、图图4所示示,其中中数据类类型根据据具体的的数据字字段来设设置。图3 iinfoo1视图图图4 llogiin视图图(2)数数据库概概念结构构设计概念模型型用于信信息世界界的建模模。概念念模型不不依赖于于某一个个DBMMS支持持的数据据模型。概概念模型型可以转转换为计计算机上上某一DDBMSS支持的的特定数数据模型型。概念念结构设设计是在在需求分分析的基基础上对对所有数数据要求求按一定定方法进进行抽象象与综合合处理,设设计出不不依赖于于某种具具体DBBMS的的满足用用户应用用需求的的信息结结构。这这种信息息结构我我们称为为概念模模型。通通过对用用户需求求进行综综合、归归纳与抽抽象,形形成一个个独立于于具体DDBMSS的概念念模型,可可以用EE-R图图表示,概念模型特点:(1)具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。(2)应简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。最常用的概念结构设计方法有实体分析法、面向对象设计方法、属性综合法和规范化关系方法。我们此处主要讨论实体分析法。这是一种自上而下抽象的方法。这种方法要求根据前面数据的需求分析,确定系统范围,确定实体及其属性,画出系统的实体联系模型(ER图)。在分析需求的基础上,我们得到整个系统的E-R图。3.2 创建应应用程序序本彩电故故障信息息共享系系统采用用Vissuall C+ 66.0的的ADOO方法开开发。工工程创建建具体步步骤如下下:(1) 打开Viisuaal CC+后后,选择择菜单“”中的“Proojecct”选项卡卡中的“MFCC ApppWiizarrd exee”,设置置工程名名字为“CaiidiaanGuuzhaang”,选择择存储位位置,单单击“OK”。(2) 创建一个个单文档档应用程程序,在在Steep1中中,选择择“Sinnglee Doocummentt”,然后后单击“Nexxt”按扭,进进入“Steep 22 off 6”。(3) 一直单击击“Nexxt”按扭,直直到进入入“Steep 66 off 6”。因为为为了能能使数据据更直观观,我们们采用列列表形式式,所以以需要在在本步骤骤中,选选择CCCaiddiannGuzzhanngViiew类类的Baase Claass(基基类)为为CliistVVieww。然后后单击“Finnishh”,最后后将出现现确认窗窗口,如如图6所所示,检检查无误误后,单单击“确定”,即可可完成工工程创建建。图6 确确认(4) 为了使程程序能支支持ADDO数据据库对象象,以使使程序能能正确的的调用数数据库,应应该在头头文件sstdaafx.h中加加入#impportt cc:PProggramm FiilessCoommoon FFileesSSysttemadoomssadoo15.dlll rennamee_naamesspacce(AdooNS) rennamee(EEOF,aadoEEOF)usinng nnameespaace AdooNS; 导入AADO库库并在主程程序入口口:BOOOL CCaaidiianGGuzhhanggAppp:IInittInsstannce()中加加入AffxOlleInnit();初初始化CCOM环环境。ADO类类的定义义是作为为一种资资源存储储在ADDODLLL(mmsaddo155.dlll)中中,在其其内部称称为类型型库。类类型库描描述了自自治接口口,以及及C使用的的COMMvtaablee接口。当当使用impportt指令时时,在运运行时VVisuual C需要从从ADOODLLL中读取取这个类类型库,并并以此创创建一组组C头文件件。ADO库库包含三三个智能能指针:_CoonneectiionPPtr、_CommmanndPttr和_ReccorddsettPtrr。_CoonneectiionPPtr通通常被用用来创建建一个数数据连接接或执行行一条不不返回任任何结果果的SQQL语句句,如一一个存储储过程。_CommandPtr返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。 _RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定、游标控制等。3.3 数据库库操作准准备(1)初初始化接接口: iniitiaalDbbConnnecct(CCStrringg mddbnaame)在本系统统中通过过建立一一个数据据库类cclasss DDataabasseOpperaate 来实实现整个个信息系系统对数数据的操操作,下下面是对对其提供供的主要要接口的的设计:该接口函函数的作作用是初初始化连连接数据据源。BOOLL DaatabbaseeOpeeratte:IniitiaalDbbConnnecct(CCStrringg mddbnaame)m_ppConnnecctioon.CCreaateIInsttancce(_uuiidoff(Coonneectiion);/先连连接数据据库CSttrinng sstrCConnnectt;BSTTR bbstrrSQLL;strrConnnecct.FFormmat(_T(Prroviiderr = Miccrossoftt.JEET.OOLEDDB.44.0; Dataa ouurcee=%ss),mdbbnamme);bstrrSQLL = strrConnnecct.AAlloocSyysSttrinng();AffxMeessaageBBox(e.EErroorMeessaage();reeturrn ffalsse;retturnn trrue;该接口口的主要要功能是是连接我我们在AAcceess 20003中设设计的数数据源,CString mdbname变量作为数据库文件mdb的名称,由调用 DatabaseOperate 类的主程序给出。在本设计中是“info1.mdb”(2)执执行查询询,修改改,添加加,删除除等功能能的接口口函数的的设计BOOLL DaatabbaseeOpeeratte:ExeecutteSQQLExx(CSStriing strrSQLL)_vaariaant_t RRecoordssAfffectted;/_bsstr_t bbstrrSqll(sttrSQQL);tryym_pCoonneectiion-Exxecuute(bsttrSqql,&ReccorddsAfffecctedd,addCmddTexxt);cattch (_ccom_errror e)AffxMeessaageBBox(e.EErroorMeessaage();reeturrn FFALSSE;retturnn TRRUE;通过执行行一条SSQL语语句来实实现数据据库的读读写操作作,其中中m_ppConnnecctioon是我我们在调调用InnitiialDDbCoonneect初初始化接接口时候候创建的的连接型型智能指指针,我我们可以以通过它它来执行行SQLL语句(3) 获取数数据信息息接口函函数的设设计BOOLL DaatabbaseeOpeeratte: GeetCuurreentRRecoordSSet(Reccorddstrructt&reesullt,llongg SShijjiannsuooyinn,CSttrinng tabblennamee)_ReecorrdseetPttr ttem_pReecorrdseet;temm_pRRecoordsset.CreeateeInsstannce(_uuuidoof(RRecoordsset);/初始始化Reecorrdseet指针针CSttrinng sstrSSql;strrSqll.Foormaat( _T(seelecct * frrom %s wheere sjssy=%d ), tabblennamee, SShijjiannsuooyinn);BSTRR bsstrSSQL = sstrSSql.AlllocSSysSStriing(); tryytemm_pRRecoordsset-Oppen(bsttrSQQL,(IDiispaatchh*)mm_pCConnnecttionn,addOpeenDyynammic,adLLockkOpttimiistiic,aadCmmdTeext); cattch (_ccom_errror e)/异常常处理AffxMeessaageBBox(e.EErroorMeessaage();iff (ttem_pReecorrdseet-Staate) ttem_pReecorrdseet-Cloose();ttem_pReecorrdseet.RReleeasee();reeturrn FFALSSE;whiile(!teem_ppReccorddsett-aadoEEOF)/遍遍历所有有记录 _varriannt_tt v_xxgg,v_jx,vv_jkk, vv_qjjv_ xxxg = teem_ppReccorddsett-GGetCColllectt(_TT(显显象管);v_ jxx = temm_pRRecoordsset-GeetCoolleect(_T(机芯芯);v_ jkk = temm_pRRecoordsset-GeetCoolleect(_T(机壳壳);v_ qjj = temm_pRRecoordsset-GeetCoolleect(_T(器件件);./获取各各个字段段的信息息/将各各字段信信息赋值值给reesullt结构构体,此此处省略略teem_ppReccorddsett-MMoveeNexxt();/转到下下一条纪纪录if (teem_ppReccorddsett-SStatte) teem_ppReccorddsett-CClosse();teem_ppReccorddsett.Reeleaase();retturnn TRRUE;其中参数数Reccorddstrructt&reesullt是对对查询结结果定义义的结构构体,与与前面我我们在数数据库中中建立的的彩电信信息的结结构一致致:typeedeff sttrucct _ReccorddstrructtCStrringg xxxg ;/显显象管CSttrinng jx;/机机芯CSttrinng qj;/器器件CSttrinng jsyy;/技技术员CSttrinng sj;/时时间CSttrinng qitta;/其其他信息息CSttrinng sj;/信信息名CSttrinng qitta;/具具体内容容lonng sjjsy;/时时间索引引Reccorddstrructt,* ppReccorddstrructt;3.4 ADOO访问数数据库(1) 生成应应用程序序框架并并初始化化OLEE/COOM库环环境创建一个个标准的的MFCCApppWizzardd(exxe)应应用程序序,然后后在使用用ADOO数据库库IniitInnstaancee函数中中初始化化OLEE/COOM库(因因为ADDO库是是一个CCOMDDLL库库)。创建一个个标准的的MFCCApppWizzardd(exxe)应应用程序序,然后后在使用用ADOO数据库库的InnitIInsttancce函数数中初始始化OLLE/CCOM库库(因为为ADOO库是一一个COOMDLLL库)。本例为:BOOOL CCAdootesstDllg:OnIInittDiaalogg():CooIniitiaalizze(NNULLL); /初初始化OOLE/COMM库环境境 程序序最后要要调用 :CCoUnniniitiaalizze();/释放程程序占用用的COOM 资资源。另外外:m_pRRecoordsset-Cllosee(); 注意意!不要多多次关闭闭!m_pCConnnecttionn-CClosse();m_pRRecoordsset = NNULLL;m_pCConnnecttionn = NULLL; (2) 引入AADO库库文件使用ADDO前必必须在工工程的sstdaafx.h文件件最后用用直接引引入符号号immporrt引入入ADOO库文件件,以使使编译器器能正确确编译。ADO类的定义是作为一种资源存储在ADODLL(msado15.dll)中,在其内部称为类型库。类型库描述了自治接口,以及C使用的COMvtable接口。当使用import指令时,在运行时Visual C需要从ADODLL中读取这个类型库,并以此创建一组C头文件。这些头文件具有.tli和.tlh扩展名,读者可以在项目的目录下找到这两个文件。在C程序代码中调用的ADO类要在这些文件中定义。 程序的第三行指示ADO对象不使用名称空间。在有些应用程序中,由于应用程序中的对象与ADO中的对象之间可能会出现命名冲突,所以有必要使用名称空间。如果要使用名称空间,则可把第三行程序修改为:rename_namespace(AdoNS)。第四行代码将ADO中的EOF(文件结束)更名为adoEOF,以避免与定义了自己的EOF的其他库冲突。(3) 利用智智能指针针进行数数据库操操作在CabbouttDlgg头文件件中定义义两个AADO智智能指针针类实例例,并在在对话框框中加入入一个LListtCtrrl。 claass CAddoteestDDlg : ppubllic CDiialoog _CConnnecttionnPtrr m_pCoonneectiion; _RRecoordssetPPtr m_ppReccorddsett; CClisstCttrl m_LListt; . ADO库库包含三三个智能能指针:_CoonneectiionPPtr、_CommmanndPttr和_ReccorddsettPtrr。_CConnnecttionnPtrr通常被被用来创创建一个个数据连连接或执执行一条条不返回回任何结结果的SSQL语语句,如如一个存存储过程程。_CoommaandPPtr返返回一个个记录集集。它提提供了一一种简单单的方法法来执行行返回记记录集的的存储过过程和SSQL语语句。在在使用_CommmanndPttr接口口时,可可以利用用全局_ConnnecctioonPttr接口口,也可可以在_CommmanndPttr接口口里直接接使用连连接串。_RRecoordssetPPtr是是一个记记录集对对象。与与以上两两种对象象相比,它它对记录录集提供供了更多多的控制制功能,如如记录锁锁定、游游标控制制等。在使用AADO程程序的事事件响应应中OnnButttonn1加入入以下代代码:voidd CAAdottesttDlgg:OOnBuuttoon1() m_LListt.ReesettConntennt();m_pCConnnecttionn.CrreatteInnstaancee(_uuuiddof(Connnecctioon); /初始始化Coonneectiion指指针m_pRRecoordsset.CreeateeInsstannce(_uuuidoof(RRecoordsset);/初始始化Reecorrdseet指针针 tryy m_pCoonneectiion-Oppen(DSSN=AADOTTestt,00); /连连接叫作作ADOOTesst的OODBCC数据源源/注意意:这是是连接不不需要用用户IDD或密码码的oppen 函数/ 否否则形式式为 -Oppen(DSSN=ttestt;uiid=ssa;ppwd=1233;,0); / 执执行SQQL语句句得到一一个记录录集把其其指针赋赋值给mm_pRRecoordsset CSStriing strrSqll=sseleect * ffromm miiddlle; BSSTR bsttrSQQL = sttrSqql.AAlloocSyysSttrinng(); m_pReecorrdseet-Opeen(bbstrrSQLL,(IIDisspattch*)m_pCoonneectiion,adOOpennDynnamiic,aadLoockOOptiimissticc,addCmddTexxt); /addOpeenDyynammic:动态 adLLockkOpttimiistiic乐观观封锁法法 addCmddTexxt:文文本查询询语句 whhilee(!mm_pRRecoordsset-addoEOOF)/遍历历所有记记录 /取纪纪录字段段值方式式之一_varriannt_tt ThheVaaluee; /VAARIAANT数数据类型型 TTheVValuue = m_pReecorrdseet-GettColllecct(BIGG_NAAME);/得到到字段BBIG_NAMME的值值 iif(TTheVValuue.vvt!=VT_NULLL) m_LListt.AdddSttrinng(chaar*)_bsstr_t(TTheVValuue);/将该该值加入入到列表表控件中中/取纪纪录字段段值方式式之二 / _bsttr_tt ThheVaaluee1=mm_pRRecoordsset-Fiieldds-GettIteem(BIGG_NAAME)-Vallue; / CCStrringg teemp=TheeVallue11.coopy(); / mm_Liist.AdddStrringg(teemp);/数据据类型转转换 _varriannt_tt vUUserrnamme,vvBirrthdday,vIDD,vOOld;TRACCE(id:%d,姓名:%s,年龄:%d,生日:%srnn, vvID.lVaal,(LPCCTSTTR)(_bsstr_t)vvUseernaame,vOlld.llVall,(LLPCTTSTRR)(_bsttr_tt)vBBirtthdaay); mm_pRRecoordsset-MooveNNextt();/转转到下一一条纪录录 m_pReecorrdseet-Cloose(); m_pCoonneectiion-Cllosee(); catcch (_coom_eerroor ee)/异常处处理 AffxMeessaageBBox(e.EErroorMeessaage(); m_ppReccorddsett-CClosse(); /注意意!不要多多次关闭闭!否则则会出错错 m_ppConnnecctioon-Cloose(); m_ppReccorddsett = NULLL; m_ppConnnecctioon = NUULL; 程序中通通过_vvariiantt_t和和_bsstr_t转换换COMM对象和和C类型的的数据,_vaariaant_t类封封装了OOLE自自治VAARIAANT数数据类型型。在CC+中中使用_varriannt_tt类要比比直接使使用VAARIAANT数数据类型型容易得得多。好好,编译译后该程程序就能能运行了了,但记记住运行行前要创创建一个个叫ADDOTeest的的ODBBC数据据源。该该程序将将把表mmidddle中中的BIIG_NNAMEE字段值值显示在在列表控控件中。(4) 执行SSQL命命令并取取得结果果记录集集为了取得得结果记记录集,我我们定义义一个指指向Reecorrdseet对象象的指针针:_RRecoordssetPPtr m_ppReccorddsett;并为为其创建建Reccorddsett对象的的实例:m_pRRecoordsset.CreeateeInsstannce(ADDODBB.Reecorrdseet);SQQL命令令的执行行可以采采用多种种形式,下下面我们们一进行行简单介介绍。1.利用用Connnecctioon对象象的Exxecuute方方法执行行SQLL命令EExeccutee方法的的原型如如下所示示: _ReecorrdseetPttr CConnnecttionn15:Exxecuute ( _bsttr_tt CoommaandTTextt, VVARIIANTT * ReccorddsAfffecctedd,loong Opttionns ) 其中CoommaandTTextt是命令令字串,通通常是SSQL命命令。参数ReecorrdsAAffeecteed是操操作完成成后所影影响的行行数,参数Opptioons表表示CoommaandTTextt中内容容的类型型,Opptioons可可以取如如下值之之一:adCmmdTeext:表明CCommmanddTexxt是文文本命令令adCmmdTaablee:表明明CommmanndTeext是是一个表表名adCmmdPrroc:表明CCommmanddTexxt是一一个存储储过程adCmmdUnnknoown:未知Execcutee执行完完后返回回一个指指向记录录集的指指针。2.利用用Commmannd对象象来执行行SQLL命令_CommmanndPttr mm_pCCommmandd;m_pCCommmandd.CrreatteInnstaancee(AADODDB.CCommmandd);_varriannt_tt vNNULLL;vNULLL.vvt = VTT_ERRRORR;vNULLL.sscodde = DIISP_E_PPARAAMNOOTFOOUNDD;/定义义为无参参数m_pCCommmandd-AActiiveCConnnecttionn = m_ppConnnecctioon;/非非常关键键的一句句,将建建立的连连接赋值值给它m_pCCommmandd-CCommmanddTexxt = SSELEECT * FFROMM usserss;/命命令字串串m_pRRecoordsset = mm_pCCommmandd-EExeccutee(&vvNULLL,&vNUULL,adCCmdTTextt);/执执行命令令,取得得记录集集。在这段代代码中我我们只是是用Coommaand对对象来执执行了SSELEECT查查询语句句,Coommaand对对象在进进行存储储过程的的调用中中能真正正体现它它的作用用。3.直接用用Reccorddsett对象进进行查询询取得记记录集(5)记记录集的的遍历、更更新 根根据我们们刚才通通过执行行SQLL命令建建立好的的useers表表,它包包含四个个字段:ID,useernaame,oldd,biirthhdayy以下的的代码实实现:打打开记录录集,遍遍历所有有记录,删删除第一一条记录录,添加加三条记记录,移移动光标标到第二二条记录录,更改改其年龄龄,保存存到数据据库。_varriannt_tt vUUserrnamme,vvBirrthdday,vIDD,vOOld;_ReccorddsettPtrr m_pReecorrdseet;m_pRRecoordsset.CreeateeInsstannce(ADDODBB.Reecorrdseet);m_pRRecoordsset-Oppen(SEELECCT * FRROM useers, _vvariiantt_t(IDDisppatcch*)m_ppConnnecctioon,ttruee), addOpeenSttatiic, addLocckOpptimmisttic, addCmddTexxt);whille(!m_ppReccorddsett-aadoEEOF) vIDD = m_ppReccorddsett-GGetCColllectt(_vvariiantt_t(loong)0);/取得得第1列列的值,从0开开始计数数,/你你也可以以直接给给出列的的名称,如如下一行行 vUssernnamee = m_ppReccorddsett-GGetCColllectt(uuserrnamme);/取得得useernaame字字段的值值 vOlld = m_pReecorrdseet-GettColllecct(oldd); vBiirthhdayy = m_ppReccorddsett-GGetCColllectt(bbirtthdaay);/在在DEBBUG方方式下的的OUTTPUTT窗口输输出记录录集中的的记录 if(vIDD.vtt != VTT_NUULL & vUssernnamee.vtt != VTT_NUULL & vOlld.vvt != VVT_NNULLL & vBBirtthdaay.vvt != VVT_NNULLL)TRACCE(id:%d,姓名:%s,年龄:%d,生日:%srnn, vIID.llVall, (LLPCTTSTRR)(_bsttr_tt)vUUserrnamme, vOOld.lVaal, (LLPCTTSTRR)(_bsttr_tt)vBBirtthdaay); m_ppReccorddsett-MMoveeNexxt();/移到到下一条条记录m_pRRecoordsset-MooveFFirsst();/移到到首条记记录m_pRRecoordsset-Deelette(aadAfffecctCuurreent);/删除除当前记记录/添添加三条条新记录录并赋值值for(intt i=0;iiAAddNNew();/添添加新记记录 m_ppReccorddsett-PPutCColllectt(IID,_vaariaant_t(lonng)(i+110); m_ppReccorddsett-PPutCColllectt(uuserrnamme,_vaariaant_t(叶利钦钦); m_ppReccorddsett-PPutCColllectt(oold,_vvariiantt_t(loong)71); m_ppReccorddsett-PPutCColllectt(bbirtthdaay,_vaariaant_t(19330-33-155);m_pRRecoordsset-Moove(1,_varriannt_tt(llongg)addBoookmaarkFFirsst);/从第第一条记记录往下下移动一一条记录录,即移移动到第第二条记记录处m_pRRecoordsset-PuutCoolleect(_vaariaant_t(oldd),_vaariaant_t(lonng)445);/修改改其年龄龄m_pRRecoordsset-Uppdatte();/保存存到库中中备注:多多次查询询可把查查询过程程做成一一个函数数ExeecutteSQQL让mm_pRRecoordsset获获得连接接指针mm_pCConnnecttionn查询结结果voidd ExxecuuteSSQL(_CoonneectiionPPtr m_pCoonneectiion, _RRecoordssetPPtr m_pReecorrdseet,CCStrringg sttrSqql)/执行行Sellectt 语句句 BSTTR bbstrrSQLL = strrSqll.AllloccSyssStrringg(); trry m_pReecorrdseet-Opeen(bbstrrSQLL,(IIDisspattch*)m_pCoonneectiion,adOOpennDynnamiic,aadLoockOOptiimissticc,addCmddTexxt); /addOpeenDyynammic:动态aadLoockOOptiimissticc乐观封封锁法aadCmmdTeext:文本查查询语句句 caatchh(_ccom_errror errror) CSStriing errrorMMesssagee; errr
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


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

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


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