
一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。
在Microsoft Visual Basic编辑器中,可以使用ADO对象以及ADO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来 *** 作数据库中的数据。
ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。
例如,如果希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。
扩展资料:
ADO接口简介
1、_ConnectionPtr接口
返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。
2、_CommandPtr接口
返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。
3、_RecordsetPtr接口
是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。
参考资料来源:百度百科-ActiveX Data Objects
这个过程有点复杂,详细请参阅孙鑫《VC++深入详解》最后一章,HOOK和数据库访问技术,那里讲得更明白!#include
<iostream>
#include
<string>
using
namespace
std
//导入ADO动态链接库,必须的
#import
"c:\program
files\common
files\system\ado\msado15.dll"no_namespace
rename("EOF","adoEOF")
void
main()
{
_ConnectionPtr
m_pConnection
//创建智能指针,必须的
m_pConnection.CreateInstance(__uuidof(Connection))
//或
m_pConnection.CreateInstance("ADODB.Connection")
CoInitialize(NULL)
//初始化COM,必须的
try
{
//连接字符串,Student为数据库名
m_pConnection->ConnectionString="Provider=SQLOLEDB.1Password=saPersist
Security
Info=TrueUser
ID=saInitial
Catalog=Student"
m_pConnection->Open("
","
","
",adModeUnknown)
//调用Open方法
cout<<"1"<<endl
}
catch(_com_error
e)
//捕获连接异常
{
cout<<"数据库初始化错误!
"<<endl
return
}
cout<<"连接成功!"<<endl
_RecordsetPtr
pRst(__uuidof(Recordset))
pRst=m_pConnection->Execute("select
*
from
student",NULL,adCmdText)//使用Execute方法,student为表名
if(!pRst>adoEOF)
pRst>MoveFirst()
else
{
cout<<"表内数据为空"<<endl
return
}
//
读入库中各字段并加入列表框中
_variant_t
var
string
strName
while(!pRst>adoEOF)
{
var
=
pRst>GetCollect("Name")
if(var.vt
!=
VT_NULL)
strName
=
(LPCSTR)_bstr_t(var)
pRst>MoveNext()
}
//关闭
pRst->Close()
m_pConnection->Close()
pRst.Release()
m_pConnection->Release()
CoUninitialize()
//释放COM
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)