求vfp中insert命令的详细用法

求vfp中insert命令的详细用法,第1张

VFP INSERT – SQL 命令

在表尾追加一个包含指定字段值的记录

INSERT INTO dbf_name [(fname1 [, fname2, ...])]

VALUES (eExpression1 [, eExpression2, ...])

或者

INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR

参数

INSERT INTO dbf_name

指定要追加记录的表名。dbf_name 中可以包含路径,也可以是一个名称表达式。

如果指定的表没有打开,则 Visual FoxPro 先在一个新工作区中以独占方式打开该表,然后再把新记录追加到表中。此时并未选定这个新工作区,选定的仍然是当前工作区。

如果所指定的表是打开的,INSERT 命令就把新记录追加到这个表中。如果表不是在当前工作区打开的,则追加记录后表所在的工作区仍然不是选定工作区,选定的仍然是当前工作区。

在命令执行期间, 当前工作区改变为要插入新记录的工作区。换句话说, 在执行 insert 命令时, 是在与要插入记录所在的表的工作区中, 而不管在发出命令前的当前工作区是哪一工作区。

[(fname1 [, fname2 [, ...]])]

指定新记录的字段名,insert – sql 命令将向这些字段中插入字段值。

VALUES (eExpression1 [, eExpression2 [, ...]])

新插入记录的字段值。如果省略了字段名,那么必须按照表结构定义字段的顺序来指定字段值。

如果 eExpression 是一个字段名, 它必须包括表别名。

FROM ARRAY ArrayName

指定一个数组,数组中的数据将被插入到新记录中。从第一个数组元素开始,数组中的每个元素的内容依次插入到记录的对应字段中。第一个数组元素的内容插入到新记录的第一个字段,第二个元素的内容插入到第二个字段,… 依次类推。

在包括 FROM ARRAY 子句时任何字段默认值被忽略。

FROM MEMVAR

把内存变量的内容插入到与它同名的字段中。如果某一字段不存在同名的内存变量,则该字段为空。

备注

新记录中包含了 VALUE 子句列出的值,或包含指定的数组或内存变量中的值。插入新记录后,记录指针指向新记录。

示例

下面的例子打开 employee 表并添加一条记录。

USE employee

INSERT INTO employee (emp_no, fname, lname, officeno)

VALUES (3022, "John", "Smith", 2101)

下面示例打开 testdata 数据库中的 customer 表。用 scatter 命令把当前记录的内容赋给变量, 并把表的结构复制到名为 cust2 的新表中。用 INSERT - SQL 插入一个新记录到 cust2 表, 用 BROWSE 来显示新记录。

CLOSE DATABASES

CLEAR

OPEN DATABASE (HOME(2) + 'Data\testdata')

USE Customer &&打开 customer 表

* Scatter 当前记录到内存变量

SCATTER MEMVAR

* 复制当前表结构到示例表

COPY STRUCTURE TO cust2

* 从内存变量插入记录

INSERT INTO cust2 FROM MEMVAR

SELECT CUST2

BROWSE

* 关闭并删除示例表

USE

DELETE FILE cust2.dbf

VFP的APPEND命令是添加一个或多个新记录的表的末尾。

APPEND命令

添加一个或多个新记录的表的末尾。

句法:

APPEND [BLANK]

[IN nWorkArea | cTableAlias]

[NOMENU]

参数:

BLANK

添加一个空白记录到当前表的末尾。当您发出APPEND BLANK VisualFoxPro不打开编辑窗口。您可以编辑与浏览,更改或编辑新的记录。

IN nWorkArea

指定表到一个新的记录被追加的工作区。

IN cTableAlias

指定表到一个新的记录被追加的别名。

如果省略nWorkArea和cTableAlias,一个新的记录追加到表中的当前工作区。如果发出追加,一个空白的记录添加到表你nWorkArea或cTableAlias和表指定的自动选择。如果发出APPEND BLANK,一个空白的记录添加到表你nWorkArea或cTableAlias和表指定没有被选中。

NOMENU

指定表格菜单标题被从系统菜单栏中删除,防止改变编辑窗口的格式。

APPEND命令示例:

下面的示例使用APPEND BLANK创建一个表与10条记录包含随机值,然后在表中显示的最大值和最小值。

CLOSE DATABASES

CREATE TABLE Random (cValue N(3))

FOR nItem = 1 TO 10  && Append 10 records

   APPEND BLANK

   REPLACE cValue WITH 1 + 100 * RAND( )  && Insert random values

ENDFOR

CLEAR

LIST  && Display the values

gnMaximum = 1  && Initialize minimum value

gnMinimum = 100  && Initialize maximum value

SCAN 

   gnMinimum = MIN(gnMinimum, cValue)

   gnMaximum = MAX(gnMaximum, cValue)

ENDSCAN

? 'The minimum value is: ', gnMinimum  && Display minimum value

? 'The maximum value is: ', gnMaximum  && Display maximum value

在表的末尾添加一个或多个新记录。

APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]

参数

BLANK

在当前表的末尾添加一个空记录。Visual FoxPro 在发出 APPEND BLANK 命令时并不打开编辑窗口。

可以使用 BROWSE、CHANGE 或 EDIT 命令编辑新记录。

IN nWorkArea

指定要添加新记录的表所在的工作区。

IN cTableAlias

指定要添加新记录的表的别名。

如果省略 nWorkArea 和 cTableAlias,新记录将添加到当前选定工作区的表中。如果发出 APPEND 命令,空记录将添加到由 nWorkArea 或 cTableAlias 指定的工作区的表中,并且自动选定该表;如果发出 APPEND BLANK 命令,空记录将添加到指定的 nWorkarea 或 cTableAlias 工作区的表中,但不选定表。

NOMENU

指定将表菜单标题从系统菜单栏中删除,以避免改变编辑窗口的格式。

备注

当发出 APPEND 或 APPEND BLANK 命令,并且没有在当前选定工作区中打开表时,将显示一个打开对话框,您可以在对话框中选择需要添加记录的表。

APPEND 命令打开一个编辑窗口,您可以在其中输入一个或多个新记录。增加新记录后,Visual FoxPro 将自动修改打开的所有索引。

示例

以下示例用 append blank 命令创建一个有 10 条记录的表,记录中包含有随机值,然后显示表的最大值和最小值。

CLOSE DATABASES

CREATE TABLE Random (cValue N(3))

FOR nItem = 1 TO 10 &&添加 10 条记录

APPEND BLANK

REPLACE cValue WITH 1 + 100 * RAND() &&插入随机值

ENDFOR

CLEAR

LIST &&显示值

gnMaximum = 1 &&初始的最小值

gnMinimum = 100 &&初始的最大值

SCAN

gnMinimum = MIN(gnMinimum, cValue)

gnMaximum = MAX(gnMaximum, cValue)

ENDSCAN

? '最小值是: ', gnMinimum &&显示最小值

? '最大值是: ', gnMaximum &&显示最大值


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11337084.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存