如题~各位大虾帮下忙吧~本人新手~最好举个例子说明下吧~谢谢~

解决方案 »

  1.   

    ADO访问数据库的基本步骤:(1)、引入ADO类 ,加到stdafx.h中#endif // _AFX_NO_AFXCMN_SUPPORT后面   
     
    #import "c:\program files\common files\system\ado\msado15.dll" \   
    no_namespace \   
    rename ("EOF", "adoEOF")   (2)、初始化COM (放在对话框初始化函数里面或者CXXXApp::InitInstance()中)
     
    在MFC中可以用AfxOleInit();非MFC环境中用:   
    CoInitialize(NULL);   (3)、包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr   (4)、连接数据库
    HRESULT hr;   
      try   
      {   
      hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象   
      if(SUCCEEDED(hr))   
      {   
      m_pConnection->ConnectionTimeout = 0;   
      hr = m_pConnection->Open( "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=127.0.0.1(本机)", "", "", adConnectUnspecified);   
        
      m_pCommand.CreateInstance(__uuidof(Command));   
      m_pCommand->CommandTimeout = 5;   
      m_pCommand->ActiveConnection = m_pConnection;   
      }   
      }   
      catch(_com_error e)///捕捉异常   
      {   
      CString errormessage;   
      errormessage.Format("连接数据库失败!\r\n错误信息:%s,%s",e.ErrorMessage(),e.Description());   
      AfxMessageBox(errormessage);///显示错误信息   
      }   
     
    (5)、打开记录集
    首先创建一个_RecordsetPtr实例,然后调用Open()得到一条SQL语句的执行结果   
    _RecordsetPtr m_pRecordset;   
    m_pRecordset.CreateInstance(__uuidof(Recordset));   
     
    // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,   
    // 因为它有时会经常出现一些意想不到的错误
    try   
    {   
      m_pRecordset->Open("SELECT * FROM DemoTable",// 查询DemoTable表中所有字段   
      m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针   
      adOpenDynamic,   
      adLockOptimistic,   
      adCmdText);   
    }   
    catch(_com_error *e)   
    {   
      AfxMessageBox(e->ErrorMessage());   
    }   ……
      

  2.   

    http://download.csdn.net/source/336070
      

  3.   


            CDatabase db;
    CString strSql;
    strSql.Format(TEXT("Driver=SQL Server;Server=%s;Database=%s;UID=%s;PWD=%s"),
    m_strDbAddress/*数据库服务器IP、域名或主机名*/,
    m_strDbName/*数据库名称*/,
    m_strAccount/*帐户名*/,
    m_strPassword/*数据库密码*/);
    try
    {
    if(0 == db.OpenEx(strSql,CDatabase::noOdbcDialog))
    {
    //error
    }
    }
    catch(CDBException *pe)
    {
    pe->ReportError();
    pe->Delete();
    }
      

  4.   

    http://wenku.baidu.com/view/a9a4446a011ca300a6c3909c.html
      

  5.   

    http://topic.csdn.net/u/20100429/11/a1a68cd2-d942-4f6b-b387-69a130ec5888.html