自动替换字段_第1页
自动替换字段_第2页
自动替换字段_第3页
自动替换字段_第4页
自动替换字段_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

3.2.6自动替换字段【格式】REPLACE<字段1>WITH<表达式1>[ADDITIVE][,<字段2>WITH<表达式2>[ADDITIVE]...][<范围>][FOR<逻辑表达式

1>][WHILE<逻辑表达式2>][NOOPTIMIZE]【功能】用表达式(<表达式1>、<表达式2>…)的值替换数据库中原来字段(<字段1>、<字

段2>…)中的数据。【说明】⑴对于数值型字段,若<表达式1>,<表达式

2>…的值比字段实际宽度长,那么REPLACE命令将按下面规则强制执行:①首先,截取小数的位置,对字段的小数部分四舍五入;②如果其值还不适合字段宽度,则用科学计数法替换字段的内容(肯定会损失精度);③最后,所有方法都失败,用“*”替换字段的内容。⑵省略范围时替换当前记录中的字段。⑶ADDITIVE选项只适用于备注字段的替换。若使用该选项,则把新内容追加到原备注字段内容后,否则,将覆盖原备注字段的内容。⑷<表达式1>,<表达式2>…的数据类型应分别与<字段1>,<字段2>…的类型相同,否则就会出错。3.3.1数据库的排序【格式】SORT

TO<新库文件>ON<字段1>[/A

|

/D][/C][,<字段2>[/A

|

/D][/C]..[ASCENDING

|

DESCENDING][<范围>][FOR<逻辑表达式1>][WHILE<逻辑表达式2>][FIELDS<字段名表>][NOOPTIMIZE]【功能】对当前打开的数据库文件按照指定的字段排序,并将排序结果输出到一个新的数据库文件中。3.3.2索引文件的建立、打开与关闭索引文件的概念索引文件的建立──INDEX【格式】INDEX

ON<表达式>TO

<idx索引文件>|TAG<索引标识名>[OF

<cdx

索引文件>][FOR

<逻辑表达式>][COMPACT]

[ASCENDING|DESCENDING][UNIQUE][ADDITIVE]【功能】对当前打开的数据库文件,按关键字表达式值的逻辑顺序建立索引文件。【说明】⑴Foxpro允许生成两种类型的索引文件:单索引文件(包含单一键值的索引文件.IDX)和复合索引文件(包含多重键值的索引文件.CDX)。⑵只有一个索引文件(主索引文件)控制数据库显示.⑶<表达式>应含有当前数据库的字段。⑷使用TAG<索引标识名>[OF

<cdx索引文件>]选项可以生成复合索引文件(.CDX),这种索引文件

可以由任意数量的标记(索引表目)组成,每个标记由它的唯一的<索引标识名>所标识。复合索引文件又分为两种类型:结构复合索引文件:当给出TAG<索引标识名>子句

而没有给出可选项OF

<cdx索引文件>子句时,它总是具有与数据库相同的名字,每当数据库打开时,它也自动随之打开。非结构复合索引文件:在TAG<索引标识名>后使用<cdx索引文件>]子句可以生成,它必须用SETINDEX或USE命令中的INDEX打开。3.引文件的打开⑴打开数据库文件的同时打开索引文件在USE命令中使用INDEX选项可在打开数据库文件的同时打开相关的索引文件⑵在数据库已经打开的情况下打开索引文件【格式】SET

INDEX

TO<索引文件名表>【功能】在数据库文件已经打开的情况下打开索引文件(.IDX)。⒋索引文件的关闭【格式】CLOSE

INDEX或SET

INDEX

TO【功能】关闭当前工作区中所有已打开的单索引文件和独立的复合索引文件。【说明】该命令只关闭数据库的索引文件,而不关闭数据库文件。3.3.3索引文件的维护选择主索引文件──SET

ORDER

TO重建索引文件──REINDEX【格式】REINDEX【功能】给一个已建好的索引文件重新建立索引。【说明】⑴在执行REINDEX命令之前,必须先打开原来的索引文件。⑵REINDEX命令也会更新复合索引文件中所有的“识别索引”(TAG)。⑶REINDEX命令在重建索引文件时仍将保持索引文件的原有属性。这种重新建立索引并不是改变关键字值,而是将对数据库文件的修改在原来建好的索引文件中反映出来。3.3.4索引查找1.

