如何使用VFP获取远程数据库? (vfp获取远程数据库)

Visual FoxPro (VFP) 是一个强大的数据库管理系统,它可以帮助用户轻松访问和管理远程数据库。无论是在企业级数据管理、客户关系管理,还是在个人开发者领域,VFP都是一个非常不错的工具。此文将介绍如何使用VFP获取远程数据库。

一、了解数据库连接

在使用VFP获取远程数据库之前,我们需要了解几个数据库连接的概念。数据库服务器(Database Server)是一个可以提供数据库服务的计算机。而客户端(Client)是连接到数据库服务器并向其请求服务的计算机。通常情况下,客户端需要经过身份验证才能远程连接到数据库服务器。这些身份验证信息通常包括用户名和密码。

数据库连接(Database Connection)是指一个客户端通过网络连接到数据库服务器,并且经过身份验证后,成功访问服务器上的数据库所需的交换信息流程。

在 VFP 中使用 ODBC(Open Database Connectivity)连接方式。ODBC 是一个通用接口程序,可以在各种不同的操作系统和数据库管理系统之间进行交互操作,软件可以通过ODBC进行操作执行。

二、检查ODBC驱动器

连接到远程数据库之前,我们需要确保我们的系统中安装有ODBC驱动程序。在Windows操作系统中,我们可以通过以下步骤访问ODBC控制面板:

1、打开控制面板;

2、选择“管理工具”;

3、选择“ODBC数据源 (64位)”或“ODBC数据源 (32位);

4、按照指引即可执行安装。

如果我们的系统中没有ODBC驱动程序,或者需要升级现有的驱动程序,可以从Microsoft官方网站下载最新的ODBC驱动程序。

三、创建ODBC数据源

ODBC数据源是一个用于连接到远程数据库的配置文件。我们需要创建一个ODBC数据源来配置有关远程数据库服务器的信息。

以下是创建一个ODBC数据源的步骤:

1、打开控制面板;

2、选择“管理工具”;

3、选择“ODBC数据源 (64位)”或“ODBC数据源 (32位);

4、选择“添加”或“配置DSN”;

5、选择与所需要连接的数据库服务器的驱动程序;

6、按照屏幕上的提示逐步完成数据源的配置。

四、使用VFP连接远程数据库

在我们了解了如何创建ODBC数据源之后,下一步是使用 VFP 连接到远程数据库。我们可以按照以下步骤操作:

1、打开 VFP;

2、在“文件”菜单下选择“连接”-“连接”,打开连接对话框;

3、在“数据类型”下拉菜单中选择“ODBC”;

4、在“数据库”下拉菜单中选择刚刚创建的ODBC数据源;

5、输入数据库服务器的连接信息;

6、点击“测试连接”按钮测试连接是否正常;

7、如果连接成功,则可以使用VFP进行操作了。

五、执行查询语言

通常情况下,我们在 VFP 中使用查询语句来检索和更新数据库。

以下是一些常用的查询语句:

1、SELECT语句用于检索数据

SELECT * FROM TABLE WHERE COLUMN = ‘VALUE’

2、UPDATE语句用于更新数据

UPDATE TABLE SET COLUMN = ‘NEW_VALUE’ WHERE COLUMN = ‘OLD_VALUE’

3、INSERT语句用于插入新数据

INSERT INTO TABLE (COLUMN1, COLUMN2) VALUES (‘VALUE1’, ‘VALUE2’)

4、DELETE语句用于删除数据

DELETE FROM TABLE WHERE COLUMN = ‘VALUE’

六、

本文介绍了如何使用 VFP 获取远程数据库。需要记住的是,我们需要先检查我们的系统中是否安装了ODBC驱动程序,然后创建一个ODBC数据源来配置有关远程数据库服务器的信息。我们可以使用VFP进行操作,执行查询语句来检索和更新数据库。

以上就是如何使用VFP获取远程数据库的全部过程,读者可以按照步骤操作,实现自己的需求。

相关问题拓展阅读:

vfp中dbgetprop函数怎么用

DBGETPROP( ) 函数

得到当前数据库的属性,或者返回当前数据库中字段、命名连接、表或视图的属性。

注意:

得到当前数据库的属性,或者返回当前数据库中字段、命名连接、表或视图的属性之前,必须打开数据库。但不必打开一个表或视图来检索其属性。

 

 

DBGETPROP(cName, cType, cProperty)

 

参数

cName

指定数据库、字段、命名连接、表或视图的名称,DBGETPROP( ) 函数返回有关信息。

要返回表或视图中字段的信息,可将包含该字段的表或视图的名称放在该字段名前面。例如,要返回 customer 表中 custid 字段的信息,可指定 cName 为:

 

