打印本文 打印本文 关闭窗口 关闭窗口
VC下的ADO编程入门(2-4)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1800  更新时间:2009/4/23 10:49:55  文章录入:mintao  责任编辑:mintao

好了,现在我们正式进入本主题,Let''''s go

 

n          新建一个基于对话的应用程序zjy,在对话框上添加一个按钮和列表控件,并把列表控件的样式设置为报表视图,还有用classwizard给列表控件添加一个控件变量m_list

n          在StdAfx.h头文件中添加一条如下语句

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

n          在zjy.cpp开始处添加自动初始化COM库的代码

struct InitOle

{

         InitOle(){::CoInitialize(NULL);}

         ~InitOle(){::CoUninitialize();}

}_init_InitOle_;

n          在zjyDlg.h中添加三个成员变量

         bool m_IsConnectionOpen;

         _ConnectionPtr m_pConnection;

         _RecordsetPtr m_pRecordset;

n          在zjyDlg.cpp的BOOL CZjyDlg::OnInitDialog()的      return TRUE;前面添加如下代码

// TODO: Add extra initialization here

         HRESULT hr;

         _bstr_t bstrQuery("select * from customers");

         _bstr_t strConnect="Provider=SQLOLEDB; data source=127.0.0.1;initial catalog=Northwind;";

         _variant_t vRecsAffected(0L);

        

         _variant_t vNULL;

         vNULL.vt=VT_ERROR;

         vNULL.scode =DISP_E_PARAMNOTFOUND;

 

         try

         {

                   hr=m_pConnection.CreateInstance(__uuidof(Connection));

                   if(SUCCEEDED(hr))

                   {

                            hr=m_pConnection->Open(strConnect,_bstr_t(L"sa"),_bstr_t(L""),adConnectUnspecified);

                            if(SUCCEEDED(hr))

                            {

                                     hr=m_pRecordset.CreateInstance(__uuidof(Recordset));

                                     if(SUCCEEDED(hr))

                                     {

                                               m_pRecordset->PutRefActiveConnection(m_pConnection);

                                               hr=m_pRecordset->Open(_variant_t(bstrQuery),vNULL,adOpenDynamic,adLockOptimistic,adCmdText);

                                               if(SUCCEEDED(hr))

                                               {

                                                         m_IsConnectionOpen=true;

                                               }

                                     }

                            }

                   }

         }

         catch(_com_error &e)

         {

                   _bstr

[1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口