先做个介绍吧!
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
猫猫的心里话
加菲猫的VFP|狐友会社群接收投稿啦
加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。
商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。
暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。
如何帮助使用VFP的人?
用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。
我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。
加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"。
我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。
2025年狐友会社群会员继续招募中
社群会员获取的权益有:
祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。
开放的录播课程有:
微信小程序,微信公众号开发,H5 APP开发,Extjs BS开发,VFP面向对象进阶,VFP中间层开发。
源码类资源有:
支付组件源码,短信源码,权限组件源码,一些完整系统的源码。这个可以单独出售的,需要的可以联系我。
会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务