文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++ 用Ado连接数据库

C++ 用Ado连接数据库

时间:2010-11-03  来源:kgisme170

        最简单的数据库当属M$的Access桌面数据库了。它具有数据库的几乎全部元素,支持SQL。当然,它没有一个SQL命令行解释器来操纵,必须通过Ado编程接口连接Jet数据库引擎来编程。
1. 用import语句来倒入Ado的类对象(几个Com接口)
2. 创建com对象,通过一个连接字符串连接到数据库
3. 显示数据库内容,并插入一行
4. 这个数据库是一个db文件,里面有个table01,3个字段分别是No(整数),employee(字串)和age(整数).
5. Ado连接字符串得到的方法: 在桌面的任何一个地方单击建立一个新文件,把后缀名改成.udl。打开这个文件,在驱动里面选择好将要连接的对象。然后用记事本打开该文件,就得到了一个驱动的连接字符串。


#include "stdafx.h"
#include <stdio.h>
#include <Windows.h>
#include <WinDef.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")
int _tmain(int argc, _TCHAR* argv[])
{
    CoInitialize(0);
    _ConnectionPtr m_pConnection;
    _RecordsetPtr m_pRecordset;
    try{
        m_pConnection.CreateInstance("ADODB.Connection");
        _bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdb;Persist Security Info=False";
        m_pConnection->Open(strConnect,"","",adModeUnknown);
        m_pRecordset.CreateInstance(__uuidof(Recordset));
        _bstr_t bstrSQL="select * from table01";
        m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

        _variant_t vNo,vEmployee,vAge;
        while(!m_pRecordset->adoEOF){
            vNo =m_pRecordset->GetCollect((long)0);
            vEmployee=m_pRecordset->GetCollect("employee");
            vAge =m_pRecordset->GetCollect("age");
            printf("%d,%s,%d\n",vNo.lVal,(LPCTSTR)(_bstr_t)vEmployee,vAge.lVal);
        }

        bstrSQL="insert into table01 values(18,'jkk',30)";
        m_pConnection->Execute(bstrSQL,NULL,adCmdText);
        m_pConnection->CommitTrans();
        m_pRecordset->Close();
        if(m_pConnection->State)m_pConnection->Close();
    }catch(_com_error e){
        printf("com error!\n");
    }
    CoUninitialize();
    return 0;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载