资源描述:
《VFP复习讲义2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VFP讲稿第3~4章2012表的概念表是相关数据的集合,按照一定的组织形式,以DBF为扩展名的文件保存,FPT(表备注文件)组成:表结构和记录分类:自由表和数据库表字段的基本属性(字段名、数据类型、宽度、小数位数和空值支持);命名规则:可以包含字母、数字和下划线、汉字;不以数字开头;长度为1~128(自由表字段名以及索引标志名长度只能为10)数据类型:宽度固定的数据类型的名字(8:D,T,B,Y4:M,G,I1:L<=254:C)小数位数:包含在总宽度中,同时还要注意总宽度中还包含小数点一位空值:表示值不确定;空值可以等价于任何一种数据类
2、型CTRL+0(表的字段中空值的输入)表结构的创建和修改创建表的结构createtable
3、dbfxs(xhc(9),xmc(8)NULL,csrqd(8)notnull)创建自由表和数据库表createcursorxs(xhc(9),xmc(8)NULL,csrqdnotnull)创建临时表修改表的结构ALTERTABLEXSADD
4、RENAME
5、DROPCOLUMNBJC(2)
6、BJTOBJBH
7、BJBH修改字段的类型和宽度ALTERTABLEXSALTERCOLUMNBJBHN(5,0)注意:对于数值型字段,必须指定小数位数,哪怕位数
8、为0表的基本操作追加APPENDBLANK(可在程序代码中或命令窗口中使用)追加一条记录CTRL+Y只能在浏览窗口中使用追加一条记录appendfrom表名for条件追加多条记录(以同名字段填充)insertblank(before)(VFP命令)事先应将表打开insertintoxs[(xm,xh,xb)]values(“”,””,””)(SQL命令)如果该表未打开,则会自动打开该表如果省略字段名列表,则values后面提供的值必须按照表中字段的先后顺序给出如果给出字段列表,则values后面提供的值应按照字段列表的顺序给出浏览brows
9、efor/whiledisplay(分屏显示)/listFOR:所有满足条件的记录WHILE:当遇到第一个不满足条件记录则停止命令的执行表的基本操作定位相对定位skip(正数
10、负数)当前记录号为9SKIP-3绝对定位go(goto)Ntopbotton定位到记录号为N的记录条件定位locatefor条件(从第一条记录开始搜索,定位在第一个满足条件的记录上)continue(定位到下一个满足条件的记录)记录指针bof()eof()recno()(记录号的变化范围:1~n+1)空表.t..t.1表的最大记录号:当前记录总数+1非空表.f..f.
11、1记录指针指向BOF时,记录号为1记录指针指向EOF时,记录号为N+1表的基本操作修改字段的值(更新记录)replace字段名1with表达式1[,字段名2with表达式2]for条件
12、范围子句《vfp命令》replacexbwith“男”,csrqwithdate()FOR条件:替换多个字段replaceALLxbwithiif(xb=1,”女”,“男”)REPLACE默认只对当前记录进行处理根据条件对同一个字段做不同的替换:replacealljbgzwithiif(zc=”教授”,jbgz+400,iif(zc=”副教授”,jbgz+
13、300,iif(zc=”讲师”,jbgz+200,jbgz)))范围子句:ALL:所有记录NEXTN:从当前记录开始的N条记录REST:从当前记录开始,一直到记录的结束RECORDEN:记录号为N的记录updatefrom表文件名set字段名=表达式where条件《SQL命令》表的基本操作删除逻辑删除deleteallfor条件deletefrom表文件名where条件《SQL命令》控制对带删除标记记录的访问:setdeletedON
14、OFF带删除标记的记录不能
15、可以访问reccount():setdeleon对该函数不起作用
16、,它统计的时文件中没有被彻底删除的记录的总条数物理删除(彻底删除)pack:把带有删除标记的记录彻底删除zap:将所有记录彻底删除,仅保留表结构以上两条命令,要求表以独占方式打开恢复记录(去掉删除标记)recall范围子句
17、for条件:该命令如果不加范围和条件,则只恢复当前记录(display
18、delete
19、replace)deleted():判断当前记录是否带有删除标记表的基本操作筛选记录的筛选:临时筛选:在普通命令后加for/while条件长期性筛选:setfilterto条件字段的筛选:browsefields字段列表setfield
20、sto字段列表表的基本操作打开表:use表名;Use表名again在不同工作区打开同一张表关闭表:use;closetable;closeall;closedatabase(如果