VC中使用ADO技术访问数据库

来源 :电脑学习 | 被引量 : 0次 | 上传用户:zhanghaocong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了在VC6.0中利用ADO开发数据库应用程序的方法。
  关键词:ADO VC 教据库
  中图分类号:TIP311.13 文献标识码: A 文章编号:1002-2422(2008)01-0042-02
  
  1 VC中应用ADO接口编程
  
  Connection,Command,Recordset是ADO对象模型中三个主体对象。可以被独立地创建和释放,而不需要访问更高一层的数据对象。例如:ADO对象允许以打开的方式访问一个Recordset对象而不必首先建立一个与数据源的连接,使得ADO模型比其他对象模型更简单和更灵活。
  1.1引入ADO库文件,初始化COM库
  要使用ADO对象访问数据库,必须在工程的stdafx.h文件里用直接引入符号“#import”引入ADO。库文件,以使编译器能正确编译。代码如下所示:
  #import“c:\program fdes\conunon fdes\system\ado\msado15.dll”no_namespace renBlne(“EOF”,“adoEOF”)
  该语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数“EOF”改名“adoEOF”。这样不需添加另外的头文件,就可以使用ADO接口了。
  应用程序在调用ADO前,必须初始化COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance()成员函数里使用MxOleInit()来初始化COM库环境。
  1.2使用Connection对象连接数据库
  一般通过Connection对象的Open方法来连接数据库,该方法的原型是:
  HRESULT Conneetionl5::Open(_bstr_t ConnectionString,_bstr_t UserID,_bstr_t Password,long Options)
  创建ADO的连接,首先要设置ADO连接对象的Con-nectionString属性,该属性提供所要连接的数据库类型、数据所处服务器、要访问的数据库和数据库访问的安全认证信息。UserID是用户名,Password是登录密码,Options是连接选项,用于指定Connection对象对数据的更新许可权。
  常用的连接方式有以下几种:
  (1)通过JET数据库引擎对ACCESS 2000数据库的连接:
  m_pConnection->Open(“Provider=Microsoft.jet.OLEDB.4.0;Data Source=D:\TEST\testinfo.mdb”,“,”,adModeUnknown);
  (2)通过DSN数据源对任何支持ODBC的数据库进行连接:
  m_pConnection->Open(“Data Soume=adotest;UID=sa;PWD=;”,“”,“”,adModeUnknown);
  (3)不通过DSN对SQL SERVER数据库进行连接:m_pConnecfion->Open(“driver=(SQL Server};Server=127.0.0.1;DATABASE=testinfo;U1D=sa;PWD=139”,“,”,adModeUnknown):
  其中Server是SQL服务器的名称,DATABASE是库的名称。下面的一段代码演示了如何创建Connection对象实例及如何连接数据库并进行异常捕捉。
  _ConnectionPtr m_pConnection;
  HRESULT hr;
  Try{
  hr=m_pConnection.Createlnstance(“ADODB.Connecfion”);if(SUCCEEDED(hr))
  {
  hr=m_pConnection->Open(“Provider=Microsdt.Jet.OLEDB.4.0;Data Soume=tesfinfo.mdb”,“”,“”,adModeUnknown);
  }
  }
  catch(_corn_error e)
  {
  CString errormessage;
  errormessage.Format(“數据库连接失败!\r\n错误信息:%8”,e.Er-mrMessage());
  AfxMessageBox(erromaessage);
  }
  1.3查询、处理数据,取得结果记录集
  为了取得结果记录集,需要定义一个指向Recordset对象的指针:_RecordsetPtr m_pRecordset;并为其创建Record-set对象的实例:
  m_pRecondset.CreateInstance(“ADODB.Recordset”);
  查询、处理数据,需要用到SQL命令,SQL命令的执行可以采用下面三种形式。
  (1)用Connection对象的Execute方法执行SQL命令。Execute方法的原型如下所示;
  _Recordsetptr Connection 15::Execute(_bstr_t CommandText,VARI-ANT*RecordsA.fected,long options)
  (2)利用Command对象来执行SQL命令,也可以利用Command对象执行SQL语句,并取得结果记录集,举例如下:
  _CommandPtr m_pCommand;
  m_pCommand.Createlnstance(“ADODB.Command”);
  _variant_t vNULL;
  VNULL.vt=VT_ERROR;
  vNULL.scode=DISP_E_PARAMNOTFOUND;
  m_pCommand->ActiveConnection=m_pConnection;
  m_pCommand->CommandText=“SELECT*FROM test”;
  m_pReeondset=m_pCommand->Execute(
其他文献
摘要:以“制作馒头:探秘膨松剂的成分与使用”为例,介绍单元学习主题实施与评价相结合的教学过程,包括教学素材的甄选、知识线索与能力线索的整理、课上活动与课下任务的统筹、学生评价的实施与反馈等。阐明单元学习主题统领的教学能促进学生实现核心知识和学科思想方法的迁移与应用,培养学生的关键能力、必备品格和正确价值观念。  关键词:单元学习;主题;评价目标  文章编号:1008-0546(2021)02-00
2016年9月12日,由北京第二外国语学院主办的第13届中国旅游发展北京对话·眉山七里坪峰会在国际抗衰产业示范基地——四川省眉山市洪雅七里坪举行。据悉,这是有12年历史的“北京对话”首次走进西部地区。本次峰会也是眉山市作为第三届四川国际旅游交易博览会主题市的系列活动之一。
拍摄人:刘强  拍摄地点:四川,什邡市 拍摄时间:11月12日  INFO:Canon EOS 6D,f/5,1/125s,ISO800  四川西部地区如今还有一些民间川戏团,他们两天住一村,三天换一镇,游走各地,四海为家。这样的戏团一般有20人左右,来自四川各地,演出内容多为“折子戲”,这是一场戏的精华,直接进入高潮,最能吸引观众,也最能展现演员的表演功底。演出时间一般都在下午,村民们没事便和亲
著名赏荷基地 Famous lotus flower appreciation base  走进“荷花之乡”香河,莲叶接天、荷香十里,以中信国安第一城景区为核心并辐射刘宋镇万亩荷塘、潮白河湿地荷花种植区、国华影视基地赏荷区的京津冀著名赏荷基地渐成规模。至今,这里已成功举办了12届荷花文化节。    Xianghe is home to lotus flowers. A famous lotus f
烧烤孕育文明?  50万年前,地球上发生了一场具有开创意义的革命——有一只猴子在机缘巧合下烧熟了食物!这是从猴子变成人的关键性一步。对火的使用导致了文明的兴起。人类学家证实,原始的烧烤行为最终导致了语言、艺术、宗教和复杂社会组织的产生。你也可以说,烧烤孕育了文明。  至于我们的祖先是如何学会烧烤的,至今仍然不太清楚。也许,当初有一场森林大火,将野鹿、野牛和其他野生动物烤死了,而一条鹿腿刚好掉进了原
澳大利亚摄影师柯林斯的住所离大海很近,从小到大,他每天都在海里游泳、冲浪,对他来说,亲近海洋,就如同吃饭睡觉一样自然。2007年他正式端起相机,镜头也自然瞄准了大海,他拍摄的海浪,像山峰和岩石一样雄伟多变,令人惊叹。为了拍摄大海,他已经去过法国、德国、意大利、西班牙、葡萄牙、波兰、冰岛、澳大利亚、新西兰、美国、墨西哥、印度尼西亚、密克罗尼西亚等很多国家和地区,他说,要走遍全球,做一名为海洋造像的摄
20世纪60年代,随着海明威的离开、巴蒂斯塔的逃亡、菲德尔和格瓦拉的入主,以及猪湾事件和导弹危机事件的爆发,古巴进入了一个全新的时代。虽然海明威并未参与古巴的政治变革,但他离开的时间恰好与革命进程不谋而合。  海明威在古巴断断续续生活了二十多年,他对哈瓦那的影响远不止推荐了“街中小酒馆”和Mojito那么简单。他的第三任妻子玛莎不喜欢“两个世界”酒店的房间,于是1940年海明威买下了哈瓦那东南郊外
第二次世界大战是历史上规模最大、损失最惨重的战争。在世界反法西斯战争胜利70周年之际,我们特别采访了几位曾经亲历战地的旅行者,有探险家、摄影师,也有普通的上班族,这些烽火中的行程,初衷、方式与收获各不相同,但都让我们再一次清楚地认识那个真相——战争中,从来没有赢家。
看了这么多欧洲菜市场的风光,它们是不是成了你心目中“别人家孩子”?的确,在发展速度一日千里的当代中国,尤其是内地大城市,菜市场普遍沦为脏乱差的落后事物。不过也不能一竿子打翻一船人,不信你看,在菜市场界,也有国货当自强。厦门:中式古早味 欧式乐活味  厦门八市,算是其中既保留了舌尖上的中式古早味、又最接近欧洲菜市场那种乐活韵味的稀有硕果。所谓“八市”,是“第八市场”的简称,它横跨厦门最繁华的中山路步
拍攝人:温斌  拍摄地点:新疆,塔什库尔干 拍摄时间:9月13日  INFO:Nikon D810,f/2.8,1/40s,ISO 3200  塔吉克族民风淳朴、热情好客,我们到塔什库尔干采风时路过一个村庄,接受主人邀请,参加了一场塔吉克族的婚礼。这家的院子不大,亲朋好友把几间屋子都挤满了,无论男女老少,都穿着鲜艳的民族服装,为新人送上祝福。最热闹的当然还是婚房,墙上、炕上铺满了红色地毯,人们争先