复制程序代码

customer.custid

cType

指定 cName 是否为当前数据库,或者当前数据库中的一个字段、命名连接、表或视图。下表列出了 cType 的允许值:

 

cType 说明

CONNECTION

cName 是当前数据库中的一个命名连接。

DATABASE

cName 是当前数据库。

FIELD

cName 是当前数据库中的一个字段。

TABLE

cName 是当拿亏前数据库中的一个表。

VIEW

cName 是当前数据库中的一个视图。

cProperty

 

指定属性名称,DBGETPROP( ) 函数返回该属性的信息。下表列出了 cProperty 的允许值、返回值类型以及属性说明,每个说明都包括属性的读写权限。如果属性是只读的,则它的值就不能用DBSETPROP( ) 更改。

连接属性 

cProperty 类型 说明

Asynchronous

L

连接方式。默认值为“假”(.F.),同步连接方式;“真”(.T.) 为异步连接方式。

可读写。

BatchMode

L

批处理方式。默认值为“真”(.T.),以批处理方式操作的连接。

可读写。

Comment

C

连接的注释文本。

可读写。

ConnectString

C

注册连接字符串。

可读写。

ConnectTimeout

N

以秒为单位的连接超时间隔。默认值为 0 (无限期等待)。

可读写。

Database

C

使用带有 DATABASE 子句的 CREATE CONNECTION 命令或“连接设计器”指定服务器数据库名。

可读写。

DataSource

C

ODBC.INI 文件中定义的数据源名。

可读写。

DisconnectRollback

L

指定 SQLDISCONNECT( ) 访问最后的连接句柄是等待事务处理或重新运行。

默认值为“假”(.F.),SQLDISCONNECT( ) 为等待事务处理。

为“真” (.T.), SQLDISCONNECT( ) 为重新运行。

自动连接事务处理不受该设置影响。

可读写。

DispLogin

N

根据含有的数值来确定 ODBC 的注册对话框的显示。 DispLogin 可以是以下值:

1 或 DB_PROMPTCOMPLETE (在 Foxpro.h定义的常量)。 1 是默认值。

2 或 DB_PROMPTALWAYS (在 Foxpro.h定义的常量)。

3 或 DB_PROMPTNEVER (在 Foxpro.h定义的常量)。

如果指定为 1 或 DB_PROMPTCOMPLETE,只有当缺少所需信息时,Visual FoxPro 才消厅神显示 ODBC 的注册对话框。

如果指定 2 或 DB_PROMPTALWAYS,那么每次都显示 ODBC 的注册对话框,并允许在连接前改变设置。

如果指定 3 或 DB_PROMPTNEVER,不显示 ODBC 注册对话框,并且当不能获得所需要的注册信息时,Visual FoxPro 产生错误信息。

可读写。

DispWarnings

L

包含一个逻辑值,决定是否显示远程表、ODBC 或 Visual FoxPro 中不可俘获的警告伏顷信息。 默认值为“真”(.T.),指定显示不可俘获的警告信息。

可读写。

IdleTimeout

N

以分为单位的空闲超时间隔。每分钟一次进行超时检测,使活动连接在指定的时间间隔短时间内变成不活动。 默认值为 0(无限期地等待)。

可读写。

PacketSize

N

连接用的网络包大小,调整这个值可以提高性能,默认值为 4096 个字节 ( 4K )。

可读写。

PassWord

C

连接口令。

可读写。

QueryTimeout

N

以秒为单位的查询超时间隔。默认值为 0(无限期地等待)。

可读写。

Transactions

N

包含一个数值,决定如何在远程表上管理事务。Transactions 可为以下值:

1 或 DB_TRANSAUTO (在 Foxpro.h定义的常量). 1 是默认值。远程表的事务自动进行。

2 或 DB_TRANANUAL (在 Foxpro.h定义的常量). 用 SQLCOMMIT( ) 和 SQLROLLBACK( )人工处理事务。

可读写。

UserId

C

用户标识。

可读写。

WaitTime

N

在 Visual FoxPro 检查 SQL 语句是否完成以前,以毫秒为单位计算所消耗的时间总和。默认值为 100 毫秒。

可读写。

 

数据库属性

cProperty 类型 说明

Comment

C

数据库的注释文本。

可读写。

DBCEventFileName

C

包含 DBC 事件代码的文件的相对路径和文件扩展名。

DBCEvents

L

启用数据环境。设置 enable 为“真”(.T.)。

Version

N

数据库版本号。

只读。

 

表字段属性

cProperty 类型 说明

Caption

