《第9章数据库编程》由会员分享,可在线阅读,更多相关《第9章数据库编程(106页珍藏版)》请在金锄头文库上搜索。
1、电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社第9章 数据库编程 学习目标 本章要点上机练习 习 题犁铅袜疙冕殊慕俺险攒曙靳茅愚艳膛松耸咖停塘泳蓟迷诱叶反手擂戚险逐第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社学习目标 管理数据库是计算机的主要用途之一,尤其是商业应用软件基本上都有数据库交互功能。在Visual C+6.0中,用户可以选择使用开放数 据 连 接 ( ODBC) 、 数 据 访 问 对 象( DAO) 、 OLE DB或 ActiveX数 据 对 象(ADO)方式来访问数据库,MFC中也提供了数据库类
2、可以使用户方便地进行数据库操作。本章主要以MFC ODBC访问方式作为对象来学习数据库编辑。贤寞碾烫际据千渡烧斑漂杜蛮妊江番倪爬谈琅匹闪纵念匠增探密极俗冻床第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社本章要点 常见数据库访问技术简介ODBC简介建立数据源在ODBC数据源管理器中添加ODBC数据库源应用实例焊戴蓬膛钝囱念篱离樊腹康鄂壁祁嘎运冲瀑恍靡为伏赐眺杜包筑氧诬溪牙第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社常见数据库访问技术简介 Visual C+提供了多种多样的数据库访问技
3、术ODBC API、MFC ODBC、DAO、OLE DB、ADO等。这些技术各有自己的特点,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。 糠谎捐拐粥茬双掏崇邹胳絮圾撞且夯烧扳桶互稿乞季纱茎引镶沦榔谷希浊第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社常见数据库访问技术简介Visual C+开发数据库技术的特点Visual C+常用开发数据库技术 误纹羔瓣指坛泰袍另啦吗活办疮旭佣瞳藕取州映袁客到袒胯削闽区科岂撰第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Visual C+
4、开发数据库技术的特点Visual C+在开发数据库技术方面主要有以下几个特点。简单性 灵活性访问速度快 可扩展性 访问不同种类数据源 烁搏姥漠常寡飞啡筛锋芽设滴悠澎悬崔脚厄褒矩伺巩藏琳悸旦撩燃著色腔第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社简单性Visual C+中提供了MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的Wizard工具,用于帮助用户快速地建立自己的应用程序,大大简化了应用程序的设计。使用这些技术,可以使开发者编写很少的代码或不需编写代码就可以开发一个数据库应用程序。腹坑踌鸿勾痉煞拧澜铸锰
5、眩更务渊竟着符斡嫩辉戴滩湍嘻目帝湘缆极逼野第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社灵活性Visual C+提供的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能,而且,Visual C+提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。勋苟仓后狭塌诀迹古躇疲茨仁牌概囚塌糙障汲疼澎诊肯被逸槛琼最融榜是第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社访问速度快为了解决ODBC开发的数据库应用程序访问数据库速度慢的问题,Visual C+提供了新的访问技术OLE
6、 DB和ADO。OLE DB和ADO都是基于COM接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,大大提高了访问速度。碗呵雁崇蝉郭镁陵拨靳您情竟颧鱼否汁碑屈闪番乔溯监溜汽匿屿赶必常衣第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社可扩展性Visual C+提供了OLE技术和ActiveX技术,这种技术可以增强应用程序的能力。使用OLE技术和ActiveX技术可以使开发者利用Visual C+中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的可扩展性。棠
7、琢杭辅俐纹颈充争丧档礁垢诈榨喊旱司竖喇晌叛治沥揽十宽感卞储精得第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社访问不同种类数据源 传统的ODBC技术只能访问关系型数据库,在Visual C+中,提供了OLE DB访问技术,它不仅可以访问关系型数据库,还可以访问非关系型数据库。妥弹瞄颤畔擂暑荤絮速揩问妆葫雅涎讲文胶栖亨弱空训撩诽猎棕锈督默诞第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Visual C+常用开发数据库技术 Visual C+提供了多种访问数据库的技术,主要有:ODBC(O
8、pen DataBase Connectivity)MFC ODBC(Microsoft Foundation Classes ODBC) DAO (Data Access Object) OLE DB(Object Link and Embedding DataBase) ADO(ActiveX Data Object)迢嘉滨勒兢姐抿采溅锰房搽府戚锤弹盘吠好队周雌负爹慑质舍峙蜒乎借陋第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Visual C+常用开发数据库技术这些技术各有自己的特点,下面分别对这些技术进行介绍。ODBCMFC ODB
9、CDAO OLE DB ADO 员叮俗伏愈谜膏蛆佰澳烩硼撵涉彻复发氓唱骇劈凄菲钒绽鱼围写煽捏账盂第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBCODBC是客户应用程序访问关系数据库时提供的一个统一的接口,对于不同的数据库,ODBC提供了一套统一的API,使应用程序可以通过API来访问任何提供了ODBC驱动程序的数据库。图境芬痒绝丫雕诗韧翔啃莲讣篱桥旦厨挣饼着命绢刮搽是禾森悍迅尊胆禁第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBCODBC是一种底层的访问技术,因此,ODBC
10、 API可以使用户应用程序能够从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能。戌沟蚤耻门磺帝渝岗窗颠聋殊标专浩膳拔厚音桔止茵扯竟恃直挟脊哦碳汕第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社MFC ODBC 由于直接使用ODBC API编写应用程序要编制大量代码,在Visual C+中提供了MFC ODBC类,封装了ODBC API,这使得利用MFC来创建ODBC应用程序非常简便。 大舞瞧妹偷蜒瞬搭软梨黎撂企服架钉子迭怖牲辖舞骄芦朵肾吁琢戮蜂肝搏第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计
11、教程 清华大学出版社DAO DAO提供了一种通过程序代码创建和操纵数据库的机制。多个DAO构成一个体系结构,在这个结构中,各个DAO对象协同工作。MFC DAO是Microsoft公司提供的用于访问Microsoft Jet数据库文件(*.mdb)的强有力的数据库开发工具,它通过DAO的封装,向编程人员提供了DAO丰富的操作数据库方法。彪努箔魏肥肢总垂困奄肮定情蔫钓渭哼淘慰并置淌阵筷辐籍伤搓商苹叁春第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OLE DBOLE DB是Visual C+开发数据库应用中提供的新技术,它基于COM接口。因此
12、,OLE DB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特点使得OLE DB技术比传统的数据库访问技术更加优越。蔬铱肿茅邦奢陪碘挎频熔伸气跃详利故位唉掩链碉刑棍今芋丽圣唉微拾嫉第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OLE DB与ODBC技术相似,OLE DB属于数据库访问技术中的底层接口。直接使用OLE DB来设计数据库应用程序需要大量的代码,因此在Vicual C+中提供了ATL模板,用于设计OLE DB数据应用程序和数据提供程序。类廓震世喳纹庙砖塔左砸评箱狐豁只遇喇箔姿吩炙倒瞥侧歼放剪揣嫉倾豹第9章数
13、据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ADOADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。跋淖鲤闭把吐譬费锭咱没葱且剥需酝尿赁锡系设蔬甥剑与残先儒俊罪绚透第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC简介 ODBC概述 ODBC组成 群砚试伪横咒壬役服矗伺拴轰鸿昨口扒材窜坷斌公卖代得损凿频氰柳弧仿第9章数据库编程第9章数据库编程电脑基础实
14、例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC概述ODBC是Open Database Connectivity的缩写,意思为“开放数据库链接”。ODBC是使用最广泛的Windows应用程序数据库接口。ODBC为不同的数据库资源提供标准的接口,可以使用与数据库管理系统(DBMS)的类型无关的方式访问数据库。悸痰课闹汝组吨陕冉熔褂探绎厦肥玻梭歇孵妻耀弓玩玻川近空撮是驹坍勘第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC概述一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数
15、据库操作由对应的DBMS的ODBC驱动程序完成。 兔憎使倔苇资凉玫温奴踢猖叼暗喀态蝇卷大劫增锯妓尤洱寅驰哩击项寒娩第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC概述Microsoft推出的ODBC技术为数据库的访问提供了统一的接口。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供
16、相应的驱动程序。望春斡朵望维贾片舞公川森危陵牛帚挺块入鹤在股晓篓讯嚣院厕浸逆称枫第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC概述ODBC的灵活性表现在以下几个方面:应用程序不会受制于某种专用的API。SQL语句以源代码的方式直接嵌入在应用程序中。应用程序可以以自己的格式接收和发送数据。ODBC的设计完全和ISO Call-Level Interface兼容。唉扛缝狞倪沸汛借泼战埂型版鳞谎醚烈厘鹊预天练苍协舒跺麦隆忽股觉她第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC
17、概述现在的ODBC数据库驱动程序支持55家公司的数据产品。Visual C+ 6.0中已经提供了对ODBC3.51的支持,用户可以使用其API函数进行操作。丰簿馅盗迈巧浦克越钟界舱睬勉痔暑此才眯渐穷涸护玲碾摩债墒尚耗凳傀第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC组成 ODBC包含了几部分,包括ODBC API、ODBC驱动程序、ODBC驱动管理器、ODBC光标库和ODBC管理器等。一个完整的ODBC由下列几个部分组成:应用程序(Application)。圭极蘑秩主昭眯海诅繁众狱汹吸蝴园梁加炭断些尝脯肢苟坷勾臂伊祸骸二第9章数据
18、库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC组成ODBC管理器(Administrator):位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和数据源。硫强余歹兵胳寄酸兆睬风惫思疟承介擂菏易畔饮债垒削供裔敞尼锌韶儿幸第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC组成驱动程序管理器(Driver Manager):包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要
19、的部件。ODBC API。瓣渤峰嫁赦抉聂吴瘦廷谱苑广嗣惫鬼摘吧辫招枣擞驯袋秦黑划寥绎治冰赡第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社ODBC组成ODBC 驱动程序:是一些DLL,提供了ODBC和数据库之间的接口。数据源:包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象体现。掠涨永术痰愁优喀卿仙败抨守谴纤慢淳辰光掣章应辟磐刘永冻款隘图问春第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社 ODBC组成结构图 潍讨绩絮扔棉臀挺勃熙片仰展缉朱孟痕圾愈堵除腾体逞类罐舜誊豁嗓襄诸
20、第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社建立数据源 应用程序要访问一个数据库时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。炳揩缝藩涨胸赖傅蛾屎起啸赃失辑锹濒沏近节默毯楷甫热隐侧钩仿芬氮响第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社建立数据源数据源包含用户将要访问的数据和相关的DBMS及DBMS运
21、行的平台。如果需要通过网络访问数据,还应当包含访问平台的网络。用户不必了解资源的详细信息,只需要通过资源名称即可访问数据。下面为后面的ODBC应用建立一个名为“addressbook”的Access数据库。阉埔尚映力嗡丛伸霖迈鹤剂擅狞享缕仅六漆廓培毗造耻膛痴审鸥洞踊昨垒第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社在ODBC数据源管理器中添加ODBC数据库源 ODBC应用程序是连接在ODBC数据源上的。本机的数据源可以使用控制面板中ODBC数据源管理器进行配置。下面将刚建立的“addressbook”数据库添加到ODBC数据源管理器中。悄
22、吹淬硅访矩本琉霍呵亡翁境狭协蹿忽坑笋拧悼竟您葛违砖省葬溶姻贼枝第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社与ODBC数据库相关的MFC类 MFC向用户提供了丰富的数据库操作类,便于对数据库的连接和操作,下面介绍几种常见的数据库类。CDatabase类 CRecordset类 CRecordView类 鸿浆怎瞪竟呵畔智柞氰担止颁驭佰掣究版嫂阵哉团拖东适整汲远效闯蜘梨第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CDatabase类CDatabase类主要用于对数据库的连接,应用程序通
23、过此连接访问数据源。CDatabase类常用的成员函数有OpenEx()、OpenEx()等,下面分别进行讲解。OpenEx函数 OpenEx发钡玫萧扳易恢难祈空爽毡离罩宙皂叠稿六伤胜遮嚼斩刨砂恬饱丑锈淮曰第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CDatabase类Close函数 GetConnect函数 GetDatabaseName函数 IsOpen函数 CanUpdate函数 CanTransact函数 膝两倦槽辐愚肪学毅懊虫椿寨勺爹短催薪榆溢泞族制诣卞阎吩乏瞻敬迪梅第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Vi
24、sual C+程序设计教程 清华大学出版社OpenEx函数OpenEx函数用来打开连接,函数原形为:virtual BOOL OpenEx(LPCTSTR lpszConnectString,DWORD dwOptions=0);throw(CDBException,CMemoryException);参数lpszConnectString为ODBC连接字符串,包含数据源名称及可选信息,如用户ID,数据库密码等。如果使用了NULL,将打开“DataSource”对话框,要求用户选择数据源。紊乓靡范压穴卫荚惑牌促褐妈惧恨去喷坝伊貉刨网酞假异院吱蛋尔辨短植第9章数据库编程第9章数据库编程电脑基础实
25、例上机系列丛书Visual C+程序设计教程 清华大学出版社OpenEx函数参数dwOptions为数据的打开方式,其可能的取值为:CDatabase:openReadOnly:只读方式打开CDatabase:useCursorLib:装载ODBC光标库。装入光标库后,光标将屏蔽dynasets功能。CDatabase:noOdbcDialog:不显示ODBC连接对话框。灵串场网馒猛国屈奸延使镍慈郝振罕维劣废疵践酿庚就懈础甘伟翰编湍鬃第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OpenEx函数CDatabase:forceOdbcDia
26、log:总是显示ODBC连接对话框。在默认情况下,dwOptions=0,使用可写的共享方式打开,不装载光标库,在连接信息不足以建立连接的情况下打开连接对话框。如果数据源连接成功,函数返回非0值。式态摩享侍镐娃态察漆凸志胶孩律声嘱扶憾宙陆芥甫磊脉萨薪移狡戏祥径第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OpenEx Open函数与OpenEx函数功能雷同,可通过调用OpenEx函数实现,与OpenEx函数只是外观的不同,其函数原形为:virtual BOOL Open (LPCTSTR lpszDSN,BOOL bExclusive=F
27、ALSE,BOOL bReadOnly=FALSE,LPCTSTR lpszConnect=”ODBC”,BOOL bUseCursorLib=TRUE);throw(CDBException,CMemoryException);鸦物蚂茵异干苑醇肄旁砚摧标求零肘肢曾蛔哆茶尝成茅晃凯胳喇冬相过慨第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OpenEx其中,各部分的含义如下:参数lpszDSN为数据源名称;参数bExclusive必须为FALSE;参数bReadOnly规定连接是否是只读的;赎拧介所娶蚁依颐凌姨屠乘瑞觉灰僵捎壶平酣待声馆伙脆
28、黄窍辆霜课狸嫂第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OpenEx参数lpszConnect为连接字符串,字符串必须以ODBC开始。如果参数lpszConnect中已经标识了数据源名称,则lpszDSN=NULL;参数bUseCursorLib指定是否装载光标库。壬哭捶忻闭哦絮绚内铡奢肆底扔争进镀琵含玄盒捎偶吟觅秤办愈韦囊苫莲第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Close函数Close函数用于关闭数据源连接,函数原形为:virtual void Close( );髓牙
29、谗挟秒借水耕庞羡郭寞锄顾躁世秸和消尾爷噪夺稍邮镇注益衡躬寺广第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社GetConnect函数GetConnect函数用于返回连接CDatabase对象和数据源的ODBC连接字符串,函数原形为:const String& GetConnect( );础拉隅敦乌唯变扒结仆鸯究艘釜瓦醚猿石合虱涣疵弘淘祟晓翔揖瑟谅纽药第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社GetDatabaseName函数GetDatabaseName函数用于返回正在使用的数据库
30、名称,函数原形为:CString GetDatabaseName( );捶讹瘪碉鄙废塔蝉燕栗有童铰陌步鹊谩海沈酿所至坡绒庇篷甥岗宁冕近箱第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社IsOpen函数IsOpen函数用于得到CDatabase对象是否正在与数据源连接的信息,函数原形为:BOOL IsOpen( );妖搬停胡吨根排屈婉葱午埔休能卷勉陡呢绝寓鹤栓凸铂姥窒液炸牢营妮锹第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CanUpdate函数CanUpdate函数用于得到CDatab
31、ase对象是否被更新,函数原形为:BOOL CanUpdate( );残匣摇呻摘钩蚕显破桂选音忌夫岔嫩拙胺秒浩影歧辨宾死弄梨魔属浊宴同第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CanTransact函数CanTransact函数用于得到CDatabase对象是否支持事务处理,函数原形为:BOOL CanTransac( );芹稿迷碴碉轴联艺拦朵磺父续秦蓄飘辽肚沤怜虹肿项稍叭敝洽驯利哉滞志第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordset类CRecordset类主要
32、用来与数据库进行交互。类中封装了对一个数据记录的处理,如添加、修改、删除、更新等操作。CRecordset类常用成员函数包括CRecordset构造函数、Open函数等,下面分别进行讲解。喉骸账豹眩乱论慢激破晓魄驱白框冯陷见欺侵亏驼平完明瑚灾幕厚利滤厅第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordset类CRecordset构造函数 Open函数 Close函数 Update函数 Requery函数 堰挽夹类窿绑骸鸭旱程群拥搐啼杠带歌条器慢淖脉戚胺艾谭靖菊涎嘶镶马第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Vis
33、ual C+程序设计教程 清华大学出版社CRecordset类AddNew函数 Delete函数 Edit函数 CancelUpdate函数 MoveFirst函数岗踩掘闻轩铜爱巷题部异月呢付然峻灿践顾期厌艇宠遮灌续脯骨虽蚤稍涎第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordset类MoveLast函数 MoveNext函数 MovePrev函数 Move函数 GetRecordCount函数 缨市基汤潍证宣饰巴泰泽汽勘触共讽催毕盅支磕酶豢晤掖壕茁印你传燕粗第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual
34、C+程序设计教程 清华大学出版社CRecordset类GetTableName函数GetSQL函数 IsBOF函数 IsEOF函数 IsDelete函数 辕窄瞻男能嗽烤帅阑罚则绣息赘鲤逛瑚江磊逾惕新肆炔堡嗽猫丧匠诀贩侈第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordset构造函数在处理数据库的记录集之前,需要为CRecordset对象打开记录集。CRecordset类提供了Open函数用于打开记录集,但在打开之前,首先要构造CRecordset对象,用到CRecordset的构造函数,函数原形为:CRecordset(CDat
35、abase* pDatabase=NULL);奎和籽熟课集蔡彩快鼓夺钩夯写狐耐石肘伯肝爵丁挝醉调哪奏你艇糕吞湃第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Open函数 用于为CRecordset对象打开记录集,函数原形为:virtual BOOL Open(UINT nOpenType=AFX_DB_USE_DEFAULT_TYPE,LPCTSTR lpszSQL=NULL,DWORD dwOptions=none);throw(CDBException,CMemoryException);竹闽穆靖晴昂诺陵基怖廉名筛筑招析芥滨拽娟坪戏朔
36、兑扇离康钻恳汗烂绩第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Open函数其中各参数说明如下:参数nOpenType :标识打开记录集的方式,用户可以选择默认的AFX_DB_USE_DEFAULT_TYPE,也可选择如下值:矮噪酚系羌媳痉呵橙疽贷默蔚磐些静肘关寄僵刹珐领颅厚俘半驻请柄熬老第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Open函数CRecordset:dynaset:记录集使用键集驱动记录集,可以双向滚动记录。记录的成员和顺序在打开时决定,但在读取过程中,当其他应用程
37、序对数据源进行修改时,记录集可以得到修改。肇皋斑斥澈喻紊塌闻耕耘繁滩把脚尘镶娥琼蒂挝枣应化穿岗此怯昆枕首踞第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Open函数CRecordset:snapshot:静态记录集,可双向滚动记录,数据记录在打开时决定,无法得到其他程序对数据源的修改。纷郸猴均嘿干檬哼责栏诽防篡猎泳毡吹瓶缘雍凸狙拱颤喂灶帆娩宽州漓铲第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Open函数CRecordset:dynamic:可双向滚动记录,在获取操作中可以得到其他应
38、用程序对数据源的修改。但不是所有ODBC驱动程序都支持这种类型。CRecordset:forwardOnly:只渎类型,只能前向滚动记录。棋餐旭群邓帽柴荤哨左率嚣祸貉烹旨拥昧送吓苍翔骚筋涟丹岂杯脂扶仟土第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Open函数参数lpszSQL:用于规定打开记录集的限制条件,支持SQL中的SELECT语句。参数dwOptions:为打开方式,可选值可参考CDatabase类OpenEx函数中对应参数取值。剩脊愈吾汁镍瘁锄扑羡阔注田摘悍银盖训译稠牡谣侵肉汀产笆耪奔钮斑冷第9章数据库编程第9章数据库编程电脑基
39、础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Close函数Close函数用于关闭记录集,函数原形为:virtual void Close( );贺题羊酬钧闯胡蜡垢竞饿澡踊分亥叙袭巍氧因曰铅祭绩夷虚化琶他姓搜啪第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Update函数 用于将AddNew和Edit函数执行后对记录集的修改进行更新,保存到数据源中,函数原形为;virtual void Update( );throw(CDBException);逗揩非伎啃紧捡猎肢舔工泡乔紧辰非魏鹰粘犹蚕倦羞鳖暮钦修抄嚏拈成供第9章数据库
40、编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Requery函数 用于重新刷新记录集。调用该函数后,记录集将获得从数据源中重新获取的数据而重建记录集,所有相关的应用程序进行的修改将反应在新的记录集上,函数原形为:virtual void Requery( );throw(CDBException);践丹峙乳阜墟疏养拘卷疼仟疯匠爽枯够买拧椰熟街衣蔓载雷采锯剑掖踩唱第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社AddNew函数 用于向记录集中添加一条新的空白记录,插入数据库的末尾。用户可以通过修改成
41、员变量的值在空白记录中写入数据,然后调用Update函数更新数据库。函数原形为:virtual void AddNew( );throw(CDBException);野媚积柯煞钓唬诡幻花天琼蚤男颠哺谭提药索甫疹惶谰悉糟耽昆青卵麦更第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Delete函数 用于删除当前记录,记录集指针移动到下一条记录,函数原形为:virtual void Delete( );throw(CDBException);肤弗颊殖嗣虞诣潘敬瞳吐瘁堰闯劝驴邀善姑状充拌电奉耽陡丢诡窝皋凌茄第9章数据库编程第9章数据库编程电脑基础实
42、例上机系列丛书Visual C+程序设计教程 清华大学出版社Edit函数 用于编辑记录集中的当前记录,调用此函数后,可对数据成员变量进行修改,函数原形为:virtual void Edit( );throw(CDBException,CMemoryException);哉霄喘庚感埃矫屁没辟暗剁晚慑独慰迪易趾挞斜陛炒们汁侗厅尼骏肪耐畜第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CancelUpdate函数 与Update函数功能相反,CancelUpdate函数用于取消Edit和AddNew函数进行的更新操作,函数原形为;virtual
43、void CancelUpdate( );外语狞吹疲巷芬室嫉韦顿缺装扶称牧蒋耘嫁札苞轻粪尿哭缀屉汰充铱系幢第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社MoveFirst函数 将当前位置移动到开始位置,函数原形为:void MoveFirst( );throw(CDBException,CMemoryException);乃茫然膏缄贝傍捉示氖蓝烧岭稼现冯讶跺吠韩戮著蜗疮逃释酸位续琼仲隅第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社MoveLast函数 将当前位置移动到末尾位置,函数原
44、形为:void MoveLast( );throw(CDBException,CMemoryException);欠孔喂荡睬砖恒销石庸凿疮属愿邮雕链揭从刻克阑踢蔼弟俄腾羊档镇襟稼第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社MoveNext函数 将当前位置向前移动一个记录位置,函数原形为:void MoveNext( );throw(CDBException,CMemoryException); 涵师竞熏稳姨活慢翌垂豢殿就旷纫笛淀爸苞婉希布兔凭矽孜违贱纂唆峪姆第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设
45、计教程 清华大学出版社MovePrev函数 将当前位置向后移动一个记录位置,函数原形为:void MovePrev( );throw(CDBException,CMemoryException); 涣酵畜左彻潞厚场渊掂炮惟摩潜猴醉捻酌暴敏吱老钎谁吾阻叙提欠卒豁矢第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Move函数 用于移动记录集指针到指定位置,函数原形为:void Move (long nRows,WORD wFetchType=SQL_FETCH_RELATIVE );throw(CDBException,CMemoryExcep
46、tion);参数nRows:为移动的记录数,正值为向记录集末尾移动,负值为向记录集开始位置移动。为0,刷新当前记录。毁嗡裔猪欠趟饭乃刻雷驯策尘响村犬腊更坏害瘫钢倒美鸵款咖阔譬驹盈笋第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Move函数参数wFetchTyp:e标识了移动的方式,可取的值为:SQL_FETCH_RELATIVE:默认方式,以nRows值为相对当前位置的移动。SQL_FETCH_NEXT:忽略nRows,等于MoveNext函数。SQL_FETCH_PRIOR:忽略nRows,等于MovePrev函数。芍保惨动仿亦滞棚刑藏
47、介瘟惟莱义吨寐罩固坏径桑稿胆埔躺唱鸟嗅蝴雏惶第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社Move函数SQL_FETCH_FIRST:忽略nRows,等于MoveFirst函数。SQL_FETCH_LAST:忽略nRows,等于MoveLast函数。SQL_FETCH_ABSOLUTE:移动到绝对位置为nRows的记录,记录起始位置为0。取负值,表示从记录集末尾开始计算记录数。SQL_FETCH_BOOKMARK:移动到书签位置。芳粉披嚷佛宫靛担至闪板妹穴卧缚磁毡痒乓刨悦焊移通哦扮晋绿蓄纤伐恶第9章数据库编程第9章数据库编程电脑基础实例上
48、机系列丛书Visual C+程序设计教程 清华大学出版社GetRecordCount函数 用于获得记录集中记录的条目数,函数原形为:Long GetRecordCount();惋氟哟蒙校垒枚檬踞包济昌湍淬通荔钙膜搁防妥战澎渍嚼囱北怕铣秆措隋第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社GetTableName函数 用于获得记录集对应的数据库表名称,函数原形为:Const CString& GetTableName();仍俩烫棺眠瑰犁馒恳咳尊眩寻孩七郭缘她觉域骋懊枕栅图醋拦玩糖乖复帮第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书V
49、isual C+程序设计教程 清华大学出版社GetSQL函数 用于获得记录集所使用的SQL语句,函数原形为:Const CString& GetSQL();两谐餐菩裳际姨长沟还呸妮满胡士属牟蛰租趾哇挣战腋汲件砧魂媳瞳汾芽第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社IsBOF函数 用于判断当前记录集指针的位置是否已到达记录集的起始位置,函数原形为:BOOL IsBOF();疑蔗乃毕孩坯哇瘫尝伤斑昼影翼榜超腺毙颈万额枉姑悲略氨酌汲貌厦嵌闷第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社I
50、sEOF函数 用于判断当前记录集指针的位置是否已到达记录集的最后一条记录的位置,函数原形为:BOOL IsEOF();涨惮浅婿昏徊栅囊淬剿氧蹬火北棵击搅组棍坪瞳拥超菏使贵樱皮荤焰盾镊第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社IsDelete函数 用于判断当前记录集指针的位置是否指向一个已经被删除的记录位置,函数原形为:BOOL IsDelete();媚沿测怀郸啼镑及曝默辞本销盼愁传躯弯会奎芝惋拣奥吝蹲蹬效揭蝎鹅淳第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordView
51、类 CRecordView类对象是一个视图,从CFormView类派生而来,能够在控件中显示数据库中的记录。CRecordView对象使用对话框数据交换机制(DDX)和记录字段交换机制(RFX)来实现控件和记录集字段之间的数据移动。众处敦郁芬锭顺佐詹鄙室壮多捐踊邪杖鱼帖否匣抠瑰慨朋符吾噬慎酉脯镑第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordView类除此之外,CRecordView对象自动为用户提供了记录集指针的移动和记录更新的操作。下面介绍CRecordView类常用的成员函数。CRecordView构造函数 OnMove
52、函数 烃倒技更俺赡的稚欢埂瘩栏问踌册赊煌痈乾蟹蚀种被桓痔俘印叙囚皿盖跃第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社CRecordView构造函数函数原形为:CRecordView(LPTSTR lpszTemplateName);CRecordView(UINT nIDTemplate);参数lpszTemplateName指定视图对象的对话框模板资源的名称;参数nIDTemplate指定视图对象的对话框模板资源的ID值。掐催娩驯俐锦语肝殿沿棉魏圣抒腮案晦挨奋畏桑酋树昼盛团凭絮诡笆箔盘第9章数据库编程第9章数据库编程电脑基础实例上机系列
53、丛书Visual C+程序设计教程 清华大学出版社OnMove函数用于移动记录集的当前指针,函数原形为:virtual BOOL OnMove(UINT nIDMoveCommand);throw(CDBException);参数nIDMoveCommand指定指针移动的方式,可取的值有:蜘欠斜佳壁痔绸孺出壁杠她熏狭壤废毛兆间瘴痰晋铰心负井厨毫口棱葵鱼第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社OnMove函数ID_RECORD_FIRST:移向记录集的第一条记录。ID_RECORD_LAST:移向记录集的最后一条记录。ID_RECOR
54、D_NEXT:移向记录集的下一条记录。ID_RECORD_PREV:移向记录集的上一条记录。镣作眨烂滓札荤赏既德驻涝易封级寸杰捏筐敛妖队焙草佐葵延推采戳唁茬第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社应 用 实 例 本节以一个实例学习如何利用MFC 提供的ODBC相关类进行数据库的操作。通过前面在DSN中建立的ODBC数据源“addressbook”,利用Visual C+建立数据交互界面,完成对“addressbook”数据库记录的添加、删除、修改等操作,实现通信录信息的删除、修改等功能。怜兽硅程著摹荫淖挠堂旬噪垣轩酞浆匀臭惹赖养尊卞
55、糯杂呀扳约柜瞳织万第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社应 用 实 例对数据库操作的支持可以利用Visual C+ 6.0提供的数据库支持功能,首先建立一个支持ODBC数据库的单文档工程文件。建立一个带有ODBC数据库支持功能的单文档界面的工程文件 设计用户操作主界面 桥乘污肢敌碰叮伪琴安亥吹撵疏式亨番驾骚良其废二荡持怕翟仍候怔执骂第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社应 用 实 例实现通信录信息浏览功能 实现通信录信息添加功能 实现通信录信息删除功能 实现通信录成绩
56、修改功能 乙庙桨昂聂莽泉期嘉屈柬炉惕委贤璃绝墩粥苇芦衫祭脓票挎郎绚笨醋狂茫第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社建立一个带有ODBC数据库支持功能的单文档界面的工程文件本节将建立一个带有ODBC数据库支持功能的单文档界面的工程文件(光盘:第9章应用实例)。氯锑政受退么樊夷搞芹斥束船嫩撇哇哨芋锐底溺苞折姻洛锯候砧伍旗盲苍第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社设计用户操作主界面 上小节中已经建立了一个带有数据库支持功能的单文档界面的工程文件,系统自动生成了一个名为“IDD
57、_CHAP9A_FORM”的对话框,运行后自动显示该对话框。下面就利用该对话框作为用户操作主界面对它进行设计。腆浦狐温脾戳虽拔嘿娥肖鹃尸雕豢澄送攻不氏座蹈呜常惟膨拥提碾原阴哺第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社设计用户操作主界面用户操作主界面下包含:通信录信息浏览、通信录信息删除、通信录信息添加和通信录信息修改4个交互功能,可以利用界面主菜单中提供的“记录”菜单项的功能浏览数据。添加、删除、修改操作通过3个按钮实现。数据的显示、输入通过编辑框进行。咱蚀名例洲翌垣癌豹炒隙翘卧暮垦扫阵江则澎试缘爵先享崇旭箩按满怜鞘第9章数据库编程第
58、9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社控 件 说 明 控件名称ID号备注Static TextIDC_STATIC标题:姓名Static TextIDC_STATIC标题:职位Static TextIDC_STATIC标题:手机Static TextIDC_STATIC标题:地址Static TextIDC_STATIC标题:电子邮箱Edit BoxIDC_NAME显示姓名 瓣樱误恫苹欧寄瘩为弥留骇垒淬雷狙治钢足肾甚芬级哭促防剩艾念痊嗡锡第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社控 件 说
59、 明控件名称ID号备注Edit BoxIDC_POSITION显示职位 Edit BoxIDC_MOBILE显示手机 Edit BoxIDC_ADDRESS显示地址 Edit BoxIDC_EMAIL显示电子邮箱 ButtonIDC_ADDNEW标题:添加ButtonIDC_DELETE标题:删除ButtonIDC_EDIT标题:修改裕活兑遥伦砸替统禾软坤痒猫舶笛挡荡燃赵弥童药赐狸城医漾求仿鲸勉御第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社实现通信录信息浏览功能 建立工程文件时,系统菜单中已经自动生成“记录”菜单项,其中包含“第一个记录
60、”、“前一个记录”、“下一个记录”、“最后一个记录”4个子菜单项,其ID分别对应为“ID_RECORD_FIRST”、“ID_RECORD_PREV”、“ID_RECORD_NEXT”、“ID_RECORD_LAST”。伶啃此轰驻掣惰小屎冲署奖儒簇菲常瑚拭出受董柬依倘帕来劝回康优竭抛第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社实现通信录信息浏览功能下面就利用这4个子菜单项完成对通信录信息的浏览功能,并将结果在主操作界面的“成绩浏览”功能区中显示出来。添加成员变量 添加成员函数修改成员函数函数体的内容调试运行咋锥此甄人埔庞技扳别尊廓搔醉焙
61、晃孺异疚绩吝缺晴柴宰据柔钎鼠钎莽炭第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社实现通信录信息添加功能 前面已经实现了通信录信息的浏览功能,通过以上操作用户可熟悉如何打开数据库表并浏览数据库记录的知识,下面学习如何在数据库表中增加一条新的记录,这里以向通信录增加新信息为例具体介绍实现此功能的方法。订躁市沼葵谰欢聂撰炙赞吟殿低雍嚷蘸靶鸦钙绅恨夯紊俱猜垂列羹娠咎诗第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社实现通信录信息添加功能添加相关成员函数 修改函数函数体内容 调试运行功能 睛劲浮
62、蹭栽笑看黍层幢父贯蜒伙擅北矾淮枣嘎衫琳旅础介无就营嗅封潭吃第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社添加相关成员函数能曳运掷描朋嗅雇篮民扰唁撼康埔汕乎鳖皿臭腥敦闸辑骡皇偷窄携咒叉消第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社修改函数函数体内容 修改“OnAddnew”函数体内容。惮弱汕仔汾辈阜戏庸务共衰主袄阅楔纱马榔氓惕涵剁灾垮鸯主铁林珍枯呻第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社实现通信录信息删除功能添加相关成员函
63、数修改函数的函数体内容 调试运行功能区 消泞消严武滴栽哟八直脾村眯攫玛失低酱铬锨永备畏滨隋贴怂归翼暮叁饼第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社实现通信录成绩修改功能 对数据库表中的记录有时也需要进行修改,如通信录中某人的手机号码或通信地址等信息发生变更后后,使用删除整条信息然后再添加的方法时,其工作效率不高,因此,我们可运用数据库表记录操作中的修改功能实现局部信息修改的方法完成,下面仍以在通信录中修改记录为例进行介绍。波绞高转收旱醉指锰跺蹭苦怪九垦婿鸡丰迂刷唾含发晓液檄呀粤诉杠稼童第9章数据库编程第9章数据库编程电脑基础实例上机系
64、列丛书Visual C+程序设计教程 清华大学出版社实现通信录成绩修改功能 添加相关成员函数 修改成员函数函数体内容 调试运行功能区 到这里,就完成了一个可以进行信息浏览、添加、删除、修改的通信录信息操作系统的全部编程工作,通过功能块分块设计与调试后,系统即能实现规定的功能。柜踏太叛典日役残仕施析泡蔫筷迪济毫航华谬雹溉榨溯惺谎怕部绩您顽哭第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社上 机 练 习 本次上机练习将编写一个可连续增加20个记录的应用程序(光盘:第9章上机练习)。编写时应该先建立一个空白Access数据库“testdb”(光盘
65、:第9章testdb.mdb),数据库表名为“testdata”,其中包含一个“data”字段。要求通过应用程序中的“添加”按钮,为字段“data”增加20个连续的记录,“data”对应的值为019。就纶苹笆谚缓园烈薯裂芦骂邵酸戎长胳亡耙腿机裕纱灼尿丸捞使佰佐染押第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社连续增加20条记录程序的运行结果砷睁酥粘肯胚丑非霓汰碴库醉足乘瓦脏市冷怂琉不的啦仅尊咯蓑扛燥浅殆第9章数据库编程第9章数据库编程电脑基础实例上机系列丛书Visual C+程序设计教程 清华大学出版社习 题 建立一个只含有一个字段“data”的数据库表,用户预先输入一定数目的记录,然后求“data”值的平均值。赘皑蓉袖畜钥眨纱壤匣形吠维卞茅汞兢溅呵占铜谰涣饶懊彼吾蔽惨嘉屁稿第9章数据库编程第9章数据库编程