2023年8月3日发(作者:)
摘要:远程视图是Visual Foxpro 5.0 中开发Client/Server 应⽤系统的基础,本⽂⾸先介绍了远程视图有关参数的放置技巧,然后介绍如何去设计、使⽤远程视图,最后讨论了使⽤远程视图的四个实际问题。 ⼀、绪论 VFP 是⼀种较好的客户/ 服务器应⽤系统开发⼯具,⽤VFP 开发C/S 系统的关键是如何访问远程数据( 远程服务器中的Table/View)。可以使⽤VFP 提供的SQL Pass-Through 函数访问远程数据,但最常⽤的⽅法是使⽤远程视图(Remote View)去访问远程数据。本⽂结合本⼈的使⽤经验对远程视图的使⽤技巧加以介绍。 ⼆、远程视图的环境设置 在设计远程视图时,需要对远程视图的有关环境信息进⾏设置。使⽤Tools 菜单中的 选项来设置Remote Data选项。其选项设置说明如下: *Share Connection: 指出今后设计的远程视图是否使⽤共享连接。使⽤共享连接可⼤⼤减少数据库服务器中客户访问许可数,但会影响客户机的访问速度。 *SQL Updates/Criteria: 指出对后台数据进⾏update 操作的条件。 它有四种可能: ①Key Field only ②Key and Updatable Fields ③Key and Modified Fields ④Key and Time Stamp。 ⼀般选择③较合适。 *SQL Updates/Method: 指出对后台数据的更新⽅法。 它有两种选择:①SQL Delete then Insert ②SQL update。 ⼀般选择②⽐较合适。 *Connection Defaults: 主要⽤于SQL Pass-Through 函数访问远程数据,对于远程视图则不需要放置。 三、远程视图的设计 有两种⽅法设计远程视图,⼀是使⽤View Designer;⼆是使⽤SQL 语句。⽤View Designer 可设计较为简单的视图,⽽使⽤SQL 的Create Remote View 语句则可进⾏复杂视图的设计。如果试图去⽤View Designer 观察或修改( ⽤Create 创建的视图) 则极有可能被破坏它( 例如:若创建视图的Select 语句中含有exists ⼦句, 则⼀定会被破坏!) 1. ⽤Create 命令设计 例如:假定连接名为WYFconnect,两个远程表为SealList 和ShipList. Create 命令可如下: CREATE SQL VIEW ViewTest REMOTE CONNECTION WYFconnect AS SELECT SealList.* FROM SealList, ShipListWHERE SealList IS NOT NULL AND SealList AND 箱号NOT IN (SELECT 箱号FROM ShipList WHERE ShipList. 箱号ISNOT NULL AND ShipList. 船名=SealList. 船名 使⽤该⽅法可以在程序中动态地构造满⾜不同条件的远程视图(View Designer 不能构造带参数的远程视图)。例如:设me 为⼀可变内存变量,其创建语句为: CREATE SQL VIEW ViewTest REMOTE CONNECTION WYFconnect AS SELECT * FROM SealList WHERE 船名=me. 2. ⽤View Designer 设计 启动View Designer 选择连接名后出现设计图, 在其上部可以加⼊远程服务器中的表或视图,在其下部进⾏参数/ 条件设置: *Select Criteria: 设置远程数据值上的记录必须满⾜的条件,类似于下SQL Select 语句中的Where ⼦句。在这⾥可以构造复杂条件,但条件中使⽤的函数和语法规则必须是后台数据库⽀持的,例如:不能使⽤DTOC( ⽇期)=‘90/01/01’,⽽必须使⽤Convert(char(10), ⽇期)=‘90/01/01’, 因为后台数据库不⽀持DTOC() 函数。 *Fields: 选择结果集中的字段,在这⾥要强调的是Function/Expression 的使⽤,使⽤它可构造出与源表字段不同的字段,如:T. 船名+‘’+T. 中⽂AS 船舶。实践证明Function/Expression 中不能使⽤双引号,⽽只能使⽤单引号。 *Order by 和Group by: 对结果分组、分类。要求符合后台数据库所⽀持的SQL 语法。 *Update Criteria: 设置视图的有关替换参数, 具体如下: ①要选中Send SQL Update ②SQL where ⼀般选择Key and Modify Fields ③Update Using ⼀般选择SQL Update ④务请选择关键字段和可更改字段( 在钥匙符号下⾯和铅笔符号下⾯加“√”),否则将⽆法正确完成Insert/update 功能
2023年8月3日发(作者:)
摘要:远程视图是Visual Foxpro 5.0 中开发Client/Server 应⽤系统的基础,本⽂⾸先介绍了远程视图有关参数的放置技巧,然后介绍如何去设计、使⽤远程视图,最后讨论了使⽤远程视图的四个实际问题。 ⼀、绪论 VFP 是⼀种较好的客户/ 服务器应⽤系统开发⼯具,⽤VFP 开发C/S 系统的关键是如何访问远程数据( 远程服务器中的Table/View)。可以使⽤VFP 提供的SQL Pass-Through 函数访问远程数据,但最常⽤的⽅法是使⽤远程视图(Remote View)去访问远程数据。本⽂结合本⼈的使⽤经验对远程视图的使⽤技巧加以介绍。 ⼆、远程视图的环境设置 在设计远程视图时,需要对远程视图的有关环境信息进⾏设置。使⽤Tools 菜单中的 选项来设置Remote Data选项。其选项设置说明如下: *Share Connection: 指出今后设计的远程视图是否使⽤共享连接。使⽤共享连接可⼤⼤减少数据库服务器中客户访问许可数,但会影响客户机的访问速度。 *SQL Updates/Criteria: 指出对后台数据进⾏update 操作的条件。 它有四种可能: ①Key Field only ②Key and Updatable Fields ③Key and Modified Fields ④Key and Time Stamp。 ⼀般选择③较合适。 *SQL Updates/Method: 指出对后台数据的更新⽅法。 它有两种选择:①SQL Delete then Insert ②SQL update。 ⼀般选择②⽐较合适。 *Connection Defaults: 主要⽤于SQL Pass-Through 函数访问远程数据,对于远程视图则不需要放置。 三、远程视图的设计 有两种⽅法设计远程视图,⼀是使⽤View Designer;⼆是使⽤SQL 语句。⽤View Designer 可设计较为简单的视图,⽽使⽤SQL 的Create Remote View 语句则可进⾏复杂视图的设计。如果试图去⽤View Designer 观察或修改( ⽤Create 创建的视图) 则极有可能被破坏它( 例如:若创建视图的Select 语句中含有exists ⼦句, 则⼀定会被破坏!) 1. ⽤Create 命令设计 例如:假定连接名为WYFconnect,两个远程表为SealList 和ShipList. Create 命令可如下: CREATE SQL VIEW ViewTest REMOTE CONNECTION WYFconnect AS SELECT SealList.* FROM SealList, ShipListWHERE SealList IS NOT NULL AND SealList AND 箱号NOT IN (SELECT 箱号FROM ShipList WHERE ShipList. 箱号ISNOT NULL AND ShipList. 船名=SealList. 船名 使⽤该⽅法可以在程序中动态地构造满⾜不同条件的远程视图(View Designer 不能构造带参数的远程视图)。例如:设me 为⼀可变内存变量,其创建语句为: CREATE SQL VIEW ViewTest REMOTE CONNECTION WYFconnect AS SELECT * FROM SealList WHERE 船名=me. 2. ⽤View Designer 设计 启动View Designer 选择连接名后出现设计图, 在其上部可以加⼊远程服务器中的表或视图,在其下部进⾏参数/ 条件设置: *Select Criteria: 设置远程数据值上的记录必须满⾜的条件,类似于下SQL Select 语句中的Where ⼦句。在这⾥可以构造复杂条件,但条件中使⽤的函数和语法规则必须是后台数据库⽀持的,例如:不能使⽤DTOC( ⽇期)=‘90/01/01’,⽽必须使⽤Convert(char(10), ⽇期)=‘90/01/01’, 因为后台数据库不⽀持DTOC() 函数。 *Fields: 选择结果集中的字段,在这⾥要强调的是Function/Expression 的使⽤,使⽤它可构造出与源表字段不同的字段,如:T. 船名+‘’+T. 中⽂AS 船舶。实践证明Function/Expression 中不能使⽤双引号,⽽只能使⽤单引号。 *Order by 和Group by: 对结果分组、分类。要求符合后台数据库所⽀持的SQL 语法。 *Update Criteria: 设置视图的有关替换参数, 具体如下: ①要选中Send SQL Update ②SQL where ⼀般选择Key and Modify Fields ③Update Using ⼀般选择SQL Update ④务请选择关键字段和可更改字段( 在钥匙符号下⾯和铅笔符号下⾯加“√”),否则将⽆法正确完成Insert/update 功能
发布评论