VFP基本数据类型Word文档格式.docx
《VFP基本数据类型Word文档格式.docx》由会员分享,可在线阅读,更多相关《VFP基本数据类型Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
,<
nExp2>
[,<
nExp3>
...])
MIN(<
【功能】返回数值表达式中的最大值MAX()和最小值MIN()。
10.求余数函数MOD()
【格式】MOD(<
nExp2>
【功能】返回nExp1除以nExp2的余数。
余数的小数位数与nExp1相同,符号与nExp2相同。
11.四舍五入函数ROUND()
【格式】ROUND(<
【功能】返回nExp1四舍五入的值,nExp2表示保留的小数位数。
12.π函数PI()
【格式】PI()
【功能】返回常量π的近似值
13.正弦函数SIN()
【格式】SIN(<
【功能】返回nExp的正弦值。
nExp以弧度为单位,函数值域为[-1,1]。
14.余弦函数COS()
【格式】COS(<
【功能】返回nExp的余弦值。
nExp以弧度为单位,函数的值域为[-1,1]。
15.正切函数TAN()
【格式】TAN(<
【功能】返回nExp的正切值。
nExp以弧度为单位,其值为π/2或-π/2时,系统返回一个绝对值很大的数。
16.反正弦函数ASIN()
【格式】ASIN(<
【功能】返回nExp的反正弦值。
自变量值必须在[-1,1]内,函数值为弧度,且值域为[-π/2,π/2]。
17.反余弦函数ACOS()
【格式】ACOS(<
【功能】返回nExp的反余弦值。
自变量的值必须在[-1,1]内,函数值为弧度,值域为[-π/2,π/2]。
18.反正切函数ATAN()
【格式】ATAN(<
【功能】返回nExp的反正切值。
函数值为弧度,值域为(-π/2,π/2)。
19.SIGN<
&
&
符号函数.若Expn>
0、=0、<
0,返回1、0、-1
20.RAND<
随机函数.返回0与1之间一个随机数,Expn为种子数
二、字符函数
字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。
函数中涉及的字符型数据项,均以cExp表示。
1.子串位置函数
【格式】AT(<
cExp1>
cExp2>
【功能】返回串cExp1在串cExp2中的起始位置。
函数值为整数。
如果串cExp2不包含串cExp1,函数返回值为零。
2.取左子串函数LEFT()
【格式】LEFT(<
cExp>
【功能】返回从cExp串中第一个字符开始,截取nExp个字符的子串。
3.取右子串函数RIGHT()
【格式】RIGHT(<
cExp>
nExp>
【功能】返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。
有关说明同LEFT()函数。
4.取子串函数SUBSTR()
【格式】SUBSTR(<
[,<
])
【功能】返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。
5.字符串长度函数LEN()
【格式】LEN(<
【功能】返回cExp串的字符数(长度)。
函数值为N型。
6.删除字符串前导空格函数LTRIM()
【格式】LTRIM(<
【功能】删除cExp串的前导空格字符。
7.删除字符串尾部空格函数RTRIM()|TRIM()
【格式】RTRIM|TRIM(<
【功能】删除cExp串尾部空格字符。
8.空格函数SPACE()
【格式】SPACE(<
【功能】返回一个包含nExp个空格的字符串。
9.字符串替换函数STUFF()
【格式】STUFF(<
cExp2>
【功能】从nExp1指定位置开始,用cExp2串替换cExp1串中nExp2个字符。
10.字符复制函数REPLICATE()
【格式】REPLICATE(<
【功能】返回将cExp串重复nExp次的字符串。
11.定义输出格式函数TRANSFORM()
【格式】TRANSFORM(<
eExp>
【功能】按格式描述式cExp指定的格式,输出任意表达式eExp的值。
12.大小写转换函数LOWER()和UPPER()
【格式】LOWER(<
UPPER(<
【功能】LOWER()将cExp串中字母全部变成小写字母,UPPER()将cExp串中字母全部变成大写字母,其它字符不变。
13.宏替换函数&
【格式】&
<
cVar>
[.<
cExp>
]
【功能】替换出字符型变量cVar中字符。
三、日期时间函数
日期时间函数是处理日期型或日期时间型数据的函数。
其自变量为日期型表达式dExp或日期时间型表达式tExp。
1.系统日期函数DATE()
【格式】DATE()
【功能】返回当前系统日期,此日期由Windows系统设置。
函数值为D型。
2.系统时间函数TIME()
【格式】TIME([<
])
【功能】返回当前系统时间,时间显示格式为hh:
mm:
ss。
若选择了nExp,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。
函数值为C型。
3.日期函数DAY()
【格式】DAY(<
dExp>
【功能】返回dExp式中的天数。
函数值为N型
4.星期函数DOW()、CDOW()
【格式】DOW(<
CDOW(<
【功能】DOW()函数返回dExp式中星期的数值,用1~7表示星期日~星期六。
CDOW()函数返回dExp式中星期的英文名称。
5.月份函数MONTH()、CMONTH()
【格式】MONTH(<
CMONTH(<
【功能】MONTH()函数返回dExp式中月份数。
CMONTH()函数则返回月份的英文名。
6.年份函数YEAR()
【格式】YEAR(<
【功能】函数返回dExp式中年份值。
四、转换函数
在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。
VisualFoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。
1.ASCII码函数ASC()
【格式】ASC(<
【功能】返回cExp串首字符的ASCII码值。
2.ASCII字符函数CHR()
【格式】CHR(<
nExp>
【功能】返回以nExp值为ASCII码的ASCII字符。
3.字符日期型转换函数CTOD()
【格式】CTOD(<
【功能】把“×
×
/×
”格式的cExp串转换成对应日期值。
4.日期字符型转换函数DTOC()
【格式】DTOC(<
dExp>
〔,1〕)
【功能】把日期dExp转换成相应的字符串。
5.数值字符型转换函数STR()
【格式】STR(<
][,<
【功能】将nExp1的数值转换成字符串形式。
6.字符数值型转换函数VAL()
【格式】VAL(<
【功能】将cExp串中数字转换成对应数值,转换结果取两位小数。
五、测试函数
在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,VisualFoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。
1.数据类型函数TYPE()
【格式】TYPE(<
【功能】返回cExp串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。
C:
字符型,D:
日期型,N:
数值型,L:
逻辑型,M:
备注型,G:
通用型,U:
未定义。
2.文件查找函数FILE()
【格式】FILE(<
【功能】根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。
文件存在,返回逻辑真(.T.)值,否则为逻辑假(.F.)值。
3.条件测试函数IIF()
【格式】IIF(<
lExp>
eExp1>
eExp2>
【功能】逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。
eExp1和eExp2可以是任意数据类型的表达式。
4.表结束标志测试函数EOF()
【格式】EOF([<
工作区号>
|<
别名>
【功能】测试记录指针是否移到表结束处。
如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。
5.表起始标识测试函数BOF()
【格式】BOF([<
【功能】测试记录指针是否移到表起始处。
如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。
工作区说明见EOF()函数。
6.当前记录号函数RECNO()
【格式】RECNO([<
【功能】返回指定工作区中表的当前记录的记录号。
对于空表返回值为1。
7.当前记录逻辑删除标志测试函数DELETED()
【格式】DELETED([<
【功能】测试指定工作区中表的当前记录是否被逻辑删除。
如果当前记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。
8.记录数函数RECCOUNT()
【格式】RECCOUNT([<
【功能】返回指定工作区中表的记录个数。
如果工作区中没有打开表则返回0。
9.WVISIBLE(EXPC)&
窗口是否可见
10.WEXIST(EXPC)&
窗口是否存在
一、主要命令:
1、CREATE
作用:
建立一个新的表。
格式:
CREATE[<
文件>
|?
](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下
同;
中括号表示其中的参数是可选的;
|管道符号表示两个参数只能选择一个,不能同时选择,下
同。
)
说明:
文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出
对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用
户输入想要建立的表名。
2、MODIFYSTRUCTURE
显示表文件结构,并允许修改此表的结构。
MODIFYSTRUCTURE
只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
APPEND[BLANK]
在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数
时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
在表文件中间插入一个新记录。
INSERT[BEFORE][BLANK]
INSERT在当前记录后插入一记录;
INSERTBEFORE在当前记录前插入一记录;
INSERTBEFOREBLANK在当前记录前插入一空记录。
INSERT-SQL命令追加记录
INSERTINTO表名[(字段1[,字段2…])];
VALUES(表达式1[,表达式2…])
例:
INSERTINTOXS(XH,XM,XB,XIMING)
VALUES(“950106”,“高山”,“男”,“”)
5、UPDATE
修改数据
update<
表名>
set<
字段1=表达式1>
<
字段2=表达式2...>
where<
条件>
例:
update<
字段1,字段2...>
=<
表达式1,表达式2...>
6、BROWSE
主要用于打开浏览窗口,查阅表文件并同时进行修改。
BROWSE
打开一个“浏览”窗口,供用户浏览或修改记录。
BROWSE[FIELDS<
字段名表>
]
7、USE
打开和关闭表文件。
USE[<
文件名>
USE
前一个命令用来打开<
指定的表文件,该表如有备注型字段,则同时打开相应的
备注文件(.fpt文件);
后一个命令关闭当前打开的表文件。
8、LIST和DISPLAY
显示表(.dbf)的内容、结构或状态。
LIST|DISPLAY[OFF][<
范围>
][FIELDS]<
表达式表>
[WHILE<
][FOR<
[TOPRINT|TOFILE<
LIST|DISPLAYSTRUCTURETOPRINT|TOFILE<
LIST|DISPLAYSTATUS[TOPRINT|TOFILE<
命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:
RECORDn
第几号记录、NEXTn当前记录开始的几个记录、REST自当前记录开始至文件末尾的所有记录、ALL
所有的记录。
不选范围则隐含范围为ALL;
FIELDS后跟字段名,字段名与字段名之间用逗号分
隔。
WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果不满足,便停止查找;
FOR后的条件查找所有满足条件的记录。
TOPRINT和TOFILE<
分别表示将显示结果在打印机上打印出
来和将显示结果输出到文件。
格式中,下面两个命令分别为显示表结构(STRUCTURE)和工作状态(STATUS)。
注:
LIST命令一次连续显示完所有记录内容。
DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示。
如果LIST与DISPLAY都无任何选择项时,LIST显示文件的全部记录,DISPLAY仅显示当前记录。
9、记录的定位
用记录指针(POINTER)定位记录。
1)GO[TO]RECORDn|TOP|BOTTOM
命令定位
GO[RECORD]N
GOBOTTOM
GOTOP
2)n
3)SKIP[+|-]n
第一个命令又叫绝对定位,其中,RECORDn定位到n号记录,TOP定位到第1个记录,
BOTTOM定位到最后一个记录。
第二个命令定位到第n个记录,n是一个数值。
第三个命令又叫相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记
录。
LOCATE[<
]FOR<
表达式>
范围:
ALL
NEXTN
RECORDN
REST
10、CHANGE和EDIT
显示要编辑或修改的字段。
CHANGE|EDIT[<
][FIELDS<
][WHILE<
11、REPLACE
用表达式的值代替命令中与之相对应的字段的内容。
REPLACE[<
]<
字段1>
WITH<
表达式1>
字段2>
表达式2>
][WHILE<
USEB2-1
REPLACEALL工资WITH工资+200FOR工资<
1000
BROW
12、DELETE、PACK、ZAP和RECALL
分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的
删除标志。
DELETE[<
](特例:
DELETEFILEFILENAME.DBF,
该命令删除指定的表文件)
PACK
ZAP
RECALL[<
13、SORT和INDEX
1)SORT
是建立一个其记录以新的物理顺序排列的新表文件,原文件不变.
SORTTO<
ON<
字段名1>
[/A][/C][/D][,<
字段名2>
[/A][/C][/D>
...
[ASCENDING|DESCENDING][<
][FIELDS<
字段表>
2)INDEX
作用:
对当前表根据关键字表达式的值从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:
INDEXON<
关键字表达式>
TO<
INDEXON<
TAG<
标识名>
[OF<
第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。
第1个命令建立.dbf表文件,第2个命令建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(CompoundIndex)。
删除索引
DELETE
TAGALL[OF复合索引文件名]
TAG索引标识1[OF复合索引文件名1][,索引标识2[OF复合索引文件名2>
…
14、USE<
表文件名>
INDEX<
索引文件名表>
、SETINDEXTO和SETORDERTO
分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
并确定第一个索引文件为主控索引文件.(当前起作用的索引文件称为主控索引文件,当前起作用的索引标识称为主控索引)
USE<
SETINDEXTO[<
打开当前表的一个或多个索引文件并确定第一个索引文件为主控索引文件,该命令用于单索引文件.
索引文件表>
][ADDITIVE]
说明:
(1)[<
]中第一个索引文件为主控索引文件.
(2)若缺省ADDITIVE选项,则在用本命令打开索引文件时,除结构复合索引文件以外的索引文件均被关闭
SETORDERTO[<
数值表达式>
]|[<
单索引文件名>
]|[TAG]<
索引标识>
[ASCENDING|DESCENDING>
(特例:
重新索引命令:
REINDEX)
对于打开表时自动打开的复合索引文件确定主索引,也能确定主索引文件.
(1)
数值表达式表示已打开的索引的序号.系统先为单索引文件编号,故结构复合索引文件的序号比单索引文件大.
(2)
SETORDERTO或SETORDERTO0命令取消主索引和主索引文件,表中记录将按物理记录输出.
15、CLOSEINDEX或SETINDEXTO
单独关闭索引文件,并不关闭与之相关的表文件
16、FIND、SEEK和LOCATE及CONTINUE
前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命
令行中字符串相同的第一个记录。
后一个命令在用USE打开表文件以后,直接查询表中字段内容。
FIND<
“字符串”>
|<
字符串>
SEEK<
(表达式的数据类型可为字符型、数字型、日期型和逻辑型。
LOCATE[<
CONTINUE
FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。
在用LOCATE命令找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
SETORDERTONL
‘确定索引关键字为NL(年龄)
FIND28
‘找年龄字段为“28“的记录
DISPLAY
‘显示当前记录
SEEK“28”
17.从磁盘上删除任意文件:
(1)ERASEfilename|?
(2)DELETEFILE[filename|?
18、COUNT
统计当前表文件中符合条件的记录数。
COUNT[<
][TO<
内存变量名>
内存变量名可用除参数外的任意字符。
19、SUM
对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。
SUM[<
][数值<
内存变量名表>
20、AVERAGE
对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
AVERAGE[<
][数