ieldValue = (LPVARIANT)covFieldValue;
Holder.Format("%s",vFieldValue->pbVal);
m_List.AddString(Holder);
另外在编写程序时要用try 和catch,否则ADO 调用错误有可能使程序崩溃,一定要随
时记得捕捉_com_error 例外以及其他错误。
此外,在第2 节介绍如何设置ODBC 数据源时提到了利用COM 组件DataSourceLocator,
用户可以在程序运行的过程中动态设置数据源。至于如何利用此组件,将在程序中详细说明。
下面具体介绍该程序的编写过程。
1.创建工程
新建一个MFC 工程,取名为AdoTest,在第一步中选择单文档,在最后一步的基类选择
CFormView,分别如图12-20 和图12-21 所示。
图12-20 单文档工程 图12-21 基类选择CFormView 类
2.链入ADO 库文件
在文件“stdafx.h”中加入如下语句:
#import "C:\Program Files\Common Files\system\ole db\oledb32.dll" no_ncomspace
#import "c:\program files\common files\system\ado\msado15.dll" no_ncomspace rencom("EOF", "adoEOF")
加入第二个语句前面已经讲过原因,加入第一个语句是由于在程序中将要采用COM 组
件DataSourceLocator。这里需要注意一点,两个import 语句中都用了no_ncomspace,当引入
枫叶文学网www.fywxw.com
第12 章 数据库开发
·357·
多个库时,可能会引起名字的冲突。不过由于本程序较小,且只有两个库,所以在这里用
no_ncomspace 也可以。
3.界面设计
在显示数据库内容时,可以利用ActiveX 控件DataGrid Control,将会大大简化编码的工
作。至于如何做,下面的程序中进行介绍。通过单击“Project”“Add To Project”“Components
and Controls”,弹出如图12-22 所示的对话框,在此对话框中打开“Registered ActiveX Controls”
文件夹,然后选中“Microsoft DataGrid Control, Version 6.0(OLEDB)”,如图12-23 所示。单
击“Insert”按钮,在弹出的确认对话框中单击“确定”按钮,然后在弹出的“Confirm Classes”
对话框中取默认值,如图12-24 所示,单击“OK”按钮返回“Components and Controls Gallery”
对话框,单击“Close”按钮即可将DataGrid Control 加入到工程中。
图12-22 添加组件及控件对话框
图12-23 添加DataGrid 控件对话框