
第11章SQL视图、VFP8.0的 CursorAdapter和客户/服务器编程 11.1客户/服务器结构(Client/Server) 安装ODBC数据源: (I)转到Windows控制面板(Control Panel),并选oDBC图标。 (2)在数据源(Data Sources)对话框选添加(Add)。 (3)在添加数据源(Add Data Source)对话框选择SQL Server ODBC程序,并选确定(OK)。 (4)在ODBC SQL Server安装对话框,键入数据源名称(Data Source Name,例如:SQL2000)、说明(Description, 例如:SQL server Version2000)和其它合适的信息,然 后选确定。 (5)在数据源对话框选关闭(Close)
第11章 SQL视图、VFP8.0的 CursorAdapter和客户/服务器编程 11.1 客户/服务器结构(Client/Server) 安装ODBC数据源: (1)转到Windows控制面板(Control Panel),并选ODBC图标。 (2)在数据源(Data Sources)对话框选添加(Add)。 (3)在添加数据源(Add Data Source)对话框选择SQL Server ODBC程序,并选确定(OK)。 (4)在ODBC SQL Server安装对话框,键入数据源名称(Data Source Name,例如:SQL2000)、说明(Description, 例如:SQL server Version 2000)和其它合适的信息,然 后选确定。 (5)在数据源对话框选关闭(Close)

11.2创建和使用视图(SQL View) 一、本地视图和远程视图 远程视图:使用远程SQL句法从远程ODBC 数据源选择信息。 本地视图:使用VFP SQL句法从表或视图 选择信息
11.2 创建和使用视图(SQL View) 一、本地视图和远程视图 远程视图:使用远程SQL句法从远程ODBC 数据源选择信息。 本地视图:使用VFP SQL句法从表或视图 选择信息

数据库中使用的视图设计器与查询设计器基 本类似,不同点:视图不象查询,它是可修改 的,在SOL View中修改数据后,VFP会自动修 改与视图有关的基表(即视图建立在之上的表) 中的数据;视图只能作为数据库的一部分保存 下来而不是作为一个单独的文件(选择文件+保 存菜单项去存贮视图,视图名不能含路径),而 查询可以作为单独的QPR文件存贮;视图可以 包含远程服务器中的表,用户在自己的计算机 上所作的修改可以送回到服务器
数据库中使用的视图设计器与查询设计器基 本类似,不同点:视图不象查询,它是可修改 的,在SQL View中修改数据后,VFP会自动修 改与视图有关的基表(即视图建立在之上的表) 中的数据;视图只能作为数据库的一部分保存 下来而不是作为一个单独的文件(选择文件+保 存菜单项去存贮视图,视图名不能含路径),而 查询可以作为单独的QPR文件存贮;视图可以 包含远程服务器中的表,用户在自己的计算机 上所作的修改可以送回到服务器

创建本地视图(Local View) 为创建本地视图,可在菜单“文 件”(File)→“打开”(open),打开 一个 项目后在项目管理器(Project Manager) 选择一个数据库(Database),然后选本 地视图(Local View),再选“新 建”(New)去打开视图设计器(View Designer);或者使用CREATE SQL VIEW命令带AS子句
二、创建本地视图(Local View) 为创建本地视图,可在菜单“文 件”(File)→“打开”(open),打开一个 项目后在项目管理器(Project Manager) 选择一个数据库(Database),然后选本 地视图(Local View),再选“新 建”(New)去打开视图设计器(View Designer);或者使用CREATE SQL VIEW命令带AS子句

例11.2:建立一个包括Products表中全部字段 的视图: CREATE SQL VIEW Product View As; SELECT FROM testdata!products
例11.2:建立一个包括Products表中全部字段 的视图: CREATE SQL VIEW Product_View As; SELECT * FROM testdata!products

创建多表视图 用户若想访问存贮在两个或更多的表中 的相关信息时,可创建多表视图。在用视 图设计器创建一个视图时,添加多个表, 或者用CREATE SQL VIEW命令能建立多 表视图。通过修改已存在的视图或通过创 建新视图,创建多表视图
三、创建多表视图 用户若想访问存贮在两个或更多的表中 的相关信息时,可创建多表视图。在用视 图设计器创建一个视图时,添加多个表, 或者用CREATE SQL VIEW命令能建立多 表视图。通过修改已存在的视图或通过创 建新视图,创建多表视图

1.修改一个视图 例11.3:用程序码在视图设计器中显示 Product_view视图: OPEN DATABASE testdata MODIFY VIEW Product view
1.修改一个视图 例11.3:用程序码在视图设计器中显示 Product_view视图: OPEN DATABASE testdata MODIFY VIEW Product_view

卫用语言创建一个多表视图 1)在WHERE子句中使用联接条件 例11.4:,如果想知道订单的信息,包括接收订单雇员和发 出订单顾客的信息,可建立二个使用Customer Orders和Employee表的视图,用NHERE子句指出连 接条件(即视图中只包含满足此条件的记录)。 OPEN DATABASE testdata CREATE SQL VIEW cust_order_emp_wiew AS; SELECT * FROM testdata!customer,testdata!orders,testdata!emp oyee; WHERE customer.cust id=orders.cust id; .AND.employee.emp_id=orders.emp_id
2.用语言创建一个多表视图 (1)在WHERE子句中使用联接条件 例11.4:如果想知道订单的信息,包括接收订单雇员和发 出订单顾客的信息,可建立一个使用Customer、 Orders和Employee表的视图,用WHERE子句指出连 接条件(即视图中只包含满足此条件的记录)。 OPEN DATABASE testdata CREATE SQL VIEW cust_order_emp_wiew AS; SELECT *; FROM testdata!customer,testdata!orders,testdata!emp oyee; WHERE customer.cust_id=orders.cust_id; .AND. employee.emp_id=orders.emp_id

(2)用FROM子句指定视图的联接条件 例11.5: OPEN DATABASE testdata CREATE SQL VIEW cust orders view AS: SELECT FROM testdata!customer; INNER JOIN testdata!orders; ON customer.cust id=orders.cust id 例11.6: OPEN DATABASE testdata CREATE SQL VIEW cust orders_view AS; SELECT FROM testdata!customer; LEFT OUTER JOIN TESTDATA!Orders; ON customer.cust id=order.cust id
(2)用FROM子句指定视图的联接条件 例11.5: OPEN DATABASE testdata CREATE SQL VIEW cust_ orders_ view AS; SELECT * FROM testdata! customer; INNER JOIN testdata! orders; ON customer.cust_id=orders.cust_id 例11.6: OPEN DATABASE testdata CREATE SQL VIEW cust_orders_view AS; SELECT * FROM testdata! customer; LEFT OUTER JOIN TESTDATA! Orders; ON customer.cust_id=order.cust_id

11.2.3定义一个连接(Connection) 直定义一个连接(Connection) 可采用如下方法之一: (1)在项目管理器数据库(Database)列表中, 选择连接(Connection),然后选“新 建”(New)去打开连接设计器(Connection Designer)。 (2)或,打开一个数据库,并使用CREATE CONNECTION命令去打开连接设计器。 (3)或,使用带有一个连接名字的CREAT CONNECTION命令去打开连接设计器
11.2.3 定义一个连接(Connection) 1.定义一个连接(Connection) 可采用如下方法之一: (1)在项目管理器数据库(Database)列表中, 选择连接(Connection),然后选“新 建”(New)去打开连接设计器(Connection Designer)。 (2)或,打开一个数据库,并使用CREATE CONNECTION命令去打开连接设计器。 (3)或,使用带有一个连接名字的CREAT CONNECTION命令去打开连接设计器