CursorAdapter既可以对本地数据进行存取,又可以对远程的不同类型的数据源进行存取,不需要关心数据源,只要对 CursorAdapter的属性进行适当的设置就可以了,甚至可以在程序中动态的对这些属性进行改变,从而达到更快速开发程序的目的,这在以前的版本中简直不可想象,感谢VFP的开发者们为我们提供了CursorAdapter类。
CursorAdapter可以使用如下四种数据源来对本地和远程数据进行控制:
1、Native
2、Open Database Connectivity (ODBC)
3、ActiveX Data Object (ADO)
4、Extensible Markup Language (XML)
CursorAdapter对不同类型的数据源的支持进行了扩展,以使其转换为一个临时表(CURSOR)。CursorAdapter对象具有如下的功能:
1、 可以动态地使用不同的数据源
2、 既可以使用CursorAdapter对象的数据源,也可以使用数据环境的数据源,只需简单的对CursorAdapter的UseDeDateSource进行正确的设置就可以了。
3、 在数据源本身技术限制的范围内对数据源进行共享。
4、 对与CursorAdapter相关联的临时表(CURSOR)的结构可以有选择地进行定义。
5、 通过设置一些属性,可以控制从数据源到CURSOR的数据载入方式,这些属性有:Fetchsiz,maxrecords,fetchasneeds,nodate,fetchmemo,mapvarchar….等。
6、 基于数据源的类型设置,可以从不同的数据源中向CURSOR中提供数据。
7、 通过对CursorAdapter对象的属性和方法进行设置,可以控制数据的插入、更新和删除的方式,可以有自动与程序控制两种方式。
8、 可以把CursorAdapter对象添加到容器中而不是数据环境中,比如:表单集、表单、和其它的容器中。
9、 不需要与数据环境关联而把CursorAdapter类作为一个独立的类来使用。
相对于CursorAdapter对象来说,数据源只是数据传输层面中的一个管道,用它来从数据源中提取数据传送到CURSOR中。VFP9不支持CursorAdapter对象之间建立关联,但是可以使用与CursorAdapter关联的临时表(CURSOR)来建立关联。
数据的更新
使用TABLEUPDATE() 和 TABLEREVERT( )函数进行更新
CursorAdapter 对象可以很好地使用TABLEUPDATE( ) 和 TABLEREVERT( )函数进行工作,通过使用与CursorAdapter相关联的临时表来执行相应的更新与还原命令。注意:VFP9中在TABLEUPDATE( )执行期间不能执行TABLEREVERT( )。
自动更新与CursorAdapter
对于本地和远程视图,VFP可以自动产生INSERT、UPDATE、DELETE命令来执行自动更新,对于CursorAdapter对象,可以按要求的方式来决定怎样生成这些命令。
当CursorAdapter的InsertCmd、UpdateCmd和DeleteCmd属性为空时,VFP自动生成这些相关的SQL命令,你必须判定这些自动生成的SQL命令是 否与你正在使用的数据源相适应。为确保自动生成这些SQL命令,必须正确设置如下的CursorAdapter属性:
. Tables
. KeyFieldList
. UpdatableFieldList
. UpdateNameList
猫言猫语:
因为CursorAdapter也是有句柄,SPT可以与CursorAdapter 的共用句柄,之后的事务处理就可以同时控制了。
最近在尝试做视频号,请大家多多点赞,我需要大家的鼓励。
写在最后面的话
加菲猫的VFP公众号接受投稿,一经采用,即有稿费,稿费暂定50元一篇。
加菲猫的vfp倡导用VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发。
已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。