- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章Visual FoxPro 数据库及操作 本 章 目标 1、 Visual FoxPro 数据库相关操作 2、 数据库表的建立和操作 3、 表的排序与索引 4、 数据完整性 5、 多表联合的操作 排序 SORT TO 新表名ON 关键字1[/D/A/C] 建立单索引文件 .IDXINDEX ON 索引表达式;TO单索引文件名;l[FOR 逻辑表达式] 建立结构复合索引 .CDX INDEX ON 索引表达式TAG 复合索引标识名;FOR 逻辑表达式;[ASCENDING | DESCENDING] 建立非结构复合索引 .CDX INDEX ON 索引表达式 ;TAG 复合索引标识名;OF 非结构复合索引文件名;[FOR 逻辑表达式]在数据资源的管理过程中,使用最频繁的操作莫过于查询满足一定条件的一系列数据,从而为日常决策提供足够的判断依据。对表记录的查询系统提供了两类查询命令:顺序查询和索引查询。 查询操作实际上就是起到了条件定位的作用。 1. 顺序查询 1).命令方式【格式】LOCATE FOR逻辑表达式1;[范围] 【功能】在表指定范围中查找满足条件的记录。 【说明】LOCATE 命令在表指定范围中查找满足条件 的第一条记录。逻辑表达式1:表示所需满足的条件。范围:指定查找范围,缺省时为ALL,即在整个表文件中查找。找到第一条满足条件的记录后,记录指针指向该记录,并将函数FOUND()(用于检测是否找到满足条件的记录)置为.T.;否则,记录指针指向范围的底部或文件结束标志,并且将函数FOUND()置为.F.,并在状态栏给出提示信息“已到定位范围末尾”。如果没有打开索引文件,查找按记录号顺序进行。若打开了索引,查找按索引顺序进行。该命令的最大特点是可以在没有进行排序或索引的无序表中进行任意条件的查询,这是索引查询做不到的,但在大型表中查询速度和效率也是最低的。CONTINUE命令:LOCATE找到第一条满足条件的记录后,可以用CONTINUE继续查找下一个满足条件的记录。CONTINUE命令必须在LOCATE命令之后使用,否则出错。在CONTINUE命令中实际隐含了前一个LOCATE命令中的条件。【例4-33】在STUD.DBF中查找学号前四位为0111的同学记录。USE STUD LOCATE FOR 学号=0111“ dispfound() continue 2).菜单方式 ① 首先打开表文件 ② 选择【显示】|【浏览】命令。 ③ 选择【表】|【转到记录】|【定位】命令,出现 如图3-19所示的定位记录对话框。 ④ 在“作用范围”下拉列表框中选择查询范围,在 FOR或WHILE框中输入查询条件,选择定位按钮。系统将指针定位于符合条件的第一条记录上。 2. 索引查询(FIND、SEEK) LOCATE命令用于按条件进行顺序定位,无论索引文件是否打开都可使用。在打开索引文件后,还可以用FIND、SEEK命令进行快速检索。 1).FIND命令 【格式】FIND 字符串/数值常量 【功能】在表文件的主控索引中查找关键字值与字符串 或数值常量相匹配的第一个记录。 【说明】必须打开相应的库文件、主索引文件。查询字符串,字符串可以不用定界符括起来,但 前后有空格的,则必须要括进来。查询常数,必须使用索引关键字的完整值。允许查询字符型内存变量,但必须使用宏替换函数。由于索引文件中关键字表达式值相同的记录总是排在一起的,可用SKIP、DISP命令来逐个查询。查询完满足条件的记录后,不能自然给出提示,常借助于EOF()函数来判断查询是否完成。多关键字查询,建立索引时STR函数若没有指定小数位,则应补齐不足10位的空格。如果用SET EXACT ON命令,则匹配必须是精确的。即FIND命令中的查询内容必须与记录的关键字段值完全相等。如果用SET EXACT OFF命令,则匹配可以是不精确的,即只要FIND命令中的查询内容与记录的关键字段值的左侧相等即可。 【例4-34】打开表文件STUD.DBF,查找姓“赵”的记录。 USE STUD SET ORDER TO xm FIND 赵 2).SEEK命令 【格式】SEEK 表达式 【功能】在表文件的主索引中查找关键字值与表达式值相匹配的第一个记录。 【说明】SEEK命令可以查找字符型、数值型、日期型、逻辑型表达式的值。SEEK命令中的表达式的类型必须与索引表达式的类型相同。可以查找字符、数值、日期和逻辑型字段的值。内存变量可以直接进行查询,不用进行宏替换。表达式为字符串时,必须用定界符括起来。日期常量也必须用大括号括起来。表达式可以为一复杂的表达式,计算机先计算表达式的
文档评论(0)