vfp中如何删记录

vfp中如何删记录,第1张

如果要删除部分记录,通常要先逻辑删除,然后再物理删除。

逻辑删除就是给记录打上删除标记,用命令:

dele <范围> for <条件>

举例:

要将3、4、5、6、7条记录中性别为“男”的记录逻辑删除

go 3

dele next 5 for 性别="男"

如果想把已经逻辑删除的记录,物理删除,也就是真正从磁盘中删掉,用命令:

pack

要想把所有记录删掉有两个方法:

方法1:

dele all (把所有记录先逻辑删除)

pack (把带删除标记的记录物理删除)

方法2: (不用逻辑删除就可把记录一次删除掉)

zap (系统会警告:真的要全部删除吗?y/n)

如果是系统中的临时表,关闭后会自动删除;

如果在中间过程中用于存放临时数据而自己创建的非临时表,则需在退出时用delete语句删除。

不知道你这个 _cur0 表是用哪种方式创建的

DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它

更多

Visual FoxPro常用命令分类表

数据库文件及记录命令

ADD TABLE 在当前数据库中添加一个自由表

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

APPEND FROM ARRAY 由数组添加记录到表中

APPEND FROM 从一个文件中读入记录,追加到当前表的尾部

APPEND GENERAL 从文件中导入OLE对象并将其放入通用字段

APPEND MEMO 将文本文件的内容复制到备注字段中

APPEND PROCEDURES 将文本文件中的存储过程追加到当前数据库中

AVERAGE 计算数值表达式或字段的算术平均值

BLANK 清除当前记录中所有字段的数据

BROWSE 打开浏览窗口,显示当前或选定表的记录

CALCULATE 对表中的字段或包含字段的表达式进行财务和统计 *** 作

CHANGE 显示要编辑的字段

CLOSE 关闭各种类型的文件

CLOSE MEMO 关闭一个或多个备注编辑窗口

COMPILE DATABASE 编译数据库中的存储过程

CONTINUE 继续执行先前的LOCATE命令

COPY MEMO 复制当前记录中的指定备注字段的内容到文本文件

COPY PROCEDURES 将当前数据库中’的存储过程复制到文本文件

COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表

COPY STRUCTURE EXTENDED 创建新表,它的字段包含当前选定表的结构信息

COPY TO ARRAY 将当前选定表中的数据复制到数组

COPY TO 用当前选定表的内容创建新文件

COUNT 统计表中记录数目

CREATE 生成一个新的VisualFoxPro表

CREATE CONNECTION 创建一个命名连接并把它存储在当前数据库中

CREATE DATABASE 创建并打开一个数据库

CREATE TRIGGER 创建表的删除、插入或更新触发器

CREATE VIEW 从VisualFoxPro环境创建视图文件

DELETE 给要删除的记录做标记

DELETE CONNECTION 从当前数据库中删除一个命名连接

DELETE DATABASE 从磁盘上删除数据库

DELETE TRIGGER 从当前数据库的表中删除“删除”、“插入”或“更新”触发器│

DELETE VIEW 从当前数据库中删除一个SQL视图

DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息

DISPLAY CONNECTIONS 显示当前数据库中与命名连接有关的信息

DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息

DISPLAY MEMORY 显示内存变量和数组的当前内容

DISPLAY PROCEDURES 显示当前数据库中存储过程的名称

DISPLAY STRUCTURE 显示一个表文件的结构

DISPLAY TABLES 显示包含在当前数据库中所有的表和表的信息

DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息

DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它

DROP VIEW 从当前数据库中删除指定的SQL视图

EDIT 显示要编辑的字段

查找到以后,加上删除标记,然后再物理删除。

如程序:

use

学生档案

accept

"输入要查询的姓名:"

to

name

locate

for

姓名=name

&&查询

do

while

found()

&&如果有满足条件的记录就循环

delete

&&给找到的记录加上删除标记

continue()

&&继续查询

enddo

pack

&&将找到的记录彻底删除

use

1、定位那一行:直接输入记录号即可,如要定位到第10号记录,输入:10

2、把定位记录号后的所有记录加删除标志:delete

rest,这要注意,表中有没有打开索引,如果索引打开,那么有删除标志的记录不一定是记录号都是≥10的,最好查看一下再继续

3、如果要彻底删除,还要加一句pack,但要注意,这一命令下去了,所有有删除标志的记录都没有了,包括以前你加了删除标志上去的记录

ZAP &&物理删除当前选定的记录

或者是

DELETE &&逻辑删除选定的记录,可以恢复

PACK &&物理删除已经逻辑删除过的记录

比如:

use tabledbf excl &&以独占方式打开要 *** 作的表

go top &&移动指针到第一行

locate for name="王八" &&定位记录

if found() &&判断条件

zap &&彻底删除记录

endif

它与下面的程序是等价的:

use tabledbf excl &&以独占方式打开要 *** 作的表

go top &&移动指针到第一行

locate for name="王八" &&定位记录

if found() &&判断条件

delete &&给记录标注删除符号

pack &&物理删除有删除标记的记录

endif

以上就是关于vfp中如何删记录全部的内容,包括:vfp中如何删记录、如何删除VFP程序中的临时表、在VFP环境下,如何用命令删除整张表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10135696.html

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

发表评论

登录后才能评论

评论列表(0条)

保存