VFP CursorAdapter 起步二(作者:Doug Hennig 译者:fbilo)

VFP CursorAdapter 起步(作者Doug Hennig 译者fbilo) 可重用数据类 VFP 的程序员们想要一个可重用的数据类已经很久了。尽管在过去的版本中也有许多解决这个问题的办法,不过总是有点美中不足。现在在 VFP 8里,我们有了真正的可重用数据类。这个月,Doug 为我们演示了怎样通过建立 CursorAdapter 和 DataEnvironment 的子类来建立可重用的数据类、以及怎样在表单和报表中使用它们。 正文 ×× 在过去的两期杂志中,我们讨论了在 VFP 8 中新增的 CursorAdapter 基础类。我个人的观点是,这是 VFP 8 中最重要的改动之一 阅读详情

用 CursorAdapter 来取得和更新数据

在 VFP8 中新增的 CursorAdapter 基类提供一个统一、易用的数据接口。Doug Hennig 在这个月的文章中演示了怎样使用 CursorAdapter 来访问本地数据和 ODBC、ADO和XML这样的远程数据——讨论了使用各种数据源相应的特殊要求和实现途径。
正文:
如我在上一篇文章中所提到的那样,在VFP8中一个最重要的、也是最精彩的新功能是新的 CursorAdapter 基类。在那篇文章中,我们研究了一下 CursorAdapter 的属性、事件和方法,并讨论了它相对于远程视图、SQL PassThrough(SPT)、ADO和XML的优势。
在开始使用 CursorAdapter 之前,你需要根据要访问的是本地数据还是通过ODBC、ADO或者XML的远程数据源的不同,注意这个类所相应的不同的特殊要求。这个月的文章就讲述了使用各种数据源的细节。
使用本地数据源
×××××××
尽管我们很清楚 CursorAdapter 是试图用来标准化和简化对非VFP数据的访问方式的,不过你还是可以把它当作是 Cursor 的代替品用它来访问VFP数据:只要把它的 DataSourceType 属性设置成 "Native"。为什么要这么做呢?因为你的应用程序将来可能会需要升迁——那时候你就可以把 DataSourceType 属性设置成其它几个选项之一(当然可能还需要修改其它几个属性,例如设置连接信息等等),就能轻松的切换到另一种数据库引擎,例如SQL Server。
当 DataSourceType 属性的设置为 "Native" 的时候,VFP会忽略它的 DataSource属性。SelectCmd属性必须是一个 SQL Select 语句(而不是一个 USE 命令或表达式),这就意味着你用 CursorAdapter 不是直接操作本地表而是操作一个类似于本地视图那样的东西。你还必须确保VFP能够找到出现在那个 Select 语句中的任何表,因此,如果这些表不在当前路径中,那么你就需要设置一下路径或者打开这些表所属的数据库。此外,就跟用视图一样,如果你想让这个 Cursor 是可更新的,你还必须设置好那些与更新相关的属性(KeyFieldList、Tables、UpdatableFieldlist和 UpdateNameList)。
下面的例子(文章附件 NativeExample.prg)会用 VFP 示例数据库中的 Customer 表建立一个可更新的 Cursor:
local loCursor as CursorAdapter, laErrors[1]
Open database (_samples + \'data\\testdata\')
with loCursor
.Alias = \'customercursor\'
.DataSourceType = \'Native\'
.SelectCmd = "Select CUST_ID, COMPANY, CONTACT FROM CUSTOMER " + ;
"WHERE COUNTRY = \'Brazil\'"
.KeyFieldList = \'CUST_ID\'
.Tables = \'CUSTOMER\'
.UpdatableFieldList = \'CUST_ID, COMPANY, CONTACT\'
.UpdateNamelist = \'CUST_ID CUSTOMER.CUST_ID, \'+ ;
\'COMPANY CUSTOMER.COMPANY, CONTACT CUSTOMER.CONTACT\'
if .CursorFill()
browse
tableupdate(1)
else
aerror(laErrors)
messagebox(laErrors[2])
endif .CursorFill()
endwith
close databases all
使用 ODBC
×××××
ODBC 是 DataSourceType 属性四种设置中最简单的一种。把 DataSource 设置为一个打开了的 ODBC 连接句柄、设置一下常用的属性、然后调用 CursorFill 来取得数据。如果你设好了 KeyFieldList、Tables、UpdatableFieldList和 UpdateNameList属性,VFP 会自动把你对数据的任何改动转换成相应的 UPDATE、INSERT、和 DELETE 语句来把改动提交到后台数据源。如果你想用的是一个存储过程,那么要相应的设置 *Cmd、*CmdDataSource和 *CmdDataSourceType属性(* 代表 “Delete”、“Insert”或“Update”)。
这里是附件 ODBCExample.prg 中的一个例子,它调用 Sql Server 自带的 NorthWind 数据库中的 CustOrderHist 存储过程来取得销售给某个客户的单位产品总数。
local lcConnString, loCursor as CursorA

数据交换学习三:vfp表转换成xml再用asp.net读入dataset再写入数据库 *    创建username表并插入一些数据create table userinfo(用户名 c(10),密码 c(10),年龄 i)insert into userinfo values(胡书宾,1234576,24)insert into userinfo values(费青春,7777333,25)insert into userinfo values( 阅读详情

相关推荐

VFP SELECT 用法大补

SQL Select 命令是自 FoxPro 2.5 以来实现的嵌入式 SQL。一条合理的 SQL Select 命令对于数据的查询速度要远远快于 FoxPro 的过程性代码。ANSI/ISO 标准定义了 SQL Select 各子句的实现方式,因此 FoxPro 中写的 SQL 查询可以方便地移植到其它平台。自 FoxPro 2.5 以来,FoxPro 的内嵌式 SQL Select 命令的功能一直在增强。目前的 FoxPro SQL Select 命令支持空值(NULL),子查询,自身连接,合并,外连接等。本文将探讨如何利用 SQL Select 的强大功能和灵活性来减轻应用程序的开发工作量和增加应用程序的性能。

MSXML2.XMLHTTP中的 GET,POST方法的不同

<body MS_POSITIONING="GridLayout">   <form id="Form1" method="post" runat="server">    <asp:TextBox id="tbx_User"     onblur="checkNum(this)" runat="server">    <div id="msg">        <

yan0639的专栏 3767

VFP CursorAdapter 示例

VFP 通过CursorAdapter 连接access的各种方式

XMLHTTP对象及其方法

<br />XMLHTTP对象及其方法 <br />------------------ <br />MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务。   <br />创建XMLHTTP对象的语句如下:   <br />Set   objXML   =   CreateObject( "Msxml2.XMLHTTP ")   或 <br />Set   objXML   =   CreateObject(“Microsoft.XMLHTTP”

lionel1982的专栏 808

xmlHTTP技术资料

一、数据库远程管理技术基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理。但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用。 这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好。但如果使用的是第

Forekaztor's Folder 2799

VFP CursorAdapter 起步(作者Doug Hennig 译者fbilo)

CursorAdapter 类是 VFP 8 中最重要的新功能之一,因为它提供了一种简单易用、接口统一的访问远程数据源方式。在这个月的文章里,Dung Hennig 将向你展示 CursorAdapter 及它的工作方式。下个月,我们将再学习一些高级的用法。 正文: 越来越多的 VFP 程序员开始把他们的数据储存到象 SQL Server 或者 Oracle 这样的 VFP 表以外的数据仓库中去了。有许多原因导致了这种情况,包括 VFP 表的脆弱性(不管是想象中的还是确实如此)、安全性、数据库的容量、以及通

老瓷叙谈 993

在VF中像本地表一样使用ADO远程数据表 VF9.0中使用CursorAdapter更新数据

VF中,我们可以通过ADO来取得数据并且可以绑定到窗体上 但是ADO使用使用起来并不是那么方便,比如不能方便地插入,更新数据,而在VF的本地环境中,如果加载了数据环境 那么这一切就变得比较轻松了, 这里我们可以做使用VF自带的数据环境中的ADO的自动生成CursorAdapter 的向导来,为我们生成相关的代码,然后加以改造就可以了 生成的SCX文件用EditPlus或者UtlraEd...

weixin_30500105的博客 381

vfp数据库自动生成CursorAdapter类代码

CursorAdapter类无论是用vfp自带的生成器,还是自己写代码,都非常麻烦,并且,如果修改了数据库中的表,又得改写代码。所以,我就写了个根据数据库自动生成CursorAdapter类的代码。现奖代码贴在下面。 使用说明:参数为数据库名称。 LPARAMETERS dbcname Close Databases Open Database &dbcname Exclusive Dim

月沐庭轩vfp学习笔记 1496

在Visual FoxPro中创建Web服务

在Visual FoxPro中创建Web服务 注:该文章节选自作者的《Visual FoxPro程序设计参考手册》 创建一个Web服务是一个复杂的过程,这涉及到要使用Internet信息服务(IIS)、Visual FoxPro COM服务程序和简单对象访问协议(SOAP)。在这节中将结合上节中介绍的XMLAdapter和在20.4节中介绍的CursorAdapter来建立一个可以通过HTTP...

数据库天地 482

VFP访问外部数据源的几种方法

Visual FoxPro(以下简称VFP)是微软公司Visual系列开发工具中的一种。在VFP 6.0中,与外部数据源进行数据交换的方式有导入导出数据、远程视图、SQL Pass Through以及数据升迁等几种方式。其中,导入导出数据是完成对静态数据(或文本)的数据转换,而对动态数据源的访问则主要是使用Windows中的ODBC技术。本文介绍在设计客户/ 服务器体系结构的应用程序时,如何使

CSDN TERRYYRRET 的专栏 2202

新技能 MyBatis 千万数据表,快速分页!

来源:sf.gg/a/1190000022478915基本概念MyBatis 流式查询接口但构建 Cursor 的过程不简单方案一:SqlSessionFactory方案:Transa...

weixin_45727359的博客 2807

CursorAdapter

创建表的属性id必须是 _id

lei的博客 504

CursorAdapter说明

参考:http://www.bubuko.com/infodetail-734550.html和http://blog.csdn.net/yuzhiboyi/article/details/7654840 转载于:https://www.cnblogs.com/zhongyinghe/p/5710416.html

anmai7157的博客 112

VFP9 CA的新方法----RecordRefresh()

使用方法:RecordRefresh()里有2个参数1:nRecords表示要刷新几条记录2:nRecordOffset记录偏移量,指是当前记录开始+几条记录   VFP8时如果时候前台有1000条记录,但CursorRefresh()也全部来一遍, 而且记录指针总是在第一条?ok,现在有RecordRefresh()了它能做到是刷新你指定的一条或者几条记录,而且能保持当前记录指针不变.   这

shamihu的专栏 1920

vfp中一些语法、关键字和控件属性

1、vfp中controlsource,recordsource,rowsource分别什么意思?答:controlsource属性用来确定一个对象所绑定的数据源;一个对象所绑定的表或者视图可以为任意类型,包括本地visualfoxpro表,具有controlsource属性的对象有:checkbox、column、combobox、commandgroup、editbox、listbox、oleboundcontrol、optionbutton、optiongroup、spinner和textbox控件。

风无痕 1万+

VFP9中利用CA对远程数据的存取进行管理(一)

VFP对数据的存取多种多样,可直接使用本地表、本地视图、远程视图、以及SPT和ADO,这么多的数据源都有各自不同有用法,要想学会他们真要下一番苦功。本 人一直使用VFP开发程序,对这些东西也没有一个清晰的了解(太笨了),特别对远程数据进行访问时更是不知选什么好。 CursorAdapter既可以对本地数据进行存取,又可以对远程的不同类型的数据源进行存取,不需要关心数据源,只要对 CursorAdapter的属性进行适当的设置就可以了,甚至可以在程序中动态的对这些属性进行改变,从而达到更快速开发程序的.

加菲猫的VFP 644
上一篇: C# NPOI Excel 跨工作薄Workbook复制工作表Sheet
下一篇: VFP CursorAdapter 起步三(作者:Doug Hennig 译者:fbilo)
老瓷
博客等级 码龄21年 5粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值