使用ADO进行数据库编程:
1、建立一个基于对话框的工程,命名ADO。
2、在File View选项卡中打开Header Files文件夹,在stdafx.h中加入导入ADO类型库的语句。
3、初始化COM环境。在工程的工作区[Class View]选项卡中打开CADOAPP类,双击打开其中的InitInstance函数,加入CoInitialize(NULL);语句。
4、连接数据库,在OnInitDialog()函数中连接数据库输入如下的代码:
 HRESULT  hr;
try
 {      hr=m_pConnection.CreateInstance("ADODB.Connection");
 if(SUCCEEDED(hr))
 {
 hr=m_pConnection->Open(("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\example.mdb"),"","",adModeUnknown);
 }
 }
 catch(_com_error e)
 {      CString  errormessage;
 errormessage.Format("连接数据库失败!\r\n 错误信息:%s",e.ErrorMessage());
 AfxMessageBox(errormessage);
 }
以上这些都能运行通过,但自己做了一个增、删、改、查的对话框后,在对话框的增、删、改、查按钮里添加一些打开数据库表的代码,查询的功能代码,然后再关闭数据集和数据库,但这种程序结构运行老有错误,如果在增、删、改、查按钮里添加连接数据库、打开数据表和查询功能的代码,再关闭数据表,数据库,这些操作都在按钮里完成程序就能正常的执行。如果连接数据库放在初始化对话框里,打开数据表放在按钮里这样程序运行却通不过,总觉得把连接数据库、打开数据表以及查询功能代码都放在按钮里这种程序结构不太合理,在OnInitDialog()函数中连接数据库,然后在按钮里打开数据表这种程序结构觉得很好,但程序又不能正常执行,请问问题出在什么地方?