网络开发 调用API函数 报表打印 常用技术 经验汇总 控件使用 软件工程 数据处理
您的位置:首页 >> vfp教程 >> 网上文摘 >> 网络开发 >> 正文

VFP和ADO、ODBC
作者:buffer

OLE DB和ODBC是微软开发的数据库连接处理技术. OLE DB是新一代技术, ODBC属于要微软很快要淘汰(不支持)的产品. 而ADO (ActiveX Data Object)是建立在OLE DB技术上的数据对象, 它主要特点是:

1. 是连接各种不同数据(关系数据库,大型数据库,文件系统,Email服务器,文本文件...)的统一界面.
用户不用接触低层的OLE DB,而ODBC只能连接关系数据库.

2. ADO属于微软极力推行的COM概念, 即ADO几乎可以在任何微软产品里使用 (VFP,VB, VC, VJ,
Office, Visual Interdev, Frontpage). 其使用方式,命令几乎都是一样. (个人推测,微软正试图将所有编程工具往一起集成)

3. OLE DB远程数据处理功能很强. 用RDO使网站动态数据传送变得非常简单.

在VFP里用ADO有什么优缺点?
在VFP里,几乎所有东西都是Object, 只有3个例外: 报表,数据,菜单.
Object的好处大家都很清楚,可以把属性,方法,事件和一个Object捆在一块.
而ADO就是把数据变成了Object, 在ADO里, 连接,SQL命令,记录集,记录,字段等都是Object.
比如有个记录集(Recordset)RS1, 可以通过它的Count属性得到记录总数, 用MoveFirst, MoveNext等方法移动记录, 用Update方法更新.

当然ADO的这些功能都能用相应的VFP命令来实现,但有一个功能是VFP的练门:
VFP的方法,表单或者进程之间不能传递整块的数据(比如一个临时表或者几个记录), 这在
使用COM或者远程数据时就成为很大缺陷了.
而ADO是一个Object,很容易传送,就象传送一个变量一样. 在 2-Tier或者3-Tier系统里,这是
至关重要的. 比如在ASP里可以直接调用VFP编的COM Object来进行数据处理, 然后返回
一个记录集Object. ASP里的控件可以直接和该记录集绑定来显示数据.

OLE DB和ODBC核心引擎都是VFP的Cursor技术,所以,用VFP处理数据是最快和最直接的,
通过ADO来处理,就等于另加了一个层次,既多消耗系统资源,速度也比不上VFP. 而且ADO的记录集是一个Object,你就不能象在VFP里那样直接用Browse等命令来浏览所有数据.

有人做过测试, 对用ADO的ASP网页和用 Westwind的纯VFP网页(用VFP作为Script语言)技术进行比较, VFP速度至少是ASP速度的5倍. 当然ASP慢,不全是数据连接慢, 可能是因为集成的东西太多.

说得有点乱, 但结论可以这么下:
如果用VFP编COM组件,或做3 -Tier的中间层, 用ADO比较方便.
如果只用VFP做数据处理, 或者你是FoxPro编程老手,就没必要使用ADO.

一己之见, 请有兴趣者发表意见

[返回]

     

首页 | 设为首页 | 加入收藏 | 关于本站 | 友情链接 | 版权声明

     
 
Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved
吉ICP备06005558号