《VFP应用与开发案例教程》_第1页
《VFP应用与开发案例教程》_第2页
《VFP应用与开发案例教程》_第3页
《VFP应用与开发案例教程》_第4页
《VFP应用与开发案例教程》_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《VFP应用与开发案例教程》

第三章VisualFoxPro熬据库和表

本章教学要求:掌握数据库和表的建立,对表的基本

操作。______________________________________________

3.1VisualFoxPro数据库和表的建立

3.2VisualFoxPro表记录的操作

3.3表的统计

3.4表的索引

3.5多表操作

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.1VisualFoxPro数据库和表的建政

对于一个数据库应用系统来说,如何组织好相关的数

据,是数据库应用系统开发成功与否的关键。用Visual

FoxPro开发数据库应用系统时,通常应建立一个数据库,

再在数据库下面建立若干个表和视图,一个表在一个时

期只能属于一个数据库,一个表也可以是一个自由表,

即不属于任何数据库。

应当说明的是数据库是表、视图和连接等的集合,数

据记录内容是存放在表中的,如图3-1所示。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

学生学籍库

图3-1学生学籍库的组成

总目录UIOIH辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.1.1数据库的建立

在VisualFoxPro中有多种方法建立数据库。

•在命令窗口中输入命令

格式:Createdatabase数据库名

例如:在命令窗口中输入:

Createdatabasec:\学籍管理、学生学籍库

将在“c:\学籍管理”文件夹下创建一个文件名为“学生

学籍库.DBC”数据库。

总目录K』THOI辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

•通过菜单或工具栏上的“新建”命令

步骤:

点击工具栏上的“新建”按钮,

出现如图3-2所示的“新建”对

话框,选择“数据库”,然后点

击“新建文件”按钮,出现

“创建”对话框,输入文件名

c:\学籍管理'学生学籍库(如图

3-3所示),点击“保存”按钮,

屏幕上将出现“数据库设计器”

窗口,如图3-4所不。

图3-2新建对话框

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

图3-3创建对话框

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

图3-4数据库设计器窗口

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

•使用数据库向导创建数据库

步骤:

点击工具栏中的“新建”按钮,出现“新建”对话框,

选择“数据库”,然后点击“向导”按钮,按照屏幕指

示进行操作即可。

3.1.2数据库的打开与关闭

1.打开数据库

•使用OpenDataBase命令