FIND【格式】FIND<字符串>【功能】在当前数据库文件的主索引文件中查找符合指定<字符串>的第一条记录。【说明】⑴FIND命令必须是在当前数据库已建立索引且索引文件处于打开状态时才能使用。⑵FIND命令只能找到相匹配的第一条记录。若找到,则FOUND()返回.T.,否则返回.F.。⑶FIND只能查找字符串,且字符串也可以不加引号,但是当索引关键字值有前导空格时,字符串必须加引号。当使用字符型内存变量时,应用宏替换函数“&”。⑷FIND命令的执行受以下两条设置命令的影响:②SET

EXACT

ON|OFF设置为ON时,执行精确比较(即<字符串>必须与索引关键字的值完全匹配)。设置为

OFF时(缺省设置),执行不精确比较(即<字符串>可以是索引关键字的全部,也可以是左端的几个字符)。2.

SEEK【格式】SEEK<表达式>【功能】在当前数据库文件的主索引文件中查找与指定<表达式>相匹配的第一条记录。【说明】⑴当SEEK中<表达式>为字符串时,须用定界符;为内存变量和数值,不需用定界符;为日期,须用一对花括号括起来;为逻辑值,用.T.,.Y.表真,.F.,.N.表示假。⑵SEEK可以查找字符型、数值型、日期型和逻辑型数据,使用起来比FIND要灵活。函数数据库的统计与汇总3.4.1数据库记录的统计【格式】COUNT[<范围>][FOR<逻辑表达式1>][WHILE<逻辑表达式2>]

[TO<内存变量>][NOOPTIMIZE]【功能】统计当前打开的数据库文件中某范围内满足给定条件的记录数。【说明】⑴该命令用于统计满足给定条件的记录个数,使用

TO<内存变量>选项可将统计结果存入指定的内存变量中。省略条件和范围时,对全部记录统计。⑵如果执行了SET

DELETED

ON命令,则做了删除标记的记录不统计在内,但RECCOUNT()函数

将忽略此设置,即使做了删除标记,它仍将这些记录统计在内。3.4.2字段求和【格式】SUM[<表达式列表>][<范围>][FOR<逻辑表达式1>]

[WHILE<逻缉表达式2>]

[TO<内存变量表>|

TO

ARRAY<数组>][NOOPTIMIZE]【功能】对当前打开的数据库文件中指定的数值字段表达式求和,并将求和结果存入内存变量或数组中。【说明】⑴省略<范围>,默认为ALL。⑵同时省略<范围>、FOR及WHILE时,则对全部记录求和。⑶命令中的<表达式列表>可以是数值型字段名,也可以是含有数值型字段的表达式,当有多个时,需要用逗号“,”隔开。如果省略<表达式列表>,则对数据库中全部数值型字段求和。计算结果可存入由<内存变量表>指定的内存变量或由<数组>3.4.3字段求平均值【格式】AVERAGE[<表达式列表>][<范围>][FOR<逻辑表达式1>][WHILE<逻辑表达式2>][TO<内存变量表>|TO

ARRAY<数组>][NOOPTIMIZE]【功能】计算当前打开的数据库文件中指定的数值字段表达式的算数平均值,并将结果存入内存变量或数组中。【说明】参见SUM命令的说明。3.4.4字段的计算求值【格式】CALCULATE<表达式列表>[<范围>][FOR<逻辑表达式1>] [WHILE

<逻辑表达式2>][TO

<内存变量表>

|

TO

ARRAY

<数组>]

