帮忙调试下这个程序 谢谢。。。

本文介绍了一个使用Visual Studio 2005和SQL Server 2000环境下通过ADO组件进行数据库访问的C++示例程序。该程序展示了如何建立数据库连接、执行查询并获取结果集。

//运行环境 VS2005 数据库 sql2000

// DAO.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
  #include   <string>  
  #include   <iostream>  
  using   namespace   std;  
  #import   "C:\Program Files\Common Files\System\ado\msado15.dll"   no_namespace   rename("EOF","adoEOF")  
   
   
  int   main(int   argc,   char*   argv[])  
  {  
        _ConnectionPtr   pConn=NULL;  
        _RecordsetPtr   pRss=NULL;  
        _variant_t   i_code;  
        _variant_t   beg_date;  
        _variant_t   end_date;  
        _variant_t   sw_total_stock;  
        _variant_t   sw_publish_stock;  
        string   m_str_i_code;  
        string   m_str_beg_date;  
        string   m_str_end_date;  
        string   m_str_total_stock;  
        string   m_str_publish_stock;  
        _bstr_t   strConn,strSQL;  
        HRESULT   hr;          
   
        ::CoInitialize(NULL);  
       
        try  
        {  
   strConn="Provider=SQLOLEDB;Server=(local);DATABASE=Northwind;UID=sa;PWD=";  
   strSQL="select * from Products";  
   
   hr=pConn.CreateInstance(__uuidof(Connection));  
   if(SUCCEEDED(hr))  
   {        
    if(pConn->GetState()==adStateClosed)  
    {  
     pConn->Open(strConn,"","",adModeUnknown);  
    }  
    pRss.CreateInstance(__uuidof(Recordset));  
    if(pRss->GetState()==adStateClosed)  
    pRss->Open(strSQL,pConn.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);  
                 
    while(!pRss->adoEOF)  
    {  
     i_code=pRss->GetCollect("ProductName");  

     m_str_i_code=(string)(char*)(_bstr_t)i_code;  

     cout<<m_str_i_code<<endl;  
     pRss->MoveNext();  
     
    }  
   }  
           
         
        }  
        catch(_com_error*   e)  
        {  
            cout<<e->ErrorMessage()<<endl;  
            cout<<"数据库连接失败,请检查错误!";  
        }  
      try  
      {  
        pRss->Close();  
        pRss=NULL;  
        //pRss->Release();  
        pConn->Close();  
        pConn=NULL;  
        //pConn->Release();  
        ::CoUninitialize();  
      }  
      catch(_com_error   &e)  
      {  
          cout<<e.ErrorMessage()<<endl;  
      }  
   
        return   0;  
  }  

转载于:https://www.cnblogs.com/magic0123/archive/2010/01/24/1655234.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值