精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源心得,转载请注明出处:锐英源,www.wisestudy.cn,孙老师作品,联系电话13803810136。
ADO做为数据库访问平台,推出的比较晚,优势比较明显,在VC++编程访问数据库时,经常用到它。大家在使用ADO时,可能会觉得ADO的数据库集类不能绑定表的字段,不能形成字段成员,觉得用着麻烦,这个小工具就是解决这个问题的。
初始化方法请参考注意事项。
⑴选择数据源
如图,点击选择数据源按钮后, OLE DB数据源对话框弹出,选择提供者,确定Data Source,修改一些细节后,按确定按钮,数据源就会保存。在生成的代码中,连接的属性就是这个数据源的属性。
⑵选择哪些表需要生成头文件
中间八个按钮分别是(依上下顺序):表全选、表选择一个、表全删除、表删除一个、字段全选择、字段选择一个、字段全删除和字段删除一个。
⑶选择目标工程。
点击选择工程按钮,弹出文件选择对话框,选择你的目标工程文件 (*.dsp)。选择完成后,程序会把生成结果文件放到这个工程文件所在的目录内。
内容有: A、 以ADOSetBase_打头的文件 B、 adobaserecordset.h文件
方法如下: Project->Add to Project->Files,上面是菜单选择顺序;对话框弹出后,请选择上述文件。 4、 把添加到工程目录中的adolib.lib加到工程中 方法如下: Project->Setting->Link页,在这个页面中有一个项目:Object/Modul,请在这个项目里输 入:adolib.lib。
因为软件使用了 CoCreateInstance来生成基于COM的ADO接口,在应用启动时必须对COM使用进行合法的初始化,方法有两个:
a、 用CoInitializeEx或CoInitialize来对线程进行初始化;这种方法比较复杂,不推荐使用。例子如下:
//App的InitInstance函数
::CoInitialize(NULL);
使用这个函数时,还需要使用CoUnintialize()来进行反初始化。
b、用AfxOleInit初始化,这个函数对COM的扩展功能支持的不是太好,但对于程序使用软件已经够用了。
if (!AfxOleInit())
{ AfxMessageBox("OLE初始化不成功");
return FALSE;
}
因为VC不支持中文文件名,所以请不要把表名设置为汉字。
3、 字段名空格问题
因为生成的类的名称和表名有部分是相同的,如果表名中使用了空格则生成的类在编译时不能通过。
4、 中文字段名的问题
因为VC不支持中文,所以请不要把字段名设置为中文。
5、 在把adolib.lib加入到工程中后,如果你当时的工程是Debug版本,在连接时会报警告错误,请不要理会,这个错误不影响使用。
2001-09-15 升级到1.1版本
这个版本称作 1.1版本,增加了对WIN 2000下SQL Server 2000和Oracle的支持; 这个版本的引擎改为了OLE DB,所以可靠性和支持的广泛性均有很大增加; 另外修改了一些小Bug;
2001-10-27
在使用 SQL SERVER 2000数据库时,请在连接框中选择一个具体的数据库,最好是你创建的数据库,不要选择系统数据库。在选择系统数据库时,会有一些表读出不正确,但是对于 读出正确的表还是可以生成基类的。 在完成生成一个数据库的基类后,最好重新启动系统。