收藏 分销(赏)

彩色电视机故障信息标准管理系统客户端数据库.doc

上传人:a199****6536 文档编号:2506235 上传时间:2024-05-30 格式:DOC 页数:84 大小:886.54KB
下载 相关 举报
彩色电视机故障信息标准管理系统客户端数据库.doc_第1页
第1页 / 共84页
彩色电视机故障信息标准管理系统客户端数据库.doc_第2页
第2页 / 共84页
彩色电视机故障信息标准管理系统客户端数据库.doc_第3页
第3页 / 共84页
彩色电视机故障信息标准管理系统客户端数据库.doc_第4页
第4页 / 共84页
彩色电视机故障信息标准管理系统客户端数据库.doc_第5页
第5页 / 共84页
点击查看更多>>
资源描述

1、 彩色电视机故障信息管理系统(客户端)The MIS fo TV applying in failure information学生:全俊林 指引教师:龚迪琛摘 要本文简介了如何使用Visual C+.0编程制作以彩色电视机故障信息管理系统(客户端某些)为例,实现信息管理自动化。由此实现了信息增长、删除、修改、查看等功能,并且进而实现信息安全管理,使信息管理更加人性化,规范化。集计算机技术、网络通信技术为一体信息管理系统。采用先进有效管理体制,可以改进公司经营环境、减少经营生产成本,提高公司竞争力;使得公司运营数据更加精确、及时、全面、详实,同步对各种信息进一步加工,使公司领导层决策根据充分,

2、更具科学性,从而提高故障排除效率,提高信息运用率,有助于进一步提高了生产效率,使公司管理水平跨上新台阶,为公司持续、健康、稳定发展打下基本。AbstractThe main work of this paper is introduce how to use Visual C+.0programming a Color TV Malfunction-Information In-Common System,achieve the auto-manage of the Malfunction-Information. According these,this system achieves th

3、e informations function of add、delete、edit and view.,it also get the information managed safety,so the management of the information will be more humanity & normalize.Thereby,it can improve the efficiency of the malfunctions elimination,enhance the exploitation of the information,and also help impro

4、ving the efficiency of the produce by a large step. 核心词: 数据库 信息管理 模块化管理 MIS信息管理系统 目录摘 要1目录21.绪论31.1 前言31.2 课题背景 目的 研究办法41.3 重要完毕工作及规定52MIS系统设计及功能分析简介52.1 MIS系统简介52.2 系统设计及功能分析62.3 功能模块设计73. 数据库设计及ADO访问数据库73.1 数据库设计过程73.2 创立应用程序93.3 数据库操作准备113.4 ADO访问数据库134.功能模块创立194.1 系统主体窗体创立194.1.1主菜单创立194.1.2右键菜单

5、创立204.1.3工具栏创立214.1.4数据显示与表格控件创立224.2 系统顾客权限管理模块创立234.2.1添加顾客对话框创立244.2.2 更改密码对话框创立264.2.3 删除顾客对话框创立264.2.4 顾客登录对话框创立264.3 信息管理模块创立274.3.1 添加记录对话框创立274.3.2 查询记录对话框创立294.3.3 修改记录对话框创立304.3.4 查看记录对话框创立324.4 打印预览模块创立325. Windows Sockets335.1 规范简介335.2 Bekeley套接口355.3 Microsoft Windows和针对Windows扩展355.4

6、接口网络编程原理365.5 Windows Sockets编程原理386. 远程数据管理和系统实现406.1远程数据管理406.2 程序编译和系统实现417. 问题扩展428. 小 结44致 谢45参照文献461.绪论1.1 前言信息化建设对公司来说无疑已经成为公司在当代竞争社会中立足重要因素。而从中华人民共和国大陆公司现状来看,大某些公司信息化建设都是依托专业化软件公司。毋庸置疑,对于大规模管理系统,例如CRM(Client Relation Manager),ERP(Enterprise Resource Plan)等,使用专业软件公司开发产品,功能相对齐全,安全级别也相对较高。但对于公司