[NOOPTIMIZE]【功能】对当前打开的数据库文件中的数据进行财务及统计计算,并将计算结果存入内存变量或数组中。【说明】⑴省略<范围>、FOR<逻辑表达式1>、WHILE<逻辑表达式2>时,统计计算数据库的全部记录,否则只统计计算指定范围内满足条件的记录。⑵<表达式列表>为一个或多个用逗号“,”分隔的财务及统计函数。这些函数包括:①AVG(<数值表达式>):计算数据库中某一范围或满足某条件的数值型字段表达式的平均值。②CNT():计算数据库中某一范围或满足某条件的计录的个数。③MAX(<表达式>)、MIN(<表达式>):计算指定范围内满足某条件的字段表达式的最大(小)值。其中<表达式>可为数值型、字符型或日期型。④NPV(<利率>,<现金流量值>[,<初期投资值>]):计算数据库中指定字段的净现值。⑤STD(<数值表达式>):计算数据库中指定字段的标准差。其中<数值表达式>可以是字段名或含有字段名的表达式。⑥SUM(<数值表达式>):计算数据库中指定字段表达式的总和。其中<数值表达式>可以是字段名或含有字段名的表达式。⑦VAR(<数值表达式>):计算数据库中指定字段的均方差。其中<数值表达式>可以是字段名或含有字段名的表达式。3.4.5数据库的分类汇总【格式】TOTAL

TO<汇总文件>ON<关键字段>

[FIELDS<字段列表>|

FIELDS

LIKE<框架>|FIELDS

EXCEPT<框架>][<范围>][FOR<逻辑表达式1>][WHILE<逻辑表达式2>][NOOPTIMIZE]【功能】对当前打开的数据库文件中指定的数值型字段,按照关键字段进行分类统计,并将统计结果存入一个新的数据库文件中。【说明】⑴执行分类汇总之前必须先对要分类汇总的数据库文件按要分类汇总的字段(即关键字段)进行排序

或索引。⑵<汇总文件>为一独立的数据库文件,系统默认的扩展名为.DBF。FIELDS<字段列表>指定要汇总的各

数值字段,省略时将对数据库中所有数值型字段进行汇总。统计生成的数据库文件中的记录个数为原数据库文件对关键字段分类后的分类,记录是关键字相同的第一条记录值,其中求和的数值型字段值为相同关键字的数值型字段的和。若求和的结果长度大于数值型字段的长度,则FoxPro系统会在这个字段上放入若干个“*”。为了避免这种情况发生,可用MODIFY

STRUTURE对原数据库文件中要分类求和的字段的宽度先增加,然后再进行分类求和。3.5多重数据库的操作3.5.1工作区的选择工作区的概念

:专门在内存中开辟的存储区,用来存放从磁盘上调入内存的数据库文件及其相关文件。在Foxpro中,最多可以同时打开255个数据库文件,分别存放在255个工作区中.为了便于选择,Foxpro为每个工作区规定一个代码(1~255)作为各工作区的标识。用户既可以通过工作区的代码来选择

工作区,也可以使用A~J之间的字母或工作区中已打开的数据库的别名来选择。在Foxpro提供的多个工作区中,其中只有一个工作区的身分最高,称之为当前工作区,在该工作区中打开的数据库称为当前数据库。访问当前工作区中数据库的字段时可以直接使用其字段名,而访问其它工作区中数据库的字段时必须使用“别名->字段名”或“别名.字段名”格式。2.工作区的选择——SELECTFoxPro缺省的工作区为1号工作区,利用SELECT命令可在255个工作区中选择一个作为当前工作区。【格式】SELECT<数值表达式>|<字符表达式>【功能】选择一个工作区作为当前工作区。【说明】⑴<数值表达式>和<字符表达式>分别用数字和字母或别名表示工作区的名称,若<数值表达式>值为0,则选择当前没有使用的代码最小的工作区作为当前工作区。⑵利用SELECT命令可以选择多个工作区,但当前工作区只有一个,即最后一次使用SELECT命令所选择的那个工作区。⑶每个工作区都有自己独立的记录指针,所有改变记录指针的命令只影响当前工作区中的数据库文件。3.3.5.2多工作区下数据库文件的打开与关闭1.多工作区下数据库文件的打开在多工作区下打开一个数据库文件的方法有二种:一是先选择一个工作区为当前工作区,然后在该工作区打开一个数据库文件;二是不改变当前工作区,直接指定在某一个工作区中打开某个数据库文件。2

2.多工作区下数据库文件的关闭利用USE命令只能关闭当前工作区中打开的数据库文件,如果需要同时关闭所有工区中已打开的数据库文件,可通过如下命令实现。⑴CLOSE

ALL|DATABASES【格式】CLOSE

ALL|DATABASES【功能】CLOSE

ALL为关闭所有类型的文件,并

置1区为当前工作区。CLOSE

