本站启用国内永久域名: www.LewenSky.cn,请大家使用新域名访问网站!
10月9

VC使用ADO访问SQL Server 2000进行查询并获得返回值

| |
17:46MFC/VC++  From: 本站原创
1、引入ADO库文件

使用ADO前必须在工程的stdafx.h头文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下所示:

用#import引入ADO库文件

#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")



这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数EOF改名为adoEOF。现在不需添加另外的头文件,就可以使用ADO接口了。

2、初始化OLE/COM库环境
必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。

if(!AfxOleInit())//这就是初始化COM库
{
AfxMessageBox(“OLE初始化出错!”);
return FALSE;
}


3、使用_ConnectionPtr接口
_ConnectionPtr主要是一个连接接口,取得与数据库的连接。它的连接字符串可以是自己直接写,也可以指向一个ODBC DSN。

其中MyDB是数据库名,UID是登录名,PWD是密码,MyTable是数据库表名,UserName是表中的一列
  _RecordsetPtr pPtr;
  if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))
  {
    AfxMessageBox("Create Instance failed!");
    return;
  }
  
  CString strSRC;
  strSRC="Driver=SQL Server;Server=127.0.0.1;Database=MyDB;UID=sa;PWD=";
  
  CString strSQL = "select * from MyTable";
  
  _variant_t varSRC(strSRC);
  _variant_t varSQL(strSQL);
  
  if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText)))
  {
    AfxMessageBox("Open table failed!");
    pPtr.Release();
    return;
  }
  
  while(!pPtr->GetadoEOF())
  {
    _variant_t varUserName;
    
    varUserName = pPtr->GetCollect ("UserName");
    
    CString strUserName =(char *)_bstr_t(varUserName);
    
    strUserName.TrimRight();//strUserName即是获得的结果                                

    pPtr->MoveNext();
  }
  
  pPtr->Close();
  pPtr.Release();


作者:Lewen@博雅宇轩
地址:http://www.lewensky.cn/read.php/149.htm
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最新日志 随机日志 综合排行
  • OFFICE 2010 VOL...
  • 格式工厂绿色版 V2.90
  • Password Invent...
  • VideoCacheView ...
  • 电脑店U盘启动盘制作工具 3....
  • 阿里旺旺AliIM2011_7...
  • 极点五笔十周年纪念版
  • PPTV网络电视3.1.1.0...
  • WinRAR注册方法
  • 紫光华宇拼音输入法 6.8.0...
  • AnyBizSoft PDF ...
  • 一段很厉害的代码
  • 背景音乐代码大全
  • [03-12]最新绿色免费软件...
  • CurrPorts 1.80 ...
  • 酷我音乐盒2011春天版5.0...
  • WORD2003如何自动生成目...
  • QQ音乐2011(2050)绿...
  • QQ音乐2010 Beta2 ...
  • ServiWin v1.40 ...
  • 安装软件时出现系统提示&quo...
  • XP与XP无线共享设置(笔记本...
  • ZineMaker目录模板大集...
  • 没有不可能 轻松实现PDG转P...
  • CString转char的方法...
  • [转]MSDN精简版、MSDN...
  • 将IE、FIREFOR (火狐...
  • VC多线程编程(转)
  • MyEclipse6.5下载地...
  • Diskeeper 2010 ...
  • Tags: , ,
    阅读(2886) | 评论(0) | 引用(0)
    发表评论
    表情
    emotemotemotemotemot
    emotemotemotemotemot
    emotemotemotemotemot
    emotemotemotemotemot
    emotemotemotemotemot
    打开HTML
    打开UBB
    打开表情
    隐藏
    记住我
    昵称   密码   游客无需密码
    网址   电邮   [注册]