C

字段标题文本。如果等号(=)放在属性值的前面, Visual FoxPro 对表达式求值。否则,按字面值对待。

可读写。

Comment

C

字段的注释文本。

可读写。

DefaultValue

C

字段的默认值

只读。

DisplayClass

C

字段映射的类名。

可读写。

DisplayClassLibrary

C

使用DisplayClass 属性指定类库路径。

可读写。

Format

C

字段的显示格式。参见 Format 属性 显示格式设置列表。

可读写。

InputMask

C

字段的输入格式。 参见 InputMask 属性 输入格式设置列表。

可读写。

RuleExpression

C

字段规则表达式。

只读。

RuleText

C

字段规则错误文本。

只读。

 

表字段属性

cProperty 类型 说明

Caption

C

字段文本标题。如果等号(=)放在属性值的前面, Visual FoxPro 对表达式求值。否则,按字面值对待。

可读写。

Comment

C

字段的注释文本。

可读写。

DataType

C

视图中的一个字段数据类型。初始按数据源数据类型设置。

用DBSETPROP( )指定字段的不同数据类型,建立字段的语法参见 CREATE TABLE – SQL。

例如,把表名为 Mytable 中的字段 iCost 数据类型由整型改为宽度为4、小数位为2的数值型,可以使用下列语句:

DBSETPROP(‘mytable.icost’, ‘field’, ; ‘DataType’, ‘N(4,2)’)

可以包括 NOCPTRANS 子句以防止字符型和备注型字段转换成不同的代码页。

远程视图可读写。

DisplayClass

C

字段映射的类名。

可读写。

DisplayClassLibrary

C

使用DisplayClass 属性指定类库路径。

可读写。

DefaultValue

C

字段的默认值

可读写。

KeyField

L

如果在索引关键表达式中指定了这个字段,则为“真”(.T.);否则为“假”(.F.)。

可读写。

RuleExpression

C

字段规则表达式。

可读写。

RuleText

C

字段规则错误文本。

可读写。

Updatable

L

如果可以更改字段,则为“真”(.T.);否则为假(.F.)。

可读写。

UpdateName

C

字段的数据更新到远程表中可以使用字段名,默认为远程表字段名。

可读写。

 

表属性

cProperty 类型 说明

Comment

C

表的文本注释

可读写。

DeleteTrigger

C

删除触发器表达式。

只读。

InsertTrigger

C

插入触发器表达式。

只读。

Path

C

相对于 DBC 的包括文件名的表相对路径。

只读。

PrimaryKey

C

主关键字的标识名。

只读。

RuleExpression

C

行规则表达式。

只读。

RuleText

C

行规则错误文本。

只读。

UpdateTrigger

C

更新触发器表达式。

只读。

 

视图属性

cProperty 类型 说明

AllowSimultaneousFetch

L

应用于远程视图、共享连接及 ODBC 建立的游标。

AllowSimultaneousFetch 为“真” (.T.),连接中同样配置的游标共享时允许同时读取几行。否则,AllowSimultaneousFetch 为“假” (.F.),不允许同时读取几行 。

注意:

该属性应用 Visual FoxPro 8.0 及其后的版本。在 Visual FoxPro 8.0 及其后的版本中创建视图与早期版本不同。在数据容器创建或修改远程视图时,Visual FoxPro 8.0 及其后的版本调用Visual FoxPro 8.0之前版本的 VALIDATE DATABASE 命令将产生一个错误。Visual FoxPro 8.0之前版本调用 VALIDATE DATABASE RECOVER ,每一个视图要删除 AllowSimultaneousFetch 属性。

 

 

BatchUpdateCount

N

在后端对视图发送更新语句的数目, 默认值为1 。 调整该值能大大提高更新的效率。

可读写。

Comment

C

视图的注释文本。

可读写。

CompareMemo

L

在更新 WHERE 子句包含备注字段(备注型、通用型或图片或远程视图时间戳) 为“真” (.T.) (默认),否则,为“假”(.F.)。

可读写。

ConnectName

C

打开视图时所用的命名连接。

只读。

FetchAsNeeded

L

如果为“真”(.T.),在需要时取数据,例如,记录指针指向到行不取数据。

如果为“假”(.F.),在空闲期间取数据。(默认)

注意:

当按分批取数据被禁止时,FetchAsNeeded 不能应用 (FetchSize 为 -1)。

 

 

可读写。

FetchMemo

L

如果视图结果含有备注字段和通用字段,则为“真”(.T.)(默认值);否则为假(.F.)。

使用 IEMOFETCHED( ) 函数来确定备注字段被读取。

可读写。

FetchSize

