c++连接数据库代码

c++连接数据库网上的代码和说明,都是大同小异,大多都是那个MFC做的,几乎是相同的一篇文章,被转来转去的,真是千古文章一大抄啊。没有办法只好自己学一下了。为此记录自己的学习过程,希望对大家有点帮助。
也许大家都会看到这篇文章:
    万事开头难,任何一种新技术对于初学者来说最重要的还是“入门”,掌握其要点。让我们来看看ADO数据库开发的基本流程吧!
 
  (1)初始化COM库,引入ADO库定义文件
  (2)用Connection对象连接数据库
  (3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。
  (4)使用完毕后关闭连接释放对象。
 
  准备工作:
  为了大家都能测试本文提供的例子,我们采用Access数据库,您也可以直接在我们提供的示例代码中找到这个test.mdb。
  下面我们将详细介绍上述步骤并给出相关代码......
 

我也是刚开始学习c++连接数据库,一点一点的来吧,贴上第一个程序的源码,仅供参考。

//c++ ADO连接DB2数据库
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
using namespace std;
int main()
{
     //初始化OLE/COM库环境
     ::CoInitialize(NULL);
     try
     {
         _ConnectionPtr pConn("ADODB.Connection");
         _RecordsetPtr m_pRecordset("ADODB.Recordset");
     //连接字符串,此处为DB2的连接字符串,其它数据库的百度一下就知道
     _bstr_t strConnect="Provider=IBMDADB2;Database=RIDA;Hostname=127.0.0.1;
     Protocol=TCPIP;Port=50000; Uid=administrator;Pwd=123456789;";
     //步骤1--打开连接
     pConn->Open(strConnect,"","",adModeUnknown);
     //步骤2--创建命令
     //步骤3--执行命令
     m_pRecordset=pConn->Execute("SELECT * FROM ADMINISTRATOR.USERS",NULL,adCmdText);
     //步骤4--操作数据
    //操作数据可以选择其他的删除、修给、插入等这里只是读出数据库中表中的数据
    _variant_t id,name;
    cout<<"编号       姓名 ";
    cout<<"\n----------\n";
    while (!m_pRecordset->EndOfFile)
    {
        id = m_pRecordset->GetCollect(_variant_t((long)0));
        name = m_pRecordset->GetCollect(_variant_t((long)1));
         //给字段编号或者是字段名
         //id = m_pRecordset->GetCollect("USERS_ID");
         //name = m_pRecordset->GetCollect("USERS_NAME");
        
        if (id.vt != VT_NULL && name.vt != VT_NULL)
        {
              cout.setf(ios::left);
              cout<<setw(14)<<(char*)(_bstr_t)id;
              cout<<setw(14) <<(char*)(_bstr_t)name;
              cout.unsetf(ios::left);
              cout<<endl;
         }
         //移到下一条记录
         m_pRecordset->MoveNext();
    }
    // 关闭记录集
    m_pRecordset->Close();
 }
 // 捕捉异常
 catch(_com_error e)
{
      // 显示错误信息
      cerr<<"\nERROR:"<<(char*)e.Description();
 }
 ::CoUninitialize();
 return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值