C++中ADO访问数据库方法?

C++中ADO访问数据库方法?,第1张

这个过程有点复杂,详细请参阅孙鑫《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

}

c语言不能连接数据库,只能用文件保存数据;

我在学习的时候也曾遇到过这样的问题,请教老师,老师告诉我C语言主要用来开发系统的,还有就是用来开发游戏的。一般用文件保存数据。不会用到数据库;

要用数据库的语言有VB,java,c#,Dephi等等


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6764593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存