资源描述:
《VFP第二版电子教案1.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上篇——语言基础1.初识VisualFoxPro2.表的基本操作3.查询与统计第3章查询与统计3.1排序与索引排序:USEsbSORTTObmxON部门/D,价格FOR主要设备USEbmxLIST&&主窗口显示如下记录号编号名称启用日期价格部门主要设备备注商标1037-2磨床07/21/90241292.1222.T.memogen2016-2车床01/15/9227132.7321.T.memogen3016-1车床03/05/9062044.6121.T.Memogen4100-1微机08/
2、12/978810.0012.T.memoGen索引结构复合索引文件.CDX,主名与表的主名相同,自动维护表3.1索引功能分类表索引类型关键字重复值说明创建修改命令索引个数普通索引允许可作为一对多永久关系中的“多方”INDEX允许多个唯一索引允许,但输出无重复值为与以前版本兼容而设置候选索引不允许,输入重复值将禁止存盘可用作主关键字,可用于在永久关系中建立参照完整性INDEXCREATETABLEALTERTABLE主索引仅适用数据库表,可用于在永久关系中建立参照完整性CREATETABLEAL
3、TERTABLE仅可1个建立索引文件或增加索引标识INDEXON<索引关键字>TO<单索引文件名>
4、TAG<索引标识名>[OF<复合索引文件名>][FOR<条件>][COMPACT][ASCENDING
5、DESCENDING][UNIQUE
6、CANDIDATE][ADDITIVE]确定主控索引SETORDERTO[<数值表达式>
7、<单索引文件名>
8、[TAG]<索引标识>[ASCENDING
9、DESCENDING]][例3-3]为SB.DBF建立一个结构复合索引文件,其中包括3个索引:(1)记录以
10、价格降序排列,索引标识为普通索引型。(2)记录以部门升序排列,部门相同时则按价格升序排列,索引标识为普通索引型。(3)记录以部门升序排列,部门相同时则按价格降序排列,索引标识为候选索引型。USEsbINDEXON价格TAGjgDESCENDING&&建立SB.CDX,关键字价格,JG为普通索引型索引标识LIST&&记录已按价格降序排列INDEXON部门+STR(价格,9,2)TAGbmjg;&&关键字为字符表达式“部门+STR(价格,9,2)”,索引标识BMJG增入SB.CDXLIST&&索引表
11、达式运算后升序排列,使记录按部门升序、部门相同按价格升序排列INDEXONVAL(部门)-价格/1000000TAGbmjg1CANDIDATE;&&bmjg1为候选索引型索引标识,索引标识增入SB.CDXLIST&&索引表达式运算后升序排列,使记录按部门升序、部门相同按价格降序排列SETORDERTOTAGjg&&指定SB.CDX的索引标识JG为主控索引,JG索引序号为3LIST&&记录按价格降序排列SETORDERTOTAGbmjgLIST&&记录按(2)排列3.2查询命令1.顺序查询LOC
12、ATEFOR<条件>[<范围>][WHILE<条件>]CONTINUEUSEsbLOCATEFOR价格<15000ANDNOT主要设备DISPLAY&&显示:记录号编号名称启用日期价格部门主要设备备注商标4038-1钻床10/12/895275.0023.F.MemogenCONTINUE?RECNO(),名称,价格,主要设备&&显示:6复印机10305.01.F.CONTINUE&&状态条显示:已到定位范围末尾。2.索引查询SEEK<表达式>USEsbINDEXON编号TAGbhSEEK"03
13、8-1"&&不可写为:SEEK编号="038-1"?RECNO()&&显示:4INDEXON启用日期TAGqyrqSEEK{3/5/90}?FOUND()&&.显示.T.,表示找到该日期INDEXON价格TAGjgSEEK1000.003.工作区和数据工作期部门代码表和增值表BMDM.DBF:ZZ.DBF:结构:bmdm(代码c(2),名称c(6))结构:zz(编号c(5),增值n(8,2))记录:记录:记录号代码名称记录号编号增值111办公室1016-12510.00212设备科2016-11
14、000.00321一车间3038-11200.00422二车间523三车间选择工作区命令:SELECT<工作区号>
15、<别名>CLOSEALL&&关闭所有打开的表,当前工作区为1号工作区SELECT0&&1号工作区未打开过表,选定的工作区即该区USEsbGO3&&移至3号记录,注意该记录的部门字段值为22SELECT0&&选定2号工作区为当前工作区USEbmdmINDEXON代码TAGdmSEEKsb.部门&&即SEEK22?sb.编号,a.名称,名称&&显示“037-2磨床二车间”。这里“a.名