ADO操作步骤

//**************Stdafx.h
                // 加入ADO支持库
                #import "c:\program files\common files\system\ado\msado15.dll" \
                no_namespace \
                rename ("EOF", "adoEOF")

//**************ADOTest.h(CLADOTestApp)
                // 定义ADO连接变量指针
                _ConnectionPtr                 m_pConnection;

//*************CLADOTestApp::InitInstance()里添加
                // #########################################################################################
                // 初始化COM,创建ADO连接等操作
                AfxOleInit();
                m_pConnection.CreateInstance(__uuidof(Connection));

                // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
                // 因为它有时会经常出现一些想不到的错误。
                try                 
                {             
                              // 打开本地Access库Demo.mdb
                              //m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb","","",adModeUnknown);
                              m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb;User Id=;Password=","","",adModeUnknown);
                             
                }
                catch(_com_error e)
                {
                              AfxMessageBox("数据库连接失败,确认数据库Demo.mdb是否在当前路径下!");
                              return FALSE;
                }
                // #########################################################################################

//********添加虚函数:int CAdoRWAccessApp::ExitInstance()
                // 关闭ADO连接状态
                if(m_pConnection->State)
                              m_pConnection->Close();
                m_pConnection= NULL;

//**************LADOTestDlg.h(CLADOTestDlg)
                // 定义ADO连接、命令、记录集变量指针
                //_ConnectionPtr               m_pConnection;
                //_CommandPtr                  m_pCommand;
                _RecordsetPtr m_pRecordset;

//*************LADOTestDlg.cpp
extern CLADOTestApp theApp;        // 在此引用应用类中的theApp来获取库连接指针

//*************BOOL CLADOTestDlg::OnInitDialog()
                // 使用ADO创建数据库记录集
                m_pRecordset.CreateInstance(__uuidof(Recordset));

                // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
                // 因为它有时会经常出现一些想不到的错误。
                try
                {
                              m_pRecordset->Open("SELECT * FROM DemoTable",                 // 查询DemoTable表中所有字段
                                                                                     theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
                                                                                     adOpenDynamic,
                                                                                     adLockOptimistic,
                                                                                     adCmdText);
                }
                catch(_com_error *e)
                {
                              AfxMessageBox(e->ErrorMessage());
                }

//************

欢迎各位的到来,如有更多的疑问可以进入我们的BBS:www.supfar.com  远方新开的几个淘宝小店等待你的光临http://shop34969976.taobao.com
posted @ 2007-11-01 13:58  远方  阅读(222)  评论(0)    收藏  举报