7、内部小范畴内所需某些小系统而言,如也依托此种方式,势必会产生无谓成本流失。鉴于这种形式,借助这次毕业设计机会,在龚迪琛教师指引下,通过一段时间努力,开发出了这套彩色电视机故障信息管理系统(客户端某些)。本系统重要用于对已有故障信息进行更高效管理,提高信息运用率,变化了以往啰嗦查找,大大提高了故障排除速度及对的率,对进一步提高生产及管理效率具备十分重要意义。1.2 课题背景 目的 研究办法 (1)背景随着中华人民共和国加入WTO,竞争也越来越惨烈,中华人民共和国制造业同样面临者巨大挑战。科学技术飞速发展,产品功能规定日益增多,复杂性增长,寿命期缩短,更新换代速度加快。然而,产品管理,特别是机械产

8、品方案远程管理手段,则显得力不从心,跟不上时代发展需要。当前,机械产品远程管理已得到了比较广泛和进一步研究,并初见成效,公司中庞大激烈变化产品数据仅仅依托手工方式来管理是很难做到精确性、完整性、及时性和可追溯性规定。因而,将公司产品块化管理创新成果与信息系统建设结合起来是较好解决方案。模块化产品远程管理可以在保持产品较高通用性同步提供产品多样化配备和服务,因而,机械产品远程管理方案应当得到进一步研究和开发。在这里以彩色电视机故障信息管理系统(客户端某些)作为研究对象。(2)目的设计(重要研究内容或创新点)本着提高效率减少成本为出发点,以彩色电视机故障信息管理为详细范例,探讨对公司产品信息管理M

9、IS系统开发,并增长远程管理功能,使生产工程部故障解决工作系统化,规范化。(3) 研究办法与技术路线及预期成果本课题为应用型管理系统开发,尝试增长远程管理功能,采用小型DBMS(数据库管理系统)ACESS,通过TCP/IP合同运用winsockect结合,DAO或者ADO与关系数据接口实现产品信息管理,查询,整顿等工作。 本某些为客户端某些。1.3 重要完毕工作及规定(1)尽量采用生产工程部既有软硬件环境及齐全故障信息,从而达到充分运用既有资源,提高系统开发水平和应用效果目。(2)系统应符合生工部资料管理规范,符合普通员工操作规范,达到操作过程中直观、以便、实用、安全等规定。(3)系统采用Vi

10、sual C+6.0环境,用ADO(ActiveX Data Objects)数据访问方式,采用Microsoft Access 作为数据源,使整个系统易于使用及维护。(4)系统采用模块化程序设计办法,既便于系统功能各种组合和修改,又便于未参加开发技术维护人员补充、维护。(5)系统应具备数据维护功能,及时依照数据变化进行添加、删除、修改、查询等操作,并加入拥护权限功能,以及远程管理功能,使系统更加安全合用。2MIS系统设计及功能分析简介2.1 MIS系统简介所谓MIS(管理信息系统-Management Information System)系统 ,是一种由人、计算机及其她外围设备等构成能进行

11、信息收集、传递、存贮、加工、维护和使用系统。是一门新兴科学,其重要任务是最大限度运用当代计算机及网络通讯技术加强公司信息管理,通过对公司拥有人力、物力、财力、设备、技术等资源调查理解,建立对的数据,加工解决并编制成各种信息资料及时提供应管理人员,以便进行对的决策,不断提高公司管理水平和经济效益。当前,公司计算机网络已成为公司进行技术改造及提高公司管理水平重要手段。随着国内与世界信息高速公路接轨,公司通过计算机网络获得信息必将为公司带来巨大经济效益和社会效益,公司办公及管理都将朝着高效、迅速、无纸化方向发展。MIS系统通惯用于系统决策,例如,可以运用MIS系统找出当前迫切需要解决问题,并将信息及

