zoukankan      html  css  js  c++  java
  • c++连接数据库代码

     万事开头难,任何一种新技术对于初学者来说最重要的还是“入门”,掌握其要点。让我们来看看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 FilesCommon FilesSystemADOmsado15.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<<" ---------- ";
        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<<" ERROR:"<<(char*)e.Description();
     }
     ::CoUninitialize();
     return 0;
    }

  • 相关阅读:
    Python---Flask--08--Flask-Ckeditor
    Python---Flask--07--SQLAlchemy基本关系
    Python---Flask--06--分页的实现
    Python---Flask--05--g对象和钩子函数
    maven项目管理构建
    POI 设置
    http状态码
    hibernate框架之-查询结果集返回类型
    Struts2框架之-注解开发
    Struts2框架之-Struts2的标签
  • 原文地址:https://www.cnblogs.com/htys/p/3425318.html
Copyright © 2011-2022 走看看