C++通過ADO串連ACCESS(或者SQL Server)資料庫例子

來源:互聯網
上載者:User

#include "iostream.h"
#include "stdio.h"
#import "C:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
int main(int argc, char* argv[])
{
   ::CoInitialize(NULL);
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance("ADODB.Connection");
try               
    {
   m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database//mydb.mdb","","",adModeUnknown);

//m_pConnection->Open("Server=192.168.0.150,1433;uid=sa;pwd=123456;DATABASE=temp;Provider=SQLOLEDB;","","",-1);//串連SQL Server
}
catch(_com_error e)
{
        cout<<"資料庫連接失敗,確認資料庫mydb.mdb是否在當前路徑下!"<<endl;
   return FALSE;
    }
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Recordset");
try
    {  
        m_pRecordset->Open("SELECT * FROM test",
   m_pConnection.GetInterfacePtr(),
   adOpenDynamic,
   adLockOptimistic,
   adCmdText);
}
catch(_com_error *e)
    {
        cout<<e->ErrorMessage()<<endl;
    }  

    _variant_t var;
    char *ID,*name;

    try
    {
        if(!m_pRecordset->BOF)
            m_pRecordset->MoveFirst();
        else {
            cout<<"表內資料為空白"<<endl;
    return 1;
    }
   while(!m_pRecordset->adoEOF)
        {
            var = m_pRecordset->GetCollect("ID");
            if(var.vt != VT_NULL)
                ID= _com_util::ConvertBSTRToString((_bstr_t)var);
           
    var = m_pRecordset->GetCollect("name");
            if(var.vt != VT_NULL)
                name=_com_util::ConvertBSTRToString((_bstr_t)var);
   
            cout<<ID<<" is "<<name<<endl;
            m_pRecordset->MoveNext();
        }
    }
    catch(_com_error *e)
    {
        cout<<e->ErrorMessage()<<endl;
}
     m_pRecordset->Close();
   m_pRecordset = NULL;  
    if(m_pConnection->State)
   m_pConnection->Close();
    m_pConnection= NULL;
return 0;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.