MFC中的ADO数据库编程

1.导入数据库。#import  "C:\Program Files\Common Files\System\ado\msado15.dll"  no_namespace rename("EOF","REOF")  其中rename是将EOF重新命名为REOF。

2.初始化COM库。使用::CoInitialize(NULL)和CoUnitialize()来对COM库的初始化和结束。在MFC中也可以使用AfxOleInit()来初始化。

3.操作数据库。可以使用三个智能指针_ConnectionPtr,_RecordsetPtr,_CommandPtr来对数据操作。

简单代码实现:

::CoInitialize(NULL);

_ConnectionPtr m_pconenction;

try

{

    m_pconnection.CreateInstance(_uuidof(Conenction));

   //也可以用m_pconnection.CreateInstance("ADODB.Connection");但不推荐这种方法,该方法可能造成错误!

    m_pconnection->Open(..);
}

catch(_com_error e)

{

    AfxMessageBox(e.Descrption());
}

_RecordsetPtr m_precordset;

try

{

   m_precordset.CreateInstance(_uuidof(Recordset));//同上可用上面的方法,不推荐。

   m_precordset.Open("SQL语句",....)//使用这种方法执行SQL语句,当然还有其他方法;

   //也可以使用在在其他两个智能指针使用Excute()来执行SQL语句。
}

catch(_com_error e)

{

     AfxMessageBox(e.Description());
}

 //提取操作

while(!m_precorset->REOF)
{
     _variant_t   var;

     var=m_precordset->GetCollect("编号");

     list.InsertItem(0,(char *)_bstr_t(var));

     .....

    m_precordset->MoveNext();//其他移动还有:MoveFirst(),MoveLast(),MovePrevious();Move()等操作

}

//插入操作

m_precordset->AddNew():

m_precordset->PutCollect("编号",值);

m_precordset->Update();

//删除操作

m_precordset->Delete(adAffectCurrent);//删除当前记录,可以用几个Move操作来改变当前记录。

m_pconnection->Close();

m_precordset->Close();

::CoUninitialize();


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值