12、时反馈给上层管理人员,使她们理解当前工作发展进展或局限性。换句话说,MIS系统最后目是使管理人员及时理解公司现状,把握将来发展途径。 一种完整MIS应涉及:辅助决策系统(DSS)、工业控制系统(IPC)、办公自动化系统(OA)以及数据库、模型库、办法库、知识库和与上级机关及外界互换信息接口。其中,特别是办公自动化系统(OA)、与上级机关及外界互换信息等都离不开Intranet应用。可以这样说,当代公司MIS不能没有Intranet,但Intranet建立又必要依赖于MIS体系构造和软硬件环境。老式MIS系统核心是CS(Client/Server客户端/服务器)架构,而基于InternetMIS

13、系统核心是BS(Browser/Server浏览器/服务器)架构。BS架构比起CS架构有着很大优越性,老式MIS系统依赖于专门操作环境,这意味着操作者活动空间受到极大限制;而BS架构则不需要专门操作环境,在任何地方,只要能上网,就可以操作MIS系统,这其中优劣差别是不言而喻。基于Internet上MIS系统是对老式MIS系统概念上扩展,它不但可以用于高层决策,并且可以用于进行普通商务管理。通过顾客具名登录(或匿名登录),以及相应权限控制,可以实当前远端对系统浏览、查询、控制和审视。随着Internet扩展,既有公司和学校不再局限于物理有形真实地区,网络自身成为事实上发展空间。基于Interne

14、t上MIS系统,弥补了老式MIS系统局限性,充分体现了当代网络时代特点。随着Internet技术高速发展,因特网必将成为人类新社会技术基石。基于InternetMIS系统必将成为网络时代新一代管理信息系统,前景极为乐观。2.2 系统设计及功能分析通过一种彩电故障信息管理系统,使生产工程部客户端某些故障解决工作模块化,系统化,规范化,自动化,从而达到提高故障排除效率,提高信息运用率目。本系统功能分析是在系统开发总体任务基本上完毕,本系统需要完毕功能如下:l 故障信息输入、查询、修改、删除l 故障信息打印l 系统顾客管理,权限管理2.3 功能模块设计在系统功能分析基本上,考虑Visual C+程序