格式:OpenDataBase[〈数据库名[?>]

[Shared|Exclusive][Noupdate][Validate]

总目录•i[dHIRA辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

命令参数:

若省略数据库名或用?代替数据名,则系统将显示

“打开”对话框,让用户从中选择现有的数据库。

Shared:表式以共享方式打开数据库。

Exclusive:表式以独占方式打开数据库。

Noupdate:指定不能对数据库进行修改操作,即只能

对数据库进行读操作。

Validate:指定在打开数据库时对数据库中的表和索

引是否可用进行检查。

例如:打开c:\学籍管理'学生学籍库.dbc数据库

opendatabasec:\学籍管理'学生学籍库

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

•在VisualFoxPro的集成环境中打开数据库

点击工具栏中的“Open”按钮,然后在“打开”对话框中

选择要打开的数据库文件。

说明:当数据库打开后,若要使用表还必须使用Use命令

打开表。

2.关闭数据库

•使用CloseDataBase命令

格式:CloseDataBase[All]

命令参数:

总目录-1[dHIRA辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

All:关闭当前数据库和表,如果没有当前数据库,则

关闭所有已打开的自由表、索引文件和格式文件,并把

当前工作区设为1。

3.1.3表的建立

在VisualFoxPro中表是非常重要的,数据都是以记录的形

式存放在表中的,表由两部分组成:表结构和记录,

创建一个表时,首先应创建表结构,然后再根据需要输

入数据,创建一个表结构时,应事先确定表结构的如下

内容:

•字段名

只能以字母、下划线和汉字开始,后面可跟字母、数字、

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

下划线和汉字。每个字段名的最大长度不超过10个字符。

下列符号不能用于表字段名:

@#$%A&*空格!〜VisualFoxPro的保留字等

•数据类型、宽度及小数据位数

VisualFoxPro表中常用的数据类型:

VisualFoxPro子段数据类型表:

小数

宽度位数

备注

(字节)

字符型(Character)<=254任意字符

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

字符型(Character))<=254任意字符

货币型(Currency)8

数值型(Numeric)<=20<=19

浮动型(Float)<=20<=19

日期型(Date)8

日期时间型

8

(DateTime)

总目录UIOIH辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

双精度型(Double)8<=7

整型(Integer)4

逻辑型(Logical)1

__________

备注型(Memo)4

保存OLE对象的

通用型(General)

f用

字符型(二进制)保存数据不经代

<=254

(Binary)码页修改

备注型(二进制)保存数据不经代

4

(MemoBinary)码页修改

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

在VisualFoxPro中创建新表的方法有多种,但通常是

在VisualFoxPro的集成开发环境中点击“文件”菜单

一“新建”,在弹出的新建对话框中选择“表”,然后

选择“新建文件”按钮,屏幕上出现“创建”对话框,

在该对话框中键入表文件名(如图3-5所示),键入表文

件名后,点击“保存”按钮,屏幕上出现“表设计器”

窗口,在“表设计器”窗口中输入表结构(如图3-6所

示),输入完成后点击“确定”按钮,屏幕上出现“现

在输入数据记录吗?”对话时,若选择“否”则不输入

数据,若选择“是”则屏幕上出现数据记录输入窗口,

可在其中输入数据(如图3-7所示),输入完成后关闭数

据记录输入窗口即可。

注:备注型输入方法是当光标移动到备注型字段时按

"Ctrl+PageDown"键,屏幕上就会出现输入备注型字段

的编辑窗体,如图3-7所示。

总目录IkIBEB辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

初建3凶

保存在9:|二|学籍管理三]勺固座圈▼

输入表名:

保存类型Q):

图3-5创建对话框

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

图3-6表设计器-学生基本信息表结构

总目录3辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

当学生基本信息表.苻历-1□1x|

学时获市三好学_|

生称号

-姓

-性T

-出

-身

和平

利T

memo

I*I」

图3-7数据记录输入

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.1.4表的打开与关闭

1.通过菜单操作打开表

操作步骤:

点击“文件”菜单一“打开”,屏幕上出现“打开”文

件对话框,选择要打开的表文件(如图3-8所示),然后

点击“确定”按钮即可。

注:在图3-8中,若选择了“以只读方式打开(R)”,则

只能对打开的表进行读操作不能进行修改、删除和增加

等操作;若选择了“独占”,则其它用户此时只能以共

享方式打开该表。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

1打开

查找范围(X)|_y学籍营理734■直今回一

dH]^^4.dbF

学生基本信息表.dbf

文件名3M|学生基本信息表dbf

文件类型(X):|表(*.ab£)三1

L以只读方式打开电)

代码页W

r-独占(£)

图3-8“打开”对话框

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

2.通过命令打开表

在VisualFoxPro的命令窗口中使用Use命令打开表。