N

包含每次从远程表读取的记录数。默认为 100 条记录。设置 FetchSize 为 –1 得到整个结果,只受 MaxRecords 设置的限制。

注意:

在分批取回所有的行以前一直占据连接。如果ShareConnection为真 (.T.)时FetchSize使用警告代码。 

 

可读写。

MaxRecords

N

返回结果时获取的更大行数。默认值为 -1(返回所有行)。0 表示执行视图,但不获取任何结果。

可读写。

Offline

L

若为游离视图,返回 .T.。

只读。

ParameterList

C

WHERE 子句参数。参数格式是 ”ParameterName1, ‘Type1’; ParameterName2, ‘Type2’; …” ,Type 是下面指定字符的参数类型之一:

C – 字符型 D – 日期型 T – 日期时间型 N – 数值型 F – 浮点型 B – 双精度型 I – 整型 Y – 货币型 L – 逻辑型

例如, ”MyParam1, ‘C’ ” 指定参数名 MyParam1 为单字符类型。

有关创建参数化视图的更多信息,请参见 如何: 创建参数化视图.

可读写。

Prepared

L

如果SQL语句已准备好,可以执行 REQUERY( ) 函数,返回“真” (.T.) 。 REQUERY( )用于从一个 SQL 视图中重新检索数据。有关 SQL 语句的准备的补充信息,请参见 SQLPREPARE( ) 。默认值是“假”(.F.)。

可读写。

RuleExpression

C

行规则表达式。

可读写。

RuleText

C

在浏览窗口或编辑窗口中编辑数据时,若出现错误,所显示的规则文本表达式。

可读写。

SendUpdates

L

如果由 SQL 更新查询去更新远程表,则为“真”(.T.);否则为“假”(.F.)(默认值)。

可读写。

ShareConnection

L

如果视图能与其他连接共享其连接句柄,则为“真”(.T.);否则为“假”(.F.)。

可读写。

SourceType

N

视图源。SourceType 可以是以下值:1—视图使用本地表。

2—视图使用远程表。

只读。

SQL

C

打开视图时执行的 SQL 语句。

只读。

Tables

C

一个用逗号分隔的表名列表。

可读写。

UpdateType

N

更新类型。有效值为: 1 或 DB_UPDATE (在 foxpro.h 中定义的常量)。表示用新数据更新旧数据(默认值)。

2 或 DB_DELETEINSERT (在 foxpro.h 中定义的常量)。删除旧数据并插入新数据。

可读写。

UseMemoSize

N

将结果返回到备注字段的列的最小宽度(以字节为单位)。 例如,如果一个列结果的宽度大于 UseMemoSize 的值,那么列结果就存放在一个备注字段中。UseMemoSize 可以是 1 到 255;默认值是255。

可读写。

WhereType

N

WHERE 子句更新远程表,WhereType 可以为以下值:1 或 DB_KEY (在Foxpro.h 中定义的常量)。 用来更新远程表的 WHERE 子句仅由 KeyFieldList 属性指定的主关键字段组成。

2 或 DB_KEYANDUPDATABLE (在 Foxpro.h 中定义的常量)。用来更新远程表的 WHERE子句由 KeyFieldList 属性指定的主关键字段和所有可更新字段组成。

3 或 DB_KEYANDMODIFIED (在 Foxpro.h 中定义的常量) (默认)。更新远程表的WHERE 子句包含 KeyFieldList 属性指定的主关键字段和其他已修改字段。

4 或 DB_KEYANDTIMESTAMP (在 Foxpro.h 中定义的常量)。更新远程表的 WHERE 子句由 KeyFieldList 属性指定的主关键字段和比较时间戳(标记?)组成。

关于 WhereType 属性更多信息,请参见 Managing Updates by Using Views。

可读写。

VFP数据库问题

太大了吧 简直就是作业啊。

可以帮助解决困难 ,不帮助做作业。

1、

clear

a=0

b=0

k=1

do while k0

input “请输入一个数:兆核锋” to k

if k>0

a=a+1

endif

if k=s

count for 进氏并货数量>=s to x

?”共有”+alltrim(str(x))+”种商品的进货数量高于”+alltrim(str(s))

use

4、

clear

accept “请输入姓名:” to xm

use 商品表

loca for 姓名=xm

if found()

?总金额

else

?”查无此人!”

endif

use

5、

clear

accept “请输入商品名称:” to mc

sele 销售量,销售单价,销售日期,销售员,销售量*销售单价 as 销售利润 from 销售表 where 商品名称=mc

关于vfp获取远程数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何使用VFP获取远程数据库? (vfp获取远程数据库)