DATABASES关闭所

有打开的数据库文件、索引文件和格式文件,并⑵CLEAR

ALL【格式】CLEAR

ALL【功能】关闭所有打开的数据库文件,并选择当前工作区为1区,同时关闭所有的索引文件、格式文件和备注文件。3.5.3数据库的关联【格式】SET

RELATION

TO[<表达式1>

INTO<数值表达式1>

|<字符表达式1>[,<表达式2>

INTO<数值表达式2>

|<字符表达式2>

...][ADDITIVE]]【功能】在两个或两个以上已打开的数据库文件之间建立关联。【说明】⑴<数值表达式1>,<数值表达式2>,…是用数字表示的工作区代码。<字符表达式1>,<字符表达式

2>,…是用A~J之间的字母或数据库的别名表示的工作区的名称。⑵<表达式1>,<表达式2>,…为不同数据库中所具有的共同字段(或共同字段表达式),它决定数据库间的关联方式。该命令中有以下二种关联方式:①关键字方式这种关联方式要求相关联的数据库文件中须包含

该关键字表达式,且被关联的数据库文件必须按

该关键字表达式建立索引。每当移动当前数据库

的记录指针时,系统自动检索被关联数据库中与

此关键字表达式相同的第一条记录。若检索成功,则相关联的数据库记录指针指向检索到的第一条

记录;如果检索不成功,则记录指针指向文件尾。②数值表达方式这种关联方式是根据记录号进行关联的。每当移动当前数据库的记录指针时,与其关联的数据库的

记录指针自动定位于记录号等于该数值表达式值

的记录。若当前数据库文件的记录号大于相关联

的数据库文件的记录号,则记录指针指向文件尾,且EOF()函数返回.T.。⑶当一次所要关联的数据库超过一个以上时,需要使用ADDITIVE选项。⑷利用SET

RELATION

OFF

INTO<别名>命令可以清除两个数据库之间的关联。3.5.4数据库的连接【格式】JOIN

WITH

<数值表达式>

|

<字符表达式>TO

<新库文件> FOR

<逻辑表达式>[FIELDS

<字段列表>]

[NOOPTIMIZE]【功能】将两个工作区中已打开的数据库文件,按照指定的条件进行连接,生成一个新的数据库文件。【说明】⑴连接时,首先将记录指针指向当前数据库的第一条记录,并顺序检索被连接数据库(或别名数据

库)中的每条记录,若<逻辑表达式>为.T.,则在新数据库文件中生成一条记录。然后将记录指针

指向当前数据库的第二条记录,并重复上述过程,直到当前数据库文件中所有记录均处理完毕为止。⑵如果使用FIELDS<字段列表>选项,则只有<字段列表>中的字段才放到新数据库文件中,省略时则包括当前数据库中的所有字段和别名数据库中的全部字段。⑶被连接的数据库文件中的字段应用“别名-字段”或“别名.字段”来表示。3.5.5数据库的更新【格式】UPDATE

ON

<关键字段名>

FROM

<数值表达式>

|

<字符型表达式> REPLACE

<字段1>WITH

<表达式1>

[,

<字段2>

WITH

<表达式2>

...][RANDOM]【功能】用FROM指定的工作区中的数据库文件的数据来更新当前数据库文件中的数据。【说明】⑴UPDATE命令是按照<关键字段名>来更新的,因

此两个数据库文件必须具有相同的<关键字段名>。⑵被更新的数据库文件必须在当前工作区中打开,别名数据库文件必须在其它工作区中打开。⑶如果别名数据库中有多条记录满足条件,则只有第一条记录起作用。⑷当要更新的数据库中关键字段值相同的记录有多条时,仅修改第一条记录。⑸如果省略RANDOM选项,则两个数据库必须事先按<关键字段名>进行排序或建立索引。否则,只要求被修改的数据库文件按此关键字段排序或建立索引,而FROM后面的别名数据库文件则不需要。⑹当<表达式1>,<表达式2>,…中含有别名数据库中的字段时,必须使用“别名->字段”或“别名.字段”形式。3.6

数据库文件及其结构的复制数据库文件的复制【格式】COPY

TO<文件>[FIELDS<字段列表>][<范围>]

温馨提示

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

评论

0/150

提交评论