上一次课讲到创建数据库、使用命令显示与操作记录、创建与使用可视类、使用表格显示与操作记录、使用TreeView控件显示记录、表单之间传递数据。请同学们回顾这样两个问题:
数据库表结构中项目组成?
、编辑自定义方法?
、类型、宽度、小数位数、索引方式;
、输入掩码、标题;
;
。
①添加方法:菜单:表单/新建属性/输入上面的属性名/添加
②建立以后,可以通过“菜单:表单/编辑属性/方法程序”进行编辑。
③对表单对象新建方法程序内容的编辑与对象事件过程编辑相同。
上一次课主要学习的内容
整理课件
本章主要介绍VFP中的数据查询命令,SQL查询语句,在表单中定位记录,过滤记录以及数据统计。
整理课件
VFP中数据查询命令分类:
VFP中数据查询命令可以分为顺序查询、索引查询和过滤记录3种。
整理课件
格式:
LOCATE [<范围>] FOR <条件>
格式:
CONTINUE
功能:
定位到第一个符合条件的记录位置,
CONTINUE定位下一个符合条件的记录
注意:该命令只能在当前工作区查询。
整理课件
在下列示例中,定位德录,然后显示总数。
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && 打开 customer 表
SET TALK OFF
STORE 0 TO gnCount
LOCATE FOR ALLTRIM(UPPER()) = 'GERMANY'
DO WHILE FOUND()
gnCount = gnCount + 1
? company
CONTINUE
ENDDO
? '总的德国客户数: '+ LTRIM(STR(gnCount))
.Locate例
整理课件
命令格式:SEEK <表达式>
功能:SEEK 在一个表中搜索首次出现的一个记录,这个记录的索引关键字必须与指定的表达式匹配。
完整的命令格式:SEEK eExpression [ORDER nIndexNumber | IDXIndexFileName | [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]] [IN nWorkArea | cTableAlias]
说明:只能在索引过的表中使用 seek 命令,并且只能搜索索引关键字。除非 SET EXACT 的设置为 OFF ,否则匹配指的是完全匹配。
如果 SEEK 找到了与索引关键字相匹配的记录,则 RECNO( ) 返回匹配记录的记录号;FOUND( ) 返回“真”(.T.);EOF( ) 返回“假”(.F.)。
如果找不到相匹配的关键字,则 RECNO( ) 将表中记录的个数加 1,然后返回;FOUND( ) 返回“假”(.F.);EOF( ) 返回“真”(.T.)。
如果 SET NEAR 设置为 ON ,则记录指针指向与索引关键字最相匹配的那个记录的后面一个记录。如果 SET NEAR 设置为 OFF,则记录指针指向文件的结尾。在这两种情况下,RECNO(0) 都返回与关键字最匹配的记录号。
整理课件
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER company && 打开 Customer 表
SET EXACT OFF
STORE 'B' TO gcSeekVal
SEEK gcSeekVal
IF FOUND()
DISPLAY FIELDS company, contact
ENDIF
示例中,先打开 customer 表,并按 company 字段建立索引。然后,用 seek 命令查找与内存变量 gcseekval 的值相匹配的索引关键字表达式。
.Seek例
整理课件
VFP记录过滤是从逻辑上过滤掉不符合条件的记录,不真正删除。记录过滤可以将不需要的记录屏蔽掉。
命令格式:
SET FILTER TO [表达式] [IN 区号 | 别名]
功能:指定访问当前表中记录时必须满足的条件。
[表达式]--指定记录必须满足的条件。
[IN 区号 | 别名]指定受 SET FILTER 命令影响的工作区或表别名。用该子句来指定一个当前工作区以外的工作区或表。
关
数据查询与统计 来自淘豆网m.daumloan.com转载请标明出处.