命令格式:Use〈表文件名〉[Shared|Exclusive][Alias<

别名刁

命令参数:

Shared:指定以共享方式打开表,以这种方式打开的表,

可以对表进行增加、删除和修改数据记录的操作,但不

能修改表结构。

Exclusive:指定以独占方式打开表,以这种方式打开的

表,除可以对表进行增加、删除和修改数据记录的操作,

还可以修改修表的结构。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

若不指定打开方式,则以独占方式打开表。

Alias〈别名〉:指定打开表的别名,若省略该参数,表的

别名就是表名。

例如要共享方式打开表C:\学籍管理'学生基本信息表.dbf,

可使用如下命令:

UseC:\学籍管理'学生基本信息表.dbfShared

若要对表进行操作,必须先打开表。

3.表的关闭

对表的操作完成后,应及时关闭表。

命令格式:Use

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.2VisualFoxPro表忆录的据作

3.2.1记录指针定位

在VisualFoxPro中当打开一个表时,系统为该表设置一个

记录指针,指向表中的某一条记录,记录指针指向的记

录称为当前记录。当数据表刚打开时,记录指针指向第

一条记录,若要移动记录指针可使用下面的命令。

1.Go/GoTo命令

命令格式:

Go/GoTo[[RECORD]〈记录号>|<TOP>|<BOTTOM刁[In<

工作区>|〈表别名刁

命令功能:移动记录指针。

总目录-1[dHIRA辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

命令参数:

[RECORD]〈记录号〉:将表记录指针移到〈记录号〉指定

的记录。

TOP:将表记录指针移到第一条记录。

BOTTOM:将表记录指针移到最后一条记录。

[In〈工作区>|〈表别名刁:指定要移到记录表所在的工作

区,若省略该参数则是对当前工作的表进行操作。

例如将当前工作区的表的记录指针移到第3条记录,可使

用如下命令:

GoTo3

或者

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

Go3

或者

3

2.Skip命令

命令格式:Skip卜数值表达式习[Inv工作区>|〈表别名习

命令功能:移动记录指针。

命令参数:

〈数值表达式〉:指定记录指针移动的相对记录数,即若v

数值表达式〉为正数,表示记录指针向文件尾方向移动,为

负数表示向文件头方向移动记录指针;若省略该参数,则

表示记录指针向文件尾方向移动一个记录位置。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

In〈工作区>|〈表别名〉:指定要移动记录指针的工作区或

表别名。

例如假设当前工作区的当前记录为12,总共有30条,执

行如下程序:

Skip-1&&记录指针移到第n条记录

Skip-90&&记录指针移到第1条记录

Skip&&记录指针移到第2条记录

Skip100&&记录指针移到第30条记录,即最后一条

Skip&&出错,因为已到文件尾

与记录指针移动有关的函数有3个:

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

Recno():返回当前记录号。

Bof():测试记录指针是否已到文件头,若已到文件头返

回.T.,否则返回.F.。

Eof():测试记录指针是否已到文件尾,若已到文件尾返

回.T.,否则返回.F・。

3.2.2增加记录

向表中增加记录主要有两种方式,一种是直接通过全屏

幕方式从键盘输入数据,另一种是从其它表文件中把有

关数据记录添加到表中。

1.从键盘输入新记录

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

(1)Apppend命令

命令格式:Append[Blank][In工作区|表别名][NoMenu]

命令功能:在表的最末尾添加记录。

命令参数:

Blank:若有该参数,则在表的末尾添加一条新记录,若

没有该参数,则屏幕上出现数据输入窗体,在该窗体中

可进行添加记录操作,如图3-9所示。

In工作区|表别名:指定要对哪一个工作区的表进行操作,

省略该参数,则是向当前工作区的表添加记录。

NoMenu:指定从系统菜单中删除“表”菜单项。

总目录KIKi131辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

tnjJ

图3-9向表中追加记录

总目录kIIKWH辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

例如,要向表“C:\学籍管理'学生基本信息表.dbf,添加一

个空白记录,可在命令窗口中输入如下命令:

UseC:\学籍管理'学生基本信息表&&若表文件的扩展

名为.DBF可省略

AppendBlank

Use&&关闭表

(2)Insert命令

命令格式:Insert[Before][Blank]

命令功能:在当前表中插入新的记录。

命令参数:

总目录♦।MIMOIRA辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

Before:在当前记录之前插入新记录,若没有该参数则是

在当前记录之后插入新记录。

Blank:插入一条空记录,屏幕上不出现数据输入窗口;

若没有该参数,屏幕上出现数据输入窗口,用户可以输

入新的数据。

例如在表“C:\学籍管理'学生基本信息表.dbF的第3和第

4条记录之间插入新的记录,可在命令窗口输入如下命令:

UseC:\学籍管理'学生基本信息表.DBF

Go3&&使当记录指针指向第4条记录

Insert

Use

总目录KIra辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

2.从其它表文件中把有关数据记录添加到表

命令格式:

AppendFrom[文件名[?][Fields〈字段列表刁[For〈条件表

达式刁

命令功能:从其它文件中将所需的数据复制到当前表中。

命令参数:

文件名:指定源数据文件名,即数据来自哪一个文件。

?:当执行该命令时,显示打开文件对话框,让用户从中

选择一个源数据文件。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

Fields〈字段列表〉:指定要将源表的哪些字段复制到当前

表中,若有多个字段,字段之间用逗号”隔开,若

省略该参数,则是将源表的所有字段值复制到当前表以

对应的字段中去。

Forv条件表达式,:指定添加记录的条件,只有符合条件

的记录才会被添加到当前表中,若省略该参数,则是将

源数据文件所有的记录添加到当前表中。

例如,C:\学籍管理'新生数据.DBF的内容如图3-10所示,

C:\学籍管理'学生基本信息表.DBF的内容如图3-11所示。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

新生数露-!□1x|

出生日期|政治貌

李光辉07/14/1985:党员memo

11/17/1985i

罗丽07/04/19861memo

酸雨德畲63/18/198510^

图3-10新生数据表内容

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

励学生基本信息表

学号姓名性别出生日期

20040805W-07/04/1985i170.3|memo

20040807张和平06/13/1985

20040805刘军07/04/1985:170.3Jmemo

20040807张和平06/13/1985i175.0?Memo

图3-11学生基本信息表内容

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

将C:\学籍管理'新生数据.DBF文件中的所有记录复制到

C:\学籍管理、学生基本信息表.DBF中,在命令窗口中输入

如下命令:

UseC:\学籍管理'学生基本信息表.DBF

AppendFromC:\学籍管理'新生数据.DBF

Use

上述命令执行完后,表C:\学籍管理'学生基本信息表.DBF

的内容如图3-12所示

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

图3-12追加记录后学生基本信息表内容

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.2.3删除记录与恢复

当表中的数据不再需要时,应将删除。为了防止误删

除,在VisualFoxPro中删除记录分两步进行,第一步是逻

辑删除,即只在要删除的记录上作一个删除标记,数据

记录并没有真正从表中删除,当发现删除操作有误时,

还可以用恢复命令将其恢复,显然只被逻辑删除的记录

仍要占用硬盘空间,被逻辑删除的记录在列表显示(List

或Display)时记录前有一个删除标记"”或“■”(用

Browse浏览记录时);第二步是物理删除,即将作了删

除标记的记录从硬盘中彻底删除,物理删除后的记录不

可以再恢复。

1.逻辑删除

总目愚forV条件习[While〈条件习

《VFP应用与开发案例教程》

1.逻辑删除

命令格式:Delete卜范围习[For〈条件刁[While〈条件刁

[In〈工作区>|〈表别名刁

命令功能:对符合条件的记录进行逻辑删除。

命令参数:

〈范围〉:指定要操作的记录范围,该参数可以是:

All:所有记录。

Nextn:从当前记录开始的后面n个记录。

Recordn:第n号记录。

Rest:从当前记录开始一直到文件结束。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

For<条件>:指定要作删除标记的条件,依次对指定范围

内的记录进行操作,若条件为真,对记录作删除标记,

否则不作删除标记,然后再对下范围内的一个记录进行

操作。

Whilev条件>:指定要作删除标记的条件,依次对指定范

围内的记录进行操作,若条件为真,对记录作删除标记,

若条件为假或已到范围内的最后一个记录则停止。

若省略范围、For<条件>和While<条件>参数,则只删除

当前记录。

若省略范围,但有Forv条件,或Whilev条件>参数,则缺

省的范围为整个记录。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

In〈工作区>|〈表别名〉:指定要进行逻辑删除的表所在的

工作区或表别名,若省略该参数,则是对当前工作区进

行操作。

例如,假设当前表为前面的学生基本信息表,执行如下

操作:

Deleterecord5&&给第5条记录加删除标记

Go7&&给第7条记录成为当前记录

Delete&&给当前记录加删除标记

Deletefor学号='20040805'&&给学号为20040805

加删除标记。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

List&&列表显示记录

记录号学号姓名性别出生日期身高简历

1*20040805刘军.T.07/04/85170.3memo

220040807张平.T.06/13/85175.0Memo

3*20040805刘军.T.07/04/85170.3memo

420040807张平.T.06/13/85175.0Memo

5*李光辉.T.07/14/85170.3memo

6张勇.T.11/17/85177.6Memo

7*罗丽.F.07/04/86162.8memo

8欧阳德雷.T.03/18/85175.0Memo

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

2.物理删除

命令格式:Pack

命令功能:将作了删除标记的记录从表中彻底删除,释

放其所占的内存空间。

说明:要执行该命令,必须以独占方式打开表。

例如:

UseC:\学籍管理'学生基本信息表.DBFexclusive

Deletefbr姓名='李勇'

Pack

Use

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

4.记录的恢复

命令格式:RECALL卜范围〉][FOR<条件习[WHILE〈条

件刁

命令功能:取消已打删除标记记录的删除标记。

命令参数:

〈范围〉:参见DELETE的命令参数说明。

Forv条件,:指定要恢复记录的条件,依次对指定范围内

的记录进行操作,若条件为真,对恢复记录,否则不恢

复,然后再对下范围内的一个记录进行操作。

Whilev条件>:指定要恢复的条件,依次对指定范围内的

记录进行操作,若条件为真,对恢复记录,若条件为假

或已到范围内的最后一个记录则停止。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

若省略范围、For<条件>和While<条件>参数,则只恢复

当前记录。

若省略范围,但有Forv条件〉或While〈条件>参数,则缺省

的范围为整个记录。

In〈工作区>|〈表别名〉:指定要进行恢复的表所在的工作

区或表别名,若省略该参数,则是对当前工作区进行操

作。

例如:

UseC:\学籍管理'学生基本信息表.DBF

5&&使第5号记录为当前记录

delete&&对第5号记录作删除标记录

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

7&&使第5号记录为当前记录

delete&&对第7号记录作删除标记录

recall&&恢复第7号记录

recallall&&恢复所有记录

3.2.4修改记录

对表记录的修改有两种方式:屏幕编辑方式和和程序方

1.屏幕编辑方式

•EDIT7cHANGE命令

命令格式:EDIT/CHANGE[FIELDS〈字段名列表刁卜范

围习[FOR条件][WHILE条件]

总目录♦1Ml—I辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

命令参数:

FIELDSv字段名列表,:指定哪些字段可以被修改。

〈范围〉:参见DELETE命令说明。

Forv条件〉或Whilev条件>:指定要修改记录的条件,符

合条件的记录才会在编辑窗口中显示并修改。

说明:EDIT和CHANGE的功能是完全相同的。

3.2.5查询记录

把数据放在数据表中,是为了将来在需要时对其进行查

询,查询操作是数据库操作中最常用的。

1.用Browse命令进行浏览查询

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

命令格式:

Browse[Scope][Fileds<FieldList>][fbrv条件表达式刁

功能:显示数据表中的记录。

参数说明:

Scope:指定记录范围,该参数的取值可以是:All(所有

记亲)、Nextn(当前记录及其之后的n个记录)、

Recordn(指定第n条记录)和Rest(当前记录及其之后

的所有记录)。若省略该参数,缺省值为AL

Fields<FieldList>:指定要查询显示的字段名列表,若省

该参数,则显示所有字段。

for〈条件表达式〉:指定要查询显示的记录应满足的条件。

总目录k1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

例如:

Setcenturyon&&设置日期要显示世纪

Setdateansi&&设置日期显示格式为yyyy.mm.dd

Opendatabasec:\学籍管理'学生学籍库.DBC

Use学生基本信息

Browsefor出生日期>「1980.05.23}

Close

上面的程序运行过程中将打开一个查询窗口(如图3-14所

示),可在其中浏览查询到的记录。

总目录K।MIra辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

图3-14数据浏览查询窗口

总目录辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

2,用Locate命令进行查询

命令格式:

Locate[Scope][forv条件表达式刁

功能:将记录指针定位到指定记录范围内满足条件的第

一条记录,若没有记录满足条件,记录移到记录末尾,

Eof()函数返回“真”。

参数说明:

Scope:指定记录范围,该参数的取值可以是:All(所有

记亲)、Nextn(当前记录及其之后的n个记录)、

Recordn(指定第n条记录)和Rest(当前记录及其之后

的所有记录)。若省略该参数,缺省值为All。

forv条件表达式〉:指定要查找的记录应满足的条件。

总目录♦1Ml・二1ra辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3,用Continue命令进行查询

命令格式:

Continue

功能:激活Locate命令,继续顺查找。

例如:

Setcenturyon&&设置日期要显示世纪

Setdateansi&&设置日期显示格式为yyyy.mm.dd

Opendatabasec:\学籍管理'学生学籍库.DBC

Use学生基本信息

Locatefor出生日期={A1980.05.23}

总目录K।MIra辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

Dowhile.T.

IfEof()=.T.

?’没有满足条件的记录!'

exit

else

?学号,姓名,性别,出生日期

Continue&&查找下一个出生日期为1980.05.23的记录

Endif

Enddo

Closeall

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.2.6从表向数组传递数据

在VisualFoxPro中对数组大小没有什么限制,主要取决于

磁盘和内存空间的大小,数组存在于内存,运行处理速

度很快。

当前记录传到数组中/数组中的数据送当前记录:

有关命令:

1.Scatter命令

命令格式:

Scatter[Fields〈字段名列表刁[Memo]TO〈数组名〉

功能:将当前表的当前复制到数组中。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

参数说明:

〈字段名列表》:指定要复制到数组的字段,若省略该参

数,则将所有字段复制到数组中(对于备注型字段需要

Memo参数)。

Memo:指定复制备注型字段,若省略该参数,则不复制

备注型字段到数组。

〈数组名〉:指定记录要复制到的数组。

说明:若要复制的字段个数大于数组的大小,系统会自

动将数组的大小扩大,若数组未定义,系统会自动创建

数组。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

2.Gather命令

命令格式:

GatherFrom〈数组名>[Fields〈字段名列表刁[Memo]

功能:将数组中的数据复制到当前表的当前记录中。

参数说明:

〈数组名〉:指定要复制数据的数组。

〈字段名列表,:指定要接收数据的字段,若省略该参数,

则将对所有字段进行操作(对于备注型字段需要Memo参

数)。

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

3.2.7使用SQL语言对表进行操作

结构化查询语言SQL(StructuredQueryLanguage)是目前

关系型数据库中应用最广泛的语言之一,美国国家标准协

会(ANSI)早在1982年就开始着手SQL的标准化工作,

并公布了SQL标准,目前SQL已成为关系型数据库语言的

国际标准。

SQL语言具有如下特点:

•综合统一。SQL语言集数据操纵语言(DML)、数

据语言(DDL)和数据控制语言的功能于一体,能独立完

成数据库的全部活动。

•高度非过程化。用SQL语言对数据进行操作时,用

户只需提出“做什么”,而不需要指出“怎么做”,也不

需要指出存取路径,存取路径和操作过程都由系统自动完

股一

♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

•面向集合的操作方式。SQL语言的操作对象、查询结

果都可以是元组的集合。

•SQL语言简洁,易学易用。

SQL语言即是自主型语言,又是嵌入式语言。当作为自主

型语言使用时,用户通过联机方式直接在终端上键入SQL

命令对数据库进行操作;SQL作为嵌入式语言可嵌入到其

它高级语言中使用,例如C语言、VisualFoxPro等。

值得注意的是,实际系统中实施的SQL语言与标准SQL语

言是有一定差异的,大部分的实际系统并没有完全支持

标准的SQL,但在某些方面还对标准SQL语言进行了扩充。

1.SELECT-SQL数据查询命令

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

命令格式:

Selectv表达式1>[as别名1卜表达式2>[as别名2],…,V表

达式n>[as别名n]

From〈表1>,〈表2>,...,〈表m>

[Into〈输出目标习

[Where〈条件表达式刁

[groupby〈分组条件刁

[having〈条件表达式刁

[orderby〈排序方式封

总目录♦IEi—1CT1辽宁交专现教中心白夏清

《VFP应用与开发案例教程》

参数说明:

from:指定要查找的数据来自哪些表或视图。

Into:指出查询结果输出到哪里,若省该参数,屏幕上会

出现查询窗口显示查询结果。

Where:指定查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论