15、编制特点,得到图1所示系统功能模块图。增长新信息信息数据彩电故障信息共享系统 信息变动管理员信息管理修改新信息权限验证打印管理系统管理 删除新信息 查 询信息查询顾客权限增长删除修改 图1系统功能模块图 图2数据流程3. 数据库设计及ADO访问数据库3.1 数据库设计过程数据库技术是信息资源管理最有效手段。数据库设计是指对于一种给定应用环境,构造最优数据库模式,建立数据库及其应用系统,有效存储数据,满足顾客信息规定和解决规定。数据库设计中需求分析阶段综合各个顾客应用需求(现实世界需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品概念模式(信息世界模型),用E-R图来描述。在逻辑设

16、计阶段将E-R图转换成详细数据库产品支持数据模型如关系模型,形成数据库逻辑模式。然后依照顾客解决规定,安全性考虑,在基本表基本上再建立必要视图(VIEW)形成数据外模式。在物理设计阶段依照DBMS特点和解决需要,进行物理存储安排,设计索引,形成数据库内模式。数据构造好坏将直接影响到系统效率以及实现效果。好数据库构造会减少数据库存储量、冗余度,数据完整性和一致性比较高,系统具备较快响应速度,简化基于数据库应用程序实现办法等,普通可将数据库构造设计分为四个阶段,即需求分析、概念构造设计、逻辑构造设计和物理设计。(1)数据库需求分析需求分析任务是详细理解应用环境,理解与分析顾客对数据和数据解决需求,

17、相应用系统性能规定,提出新系统目的,为第二阶段、第三阶段设计奠定基本。在仔细研究资料管理过程基本上,归纳出系统数据流程图如上图2所示,所有数据均由管理员输入管理。依照图2数据流程图,可得到所须设计数据项和数据构造如下:l 故障信息,涉及数据项有显象管、机芯、机壳、器件、技术员、时间、其她、信息名、详细内容等。l 权限验证,涉及数据项有顾客名、密码等。由上分析,为此需要有2个数据表分别用来存储故障信息顾客信息。这两个数据表均用Access 实现。Access中设计视图如图3、图4所示,其中数据类型依照详细数据字段来设立。图3 info1视图图4 login视图(2)数据库概念构造设计概念模型用于

18、信息世界建模。概念模型不依赖于某一种DBMS支持数据模型。概念模型可以转换为计算机上某一DBMS支持特定数据模型。概念构造设计是在需求分析基本上对所有数据规定按一定办法进行抽象与综合解决,设计出不依赖于某种详细DBMS满足顾客应用需求信息构造。这种信息构造咱们称为概念模型。通过对顾客需求进行综合、归纳与抽象,形成一种独立于详细DBMS概念模型,可以用E-R图表达,概念模型特点: (1)具备较强语义表达能力,可以以便、直接地表达应用中各种语义知识。 (2)应简朴、清晰、易于顾客理解,是顾客与数据库设计人员之间进行交流语言。 最惯用概念构造设计办法有实体分析法、面向对象设计办法、属性综合法和规范化

19、关系办法。咱们此处重要讨论实体分析法。这是一种自上而下抽象办法。这种办法规定依照前面数据需求分析,拟定系统范畴,拟定实体及其属性,画出系统实体联系模型(ER图)。在分析需求基本上,咱们得到整个系统E-R图。3.2 创立应用程序本彩电故障信息共享系统采用Visual C+ 6.0ADO办法开发。工程创立详细环节如下:(1) 打开Visual C+后,选取菜单“File/New”中“Project”选项卡中“MFC AppWizard exe”,设立工程名字为“CaidianGuzhang”,选取存储位置,单击“OK”。(2) 创立一种单文档应用程序,在Step1中,选取“Single Docum

20、ent”,然后单击“Next”按扭,进入“Step 2 of 6”。(3) 始终单击“Next”按扭,直到进入“Step 6 of 6”。由于为了能使数据更直观,咱们采用列表形式,因此需要在本环节中,选取CCaidianGuzhangView类Base Class(基类)为ClistView。然后单击“Finish”,最后将浮现确认窗口,如图6所示,检查无误后,单击“拟定”,即可完毕工程创立。图6 确认(4) 为了使程序能支持ADO数据库对象,以使程序能对的调用数据库,应当在头文献stdafx.h中加入 #import c:Program FilesCommon FilesSystemadom

21、sado15.dll rename_namespace(AdoNS) rename(EOF,adoEOF)using namespace AdoNS; 导入ADO库并在主程序入口:BOOL CCaidianGuzhangApp:InitInstance()中加入AfxOleInit();初始化COM环境。ADO类定义是作为一种资源存储在ADO DLL(msado15.dll)中,在其内部称为类型库。类型库描述了自治接口,以及C使用COM vtable接口。当使用import指令时,在运营时Visual C需要从ADO DLL中读取这个类型库,并以此创立一组C头文献。ADO库包括三个智能指针:_

22、ConnectionPtr、_CommandPtr和_RecordsetPtr。_ConnectionPtr普通被用来创立一种数据连接或执行一条不返回任何成果SQL语句,如一种存储过程。_CommandPtr返回一种记录集。它提供了一种简朴办法来执行返回记录集存储过程和SQL语句。在使用_CommandPtr接口时,可以运用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。 _RecordsetPtr是一种记录集对象。与以上两种对象相比,它对记录集提供了更多控制功能,如记录锁定、游标控制等。3.3 数据库操作准备(1) 初始化接口: initialDbC

23、onnect(CString mdbname)在本系统中通过建立一种数据库类class DatabaseOperate 来实现整个信息系统对数据操作,下面是对其提供重要接口设计:该接口函数作用是初始化连接数据源。BOOL DatabaseOperate:InitialDbConnect(CString mdbname) m_pConnection.CreateInstance(_uuidof(Connection);/先连接数据库CString strConnect;BSTR bstrSQL;strConnect.Format(_T(Provider = Microsoft.JET.OLEDB

24、.4.0;Data ource=%s),mdbname);bstrSQL = strConnect.AllocSysString();AfxMessageBox(e.ErrorMessage();return false; return true; 该接口重要功能是连接咱们在Access 中设计数据源,CString mdbname变量作为数据库文献mdb名称,由调用 DatabaseOperate 类主程序给出。在本设计中是“info1.mdb”(2)执行查询,修改,添加,删除等功能接口函数设计BOOL DatabaseOperate:ExecuteSQLEx(CString strSQL)

25、_variant_t RecordsAffected;/_bstr_t bstrSql(strSQL);try m_pConnection-Execute(bstrSql,&RecordsAffected,adCmdText);catch (_com_error e)AfxMessageBox(e.ErrorMessage();return FALSE; return TRUE; 通过执行一条SQL语句来实现数据库读写操作,其中m_pConnection是咱们在调用InitialDbConnect初始化接口时候创立连接型智能指针,咱们可以通过它来执行SQL语句(3) 获取数据信息接口函数设计B

26、OOL DatabaseOperate::GetCurrentRecordSet(Recordstruct&result,long Shijiansuoyin,CString tablename)_RecordsetPtr tem_pRecordset;tem_pRecordset.CreateInstance(_uuidof(Recordset);/初始化Recordset指针CString strSql;strSql.Format( _T(select * from %s where sjsy=%d ),tablename,Shijiansuoyin);BSTR bstrSQL = str

27、Sql.AllocSysString();trytem_pRecordset-Open(bstrSQL,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);catch (_com_error e)/异常解决AfxMessageBox(e.ErrorMessage();if (tem_pRecordset-State) tem_pRecordset-Close();tem_pRecordset.Release();return FALSE;while(!tem_pRecordset-adoEOF)/遍历所有记录

28、_variant_t v_xxg,v_jx,v_jk,v_qjv_ xxg = tem_pRecordset-GetCollect(_T(显象管);v_ jx = tem_pRecordset-GetCollect(_T(机芯);v_ jk = tem_pRecordset-GetCollect(_T(机壳);v_ qj = tem_pRecordset-GetCollect(_T(器件);./获取各个字段信息/将各字段信息赋值给result构造体,此处省略tem_pRecordset-MoveNext();/转到下一条纪录if (tem_pRecordset-State) tem_pReco

29、rdset-Close();tem_pRecordset.Release();return TRUE;其中参数Recordstruct&result是对查询成果定义构造体,与前面咱们在数据库中建立彩电信息构造一致:typedef struct _Recordstruct CString xxg ;/显象管CString jx;/机芯CString qj;/器件CString jsy;/技术员CString sj;/时间CString qita;/其她信息CString sj;/信息名CString qita;/详细内容long sjsy;/时间索引Recordstruct,* pRecords

30、truct;3.4 ADO访问数据库(1) 生成应用程序框架并初始化OLE/COM库环境 创立一种原则MFC AppWizard(exe)应用程序,然后在使用ADO数据库InitInstance函数中初始化OLE/COM库(由于ADO库是一种COM DLL库)。创立一种原则MFC AppWizard(exe)应用程序,然后在使用ADO数据库InitInstance函数中初始化OLE/COM库(由于ADO库是一种COM DLL库)。本例为: BOOL CAdotestDlg:OnInitDialog() :CoInitialize(NULL);/初始化OLE/COM库环境 程序最后要调用 :Co

31、Uninitialize();/释放程序占用COM 资源。此外:m_pRecordset-Close();注意!不要多次关闭!m_pConnection-Close();m_pRecordset = NULL;m_pConnection = NULL; (2) 引入ADO库文献 使用ADO前必要在工程stdafx.h文献最后用直接引入符号import引入ADO库文献,以使编译器能对的编译。ADO类定义是作为一种资源存储在ADO DLL(msado15.dll)中,在其内部称为类型库。类型库描述了自治接口,以及C使用COM vtable接口。当使用import指令时,在运营时Visual C需要

32、从ADO DLL中读取这个类型库,并以此创立一组C头文献。这些头文献具备.tli 和.tlh扩展名,读者可以在项目目录下找到这两个文献。在C程序代码中调用ADO类要在这些文献中定义。 程序第三行批示ADO对象不使用名称空间。在有些应用程序中,由于应用程序中对象与ADO中对象之间也许会浮现命名冲突,因此有必要使用名称空间。如果要使用名称空间,则可把第三行程序修改为: rename_namespace(AdoNS)。第四行代码将ADO中EOF(文献结束)改名为adoEOF,以避免与定义了自己EOF其她库冲突。 (3) 运用智能指针进行数据库操作 在CaboutDlg头文献中定义两个ADO智能指针类

33、实例,并在对话框中加入一种ListCtrl。 class CAdotestDlg :public CDialog _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; ClistCtrl m_List; . ADO库包括三个智能指针:_ConnectionPtr、_CommandPtr和_RecordsetPtr。_ConnectionPtr普通被用来创立一种数据连接或执行一条不返回任何成果SQL语句,如一种存储过程。_CommandPtr返回一种记录集。它提供了一种简朴办法来执行返回记录集存储过程和SQL语句。在使用_Comman

34、dPtr接口时,可以运用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。_RecordsetPtr是一种记录集对象。与以上两种对象相比,它对记录集提供了更多控制功能,如记录锁定、游标控制等。 在使用ADO程序事件响应中OnButton1加入如下代码:void CAdotestDlg:OnButton1() m_List.ResetContent(); m_pConnection.CreateInstance(_uuidof(Connection);/初始化Connection指针 m_pRecordset.CreateInstance(_uuidof(

35、Recordset);/初始化Recordset指针 try m_pConnection-Open(DSN=ADOTest,0);/连接叫作ADOTestODBC数据源 /注意:这是连接不需要顾客ID或密码open 函数 / 否则形式为 -Open(DSN=test;uid=sa;pwd=123;,0); / 执行SQL语句得到一种记录集把其指针赋值给m_pRecordset CString strSql=select * from middle; BSTR bstrSQL = strSql.AllocSysString(); m_pRecordset-Open(bstrSQL,(IDispa

36、tch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText); /adOpenDynamic:动态 adLockOptimistic乐观封锁法 adCmdText:文本查询语句 while(!m_pRecordset-adoEOF)/遍历所有记录 /取纪录字段值方式之一 _variant_t TheValue;/VARIANT数据类型 TheValue = m_pRecordset-GetCollect(BIG_NAME);/得到字段BIG_NAME值 if(TheValue.vt!=VT_NULL) m_List.AddString

37、(char*)_bstr_t(TheValue); /将该值加入到列表控件中 /取纪录字段值方式之二 / _bstr_t TheValue1=m_pRecordset-Fields-GetItem(BIG_NAME)-Value; / CString temp=TheValue1.copy(); / m_List.AddString(temp); /数据类型转换 _variant_t vUsername,vBirthday,vID,vOld; TRACE(id:%d,姓名:%s,年龄:%d,生日:%srn, vID.lVal,(LPCTSTR)(_bstr_t)vUsername,vOld.l

38、Val,(LPCTSTR)(_bstr_t)vBirthday); m_pRecordset-MoveNext();/转到下一条纪录 m_pRecordset-Close(); m_pConnection-Close(); catch (_com_error e)/异常解决 AfxMessageBox(e.ErrorMessage(); m_pRecordset-Close();/注意!不要多次关闭!否则会出错 m_pConnection-Close(); m_pRecordset = NULL; m_pConnection = NULL; 程序中通过_variant_t和_bstr_t转换C

39、OM对象和C类型数据,_variant_t类封装了OLE自治VARIANT数据类型。在C+中使用_variant_t类要比直接使用VARIANT数据类型容易得多。好,编译后该程序就能运营了,但记住运营前要创立一种叫ADOTestODBC数据源。该程序将把表middle中BIG_NAME字段值显示在列表控件中。(4) 执行SQL命令并获得成果记录集为了获得成果记录集,咱们定义一种指向Recordset对象指针:_RecordsetPtr m_pRecordset;并为其创立Recordset对象实例:m_pRecordset.CreateInstance(ADODB.Recordset);SQL

40、命令执行可以采用各种形式,下面咱们一进行简朴简介。 1.运用Connection对象Execute办法执行SQL命令Execute办法原型如下所示: _RecordsetPtr Connection15:Execute ( _bstr_t CommandText,VARIANT * RecordsAffected,long Options ) 其中CommandText是命令字串,普通是SQL命令。 参数RecordsAffected是操作完毕后所影响行数, 参数Options表达CommandText中内容类型,Options可以取如下值之一: adCmdText:表白CommandText

41、是文本命令 adCmdTable:表白CommandText是一种表名 adCmdProc:表白CommandText是一种存储过程 adCmdUnknown:未知 Execute执行完后返回一种指向记录集指针。2.运用Command对象来执行SQL命令 _CommandPtr m_pCommand;m_pCommand.CreateInstance(ADODB.Command);_variant_t vNULL;vNULL.vt = VT_ERROR;vNULL.scode = DISP_E_PARAMNOTFOUND;/定义为无参数m_pCommand-ActiveConnection =

42、 m_pConnection;/非常核心一句,将建立连接赋值给它m_pCommand-CommandText = SELECT * FROM users;/命令字串m_pRecordset = m_pCommand-Execute(&vNULL,&vNULL,adCmdText);/执行命令,获得记录集。在这段代码中咱们只是用Command对象来执行了SELECT查询语句,Command对象在进行存储过程调用中能真正体现它作用。3.直接用Recordset对象进行查询获得记录集(5)记录集遍历、更新 依照咱们刚才通过执行SQL命令建立好users表,它包括四个字段:ID,username,ol

43、d,birthday如下代码实现:打开记录集,遍历所有记录,删除第一条记录,添加三条记录,移动光标到第二条记录,更改其年龄,保存到数据库。 _variant_t vUsername,vBirthday,vID,vOld;_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(SELECT * FROM users, _variant_t(IDispatch*)m_pConnection,true), adOpenStatic, adLockOptimistic, adCm

44、dText);while(!m_pRecordset-adoEOF) vID = m_pRecordset-GetCollect(_variant_t(long)0);/获得第1列值,从0开始计数, /你也可以直接给出列名称,如下一行 vUsername = m_pRecordset-GetCollect(username);/获得username字段值 vOld = m_pRecordset-GetCollect(old); vBirthday = m_pRecordset-GetCollect(birthday); /在DEBUG方式下OUTPUT窗口输出记录集中记录 if(vID.vt

45、!= VT_NULL & vUsername.vt != VT_NULL & vOld.vt != VT_NULL & vBirthday.vt != VT_NULL) TRACE(id:%d,姓名:%s,年龄:%d,生日:%srn, vID.lVal, (LPCTSTR)(_bstr_t)vUsername, vOld.lVal, (LPCTSTR)(_bstr_t)vBirthday); m_pRecordset-MoveNext();/移到下一条记录m_pRecordset-MoveFirst();/移到首条记录m_pRecordset-Delete(adAffectCurrent);/删除当

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服