第一范文网 - 专业文章范例文档资料分享平台

VFP开发Server Client系统

来源:用户分享 时间:2025/11/16 2:45:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

用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系统 的文档
VFP开发Server Client系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c31hlb8bhn079ew80p2td_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top