VFP开发Server Client系统

2026/4/24 2:10:17

用VFP开发C/S系统

开发C/S 模式系统,常用DELPHI、VB、PB等数据库开发平台。 其实,用VFP开发C/S系统完全适用。 一. 建立数据库、建立ODBC 数据源

C/S 模式(主从结构)最大优点:将工作合理分配于Server与Client,以便让它们同时发挥所长。 C/S结构包括三部分-网络操作系统、数据库服务器 及前端应用程序。 我们可用VFP + SQL Server + Windows Server 组合方式。

首先,在SQL Server上建立数据库,如:Ningguo ,并创建表,如maintable等,同时,创建一个SQL Server数据库用户如:newguest。

在前台的Client上,建立连接到SQL Server的ODBC 数据源(Data Source), 如 新建数据源first,连接到 SQL Server 上的数据库Ningguo。

二.建立和数据库相连的连接

进入VFP。在VFP开发C/S结构中,远程视图(Remote View)扮演关键角色。

建立远程视图前,须在数据库中建立一个连接(Connection),它记录着登入SQL Server 的相关信息:数据源、用户、密码、数据库名称等,然后,验证连接。

当然,也可用函数建立连接,如:

connect1=SQLSTRINGCONNECT(\

connect2=SQLSTRINGCONNECT(\

ter;LANGUAGE=简体中文\

在某些情况下,程序执行期间,如需更改连接的属性设定,可用DBSETPROP()函数, DBSETPROP()函数,用于更改当前数据库、连接、表、视图、字段 的属性。 如更改connect2 连接串,可用如下命令: OPEN DATABASE test

dbsetprop(\ 备注:函数dbsetprop ()的Syntax语法

dbsetprop (cName, cType, cProperty, ePropertyValue)

三.建立远程视图

建立连接成功后,可建立远程视图。可用视图向导建立视图,也可用命令建立视图。

可用数据源、或连接来创建远程视图:所需字段、键值、联接条件、筛选条件、排序、分组、更新条件、更新方

式分别设置。

VFP中数据类型与SQL Server数据类型不尽相同,不过,有固定关系。 如,SQL的money类型 ,视图中是货币值类型, 又如,SQL的text类型,视图中是备注型,

需要手动调节的类型,如,SQL的datetime类型,视图中要变成 date 型。 特别要注意:

在\更新页面\栏,如要建立可更新视图,须选中\发送SQL更新\栏。

这样,视图任何变动,会主动反映到后端SQL Server 中,就可以用VFP更新后端数据。 远程视图建成,就可以显示、更新数据。

远程视图与表一样,即使其来源于SQL Server 中,可以建立输出、输出界面、报表及标签。 在表单设计、报表设计、标签设计中,将远程视图加至数据环境中,并快速建立数据源字段控制项。

\有条件远程视图\、“离线式视图(Off-line View)”可减少服务器端数据下载量,减轻网络负荷,一些不常更新的数据甚至可以DBF形式直接放置在客户端,提高整个系统的运行效率。

四.SQL Pass-Through (SPT) 技术的运用

一个完善的C/S系统,须辅以SQL Pass-Through 技术,将SQL命令从前端送至后端SQL Server执行。 还可执行SQL Server上的储存过程(Stored Procedure)、系统储存过程(System Stored Procedure)。 如执行SQL Server的系统储存过程sp_addlogin ,需加入使用者帐号。 (1) 首先,用SQLCONNECT()或SQLSTRINGCONNECT() 函数连接数据源。 (2) 连接成功后,即可用SQLEXEC()函数发送SQL命令至SQL Server执行。

SQLEXEC( nConnectionHandle, [cSQLCommand, [CursorName]])

= SQLSETPROP(gnConnHandle, 'asynchronous', .F.)

= SQLEXEC(gnConnHandle, 'SELECT * FROM authors', 'MyCursor')

(3) 所有操作完成后,用SQLDISCONNECT()函数切断与数据源的连接。

下面,举个典型的SQL Pass-Through例子: SET TALK OFF CLEAR ALL CLOSE ALL

SQLSETPROP(0,\ &&登录失败时不显示ODBC登录对话框

nConnectHandle=SQLSTRINGCONNECT(\

IF nConnectHandle<0

MessageBox(\无法与数据库连接\异常情况\ ELSE

MessageBox(\连接成功\提示信息\

SQLEXEC(nConnectHandle,\ Browse

Use in sqlresult

???.. &&其他操作 SQLDISCONNECT(nConnectHandle) &&切断连接

ENDIF

这样,就能对数据库进行有效操作,确保数据完整性和安全性。 下面是所有SQL Pass-Through 函数: (1) 连接建立与切断:

SQLCONNECT()

Syntax

SQLCONNECT([DataSourceName, cUserID, cPassword | cConnectionName]) SQLSTRINGCONNECT();

Syntax

SQLSTRINGCONNECT([cConnectString]) SQLDISCONNECT()

Syntax

SQLDISCONNECT(nConnectionHandle)

(2) SQL命令叙述的执行与控制:

SQLEXEC()

Syntax

SQLEXEC(nConnectionHandle, [cSQLCommand, [CursorName]]) SQLMORERESULTS()

Syntax

SQLMORERESULTS(nConnectionHandle) SQLPREPARE()

Syntax

SQLPREPARE(nConnectionHandle, cSQLCommand, [CursorName]) SQLCOMMIT()

Syntax

SQLCOMMIT(nConnectionHandle) SQLROLLBACK()

Syntax

SQLROLLBACK(nConnectionHandle) SQLCANCEL()

Syntax

SQLCANCEL(nConnectionHandle)

(3) 数据来源信息:

SQLCOLUMNS()

Syntax

SQLCOLUMNS(nConnectionHandle, TableName [, FOXPRO | NATIVE [, CursorName]] SQLTABLES()

Syntax

SQLTABLES(nConnectionHandle [, cTableTypes] [, cCursorName])

(4) 存取连接通道的属性:

SQLGETPROP()

Syntax

SQLGETPROP(nConnectionHandle, cSetting) SQLSETPROP()

Syntax

SQLSETPROP(nConnectionHandle, cSetting [, eExpression])

用SQL Pass-Through,程序设计师拥有较高的主导权与控制权,因此若能够将远程视图和SQL Pass-Through 技术紧密的结合起来,互补有无,我们的C/S系统就可以无所不能。 五.结束语

可以说,VFP是个相当不错的开发C/S结构的数据库应用系统的前端软件,在Internet 广为流传的今天,最新一代的系统结构早就已发展至N-tier 结构,亦即我们所说的多阶层结构。N-tier 结构其实是从主从结构为基础所衍生而来的,我们甚至可以说主从结构就是2-tier 结构。 参考文献:

(1)Visual Foxpro6.x 中文版程序设计 -应用实务篇 章立民 中国铁道出版社 1999.10

(2)中文Visual Foxpro6.0 高级编程 合力工作室 清华大学出版社 1999.7

几种注册ODBC数据源的方法

一、手工配置 1.ODBC数据源管理器

数据库开发,配置ODBC,进行DSN定义、注册,手工解决方法:Windows控制面板“管理工具”、“ODBC数据源”,激活ODBC数据源管理器(ODBC Data Source Administrator)。

配置ODBC时,需知道数据库名、SERVER系统(本地或远程)、等信息,同时要给数据源命名。


VFP开发Server Client系统.doc 将本文的Word文档下载到电脑
搜索更多关于: VFP开发Server Client系统 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219