请教关于 CoInitialize 的问题

请教关于 CoInitialize 的问题,第1张

据库基本原理、SQL Server 2000 *** 作规范、数据访问接口、应用程序开发流程、数据库及应用程序的优化SQL

连接的实例:

一、初始化

首先,在stdafx.h文件中加入:

#import "C:\Program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")

定义变量

_ConnectionPtr ADOConn

_RecordsetPtr m_pADOSet

二、连接

//SQL SERVER数据库连接

::CoInitialize(NULL)

CString strConnect

strConnect="Provider=sqloledb.1Data Source=192.168.0.131Initial Catalog=mynetUID=saIntegrated Security=SSPI"

//mynet数据库名字,我使用的是非数据源方式

try

{

ADOConn.CreateInstance(__uuidof(Connection))

ADOConn->Open((const char *)strConnect,"","",adModeUnknown)//adConnectUnspecified

}

catch(...)

{

AfxMessageBox("数据库初始化错误,程序将关闭!")

return FALSE

}

三、初始化ADO记录集

m_pADOSet.CreateInstance(__uuidof(Recordset))

_variant_t strSQL

strSQL="select * from kk"

if ( m_pADOSet->State == adStateOpen)

m_pADOSet->Close()

try

{

m_pADOSet->CursorLocation=adUseClient

m_pADOSet->Open("select * from kk", ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown)

}

catch(_com_error &e)

{

CString err

err.Format("ADO Error: %s",(char*)e.Description())

}

int iCount

iCount = m_pADOSet->GetRecordCount()

四、查询数据

_variant_t Holder

int T0

while(!m_pADOSet->EndOfFile)

{

Holder = m_pADOSet->GetCollect("id")

//if(Holder.intVal!=VT_NULL)

T0=Holder.intVal

m_pADOSet->MoveNext()

}

五、添加数据

m_pADOSet->AddNew()

m_pADOSet->PutCollect("id",_variant_t("23"))

m_pADOSet->PutCollect("username",_variant_t("salkfj"))

m_pADOSet->Update()

六、修改数据

m_pADOSet->EditMode

m_pADOSet->PutCollect("id",_variant_t("3"))

m_pADOSet->PutCollect("username",_variant_t("saj123456789"))

m_pADOSet->Update()

七、删除数据

m_pADOSet->Delete(adAffectCurrent)//删除当前记录

八、断开数据库

//释放ADO连接对象

if(adStateOpen == ADOConn->State)

ADOConn->Close()

ADOConn.Release()

// 释放ADO记录集

if(adStateOpen==m_pADOSet->State)

m_pADOSet->Close()

m_pADOSet.Release()

CoInitialize对COM组件进行初始化和管理

所谓套间是为了处理并发访问设计的而不是说访问权限的问题

另外套间对象间互访通过列集来实现

如果要详细研究建议看INSIDE ATL那本书


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存