vfp数据库课件1-第1-2基础xs.ppt

上传人:tia****nde 文档编号:12707474 上传时间:2020-05-14 格式:PPT 页数:51 大小:313.60KB
返回 下载 相关 举报
vfp数据库课件1-第1-2基础xs.ppt_第1页
第1页 / 共51页
vfp数据库课件1-第1-2基础xs.ppt_第2页
第2页 / 共51页
vfp数据库课件1-第1-2基础xs.ppt_第3页
第3页 / 共51页
点击查看更多>>
资源描述
第一章VFP基础,一、常量,常量是在数据处理过程中,其值不发生变化的量。是在程序或命令中直接引用的实际值。根据数据类型的不同,常量可分为:1数值型常量:由数字、小数点和正负号构成的常数12.345、1.2345E-52字符型常量:一个字符串。“”、作为定界符。AB,“12”,中国3日期型常量:严格的日期格式例如:1999/12/244逻辑型常量:.T.、.Y.、.F.、.N.大小写无关货币型常量:$123.5626没有科学计数法6.日期时间型常数:日期,时间2002/01/1510:00p,如何显示常量?格式:?常量功能:在屏幕上显示常量的值例:?12.3?大连练习:1、显示日期2010年3月1日2、显示逻辑值真,二、变量,变量是指在数据处理过程中其值可以变化的量。变量包括内存变量和字段变量。变量命名,能见名知义。变量名不能与关键字(VisualFoxPro6.0提供的命令,函数)重名,否则将会产生混乱。,1字段变量,字段变量也称为字段名变量,存在于数据表文件中(.DBF)。在一个数据表文件中,同一个字段名下的数据值是不同的,它随着记录的变化而改变,所以称它为字段变量。字段变量的类型与定义的该字段的数据类型一致。书名(C)、附光盘(L)、单价(N)等,2内存变量,内存变量独立于数据表文件,存在于内存之中,是在内存中开辟的临时单元,用于保存程序执行过程中的中间结果和最终结果,当退出VisualFoxPro6.0系统时,内存变量会自动消失。内存变量可以通过命令定义、保存、释放。内存变量的类型与它所接受的数据类型一致。,2内存变量,如何给内存变量赋值?命令格式1:内存变量=表达式内存变量=常量如何显示内存变量的值?命令格式:?表达式?变量?常量功能:在屏幕上显示表达式的内容,2内存变量,例:a=5?a(英文输入方式下)(1)简单内存变量如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M-),否则系统将访问同名的字段变量。单价=3333?单价?M.单价(2)数组,三、运算符与表达式,运算符:算术运算符、字符串运算符、关系运算符和逻辑运算符四种类型。表达式是由常量、变量、函数及括号通过运算符连接起来的有意义的式子,是VisualFoxPro6.0的重要语言成分。其中常量、变量、函数可看作最简单的表达式。根据表达式运算结果不同,常用的表达式分为五种类型:算术表达式、字符串表达式、关系表达式、逻辑表达式和日期表达式。,1算术运算符与算术表达式,(1)算术运算符(按优先级顺序由高到低排列)有:()括号+、-正、负号*或乘方*、/、%乘、除、取模(余数)+、-加、减同级运算符优先顺序按照从左至右的顺序依次进行。(2)算术表达式算术表达式是指用算术运算符将常量、变量、函数连接起来的表达式,其运算结果仍然是数值型。A+5*(B/9),2.字符串运算符与字符串表达式,(1)字符串运算符+字符串连接运算符,将几个字符串连接成一个新的字符串。-串尾空格移位连接符,把第一个字符串尾部空格移到后面一个字符串末尾后形成一个新的字符串。这两个运算符的优先级相同。(2)字符串表达式字符串表达式是由字符型运算符、字符型常量、变量和函数组成,其运算结果是字符型数据。,3关系运算符与关系表达式,(1)关系运算符、=、(或#、!=)、=、只限字符(=、$)分别是小于、大于、等于、不等于、小于等于、大于等于,精确等于、属于,其优先级均相同。用来对两个相同数据类型表达式值的大小进行比较。被比较的数据应该是数值型、字符型、日期型数据,而不是逻辑型数据。(2)关系表达式关系表达式是由关系型运算符、数值型表达式、字符型表达式、日期型表达式所组成的,其运算结果真.T.或假.F.。关系运算符两侧的运算对象的数据类型必须一致。关系表达式的一般格式为:,各种类型数据的比较方法如下:,数值型数据按其数值大小进行比较。字符型数据,对于单个字符,是按其ASCII码值进行比较。汉字按其所对应的拼音码进行比较。日期型数据的比较,是将日期看成“YYYYMMDD”的八位整数,按数值大小比较。?2004/03/232004/05/16,注意,当使用等号“=”比较两个字符串是否相等时,并不能确定左右两个字符串完全一样,因为在逐一比较它们的每一个字符时,当右边字符串的所有字符比较完后,还未发现不相同的字符,则认为二者相等。例如:“BCDE123”=“BCD”结果为.T.“BCD”=“BCDE123”结果为.F.该结果与“SETEXACTON/OFF”命令有关,当执行命令“SETEXACTON”后,上述两个表达式的值均为假(.F.)。只有当等号两边的字符串都完全相同时,其值才为真(.T.),通常称为完全匹配,系统默认为OFF状态。=为字符串精确比较运算符,只有当“=”两边的字符串逐个字符都相同时,其结果才为真,尾部空格也参与比较。在执行命令“SETEXACTON”后,运算符“=”与“=”完全相同。$为字符串包含运算符,一般格式为:$若包含或等于,则运算结果为真,称是的子串。必须是字符型数据才能进行字符运算。如果类型不一致,则要进行类型转换。,4.逻辑运算符与逻辑表达式,(1)逻辑运算符(按优先级从高到低的先后顺序)为:()、.NOT.(或!)、.AND.、.OR.分别是括号、逻辑非、逻辑与(两边的表达式值为真时结果为真)、逻辑或(只要有一个表达式为真时结果为真)(2)逻辑表达式逻辑表达式是由逻辑运算符、关系表达式、逻辑常量、变量和函数连接起来的式子,其结果仍是逻辑型常量。其一般格式为:,逻辑运算规则,5.日期型表达式,日期型表达式是由算术运算符(或)、算术表达式、关系运算符(或-:两个日期型数据相减,得到相差的天数,表达式结果为数值型数据。+:得到若干天以后的日期,表达式结果为日期型数据-:得到若干天以前的日期,表达式结果为日期型数据:比较两个日期的大小,表达式结果为逻辑值,1、思考:,2、比较下列命令的不同:a=5?A8?a?a=9a=a+3?A?a=a+2a=a+2,?2+36and3*5+6=0)如:?SQRT(4)2,数值转换,绝对值函数:ABS(X)功能:求X的绝对值如:?ABS(215)值为13,数值转换,取整函数:INT(X)*功能:求X的整数(去掉X的小数,无舍入)如:?INT(10.5)值为10应用1:判断奇偶若INT(X/2)=X/2成立则X为偶数,反之为奇数。应用2:判断一个数X能否被另一个数Y整除(或X是否为Y的倍数)若INT(X/Y)=X/Y成立,则X能被Y整除,反之不能。,数值转换,取余函数:MOD(,)如:?MOD(10,3)值为1应用:判断一个数能否被另一个数整除(余数为零)问题1:当被除数、除数分别为负数、都为负数时,结果如何?(略)问题2:判断X是否为偶数MOD(X,2)=0问题3:判断X能否被Y整除MOD(X,Y)=0,关于MOD(x,y)取余函数:1、当x,y同号时:余数(=函数的值)的符号与x,y相同。例如:mod(10,3)=1,mod(10,3)=12、当x,y异号时:函数的符号与除数y相同,函数值=y-余数例如:mod(10,3),余数=1,函数值=3-1=2结果为-2mod(10,3),余数=1,函数值=31=23、当x=小数,y=整数,函数值=小数。当x=整数,y=小数,函数值四舍五入取整。当x,y都为小数,等同于x=小数。除数为负,结果为负;除数为正,结果为正。,返回,数值转换,四舍五入函数:ROUND(X,)如:?ROUND(12.36,1)值为12.4?ROUND(12567.45,-2)值为12600说明:保留小数位时(舍入位0),四舍五入舍入位的下一位数。保留整数位时(舍入位0?y?-15d=.t.e=date()ab=34?Type(a).?Type(cd),NCLLDNU,字符串截取函数SUBSTR(,)如:A=ABCDEFG?SUBSTR(A,3,4)CDEFLEFT|RIGHT(,)如:B=THEFOXPRO?LEFT(B,7),RIGH(B,6)THEFOXFOXPROx=东北财经大学?Left(x,3),right(x,5)?LEFT(X,5)+*?LEN(LEFT(X,5),字符串处理函数,注意:汉字占2个字符位置空格也占字符位置,截掉空格函数TRIM|RTRIM()(截掉尾、右空格)A=ABCD则TRIM(A)=ABCDLTRIM()(截掉左空格)A=Whois则LTRIM(A)=WhoisALLTRIM()(截掉两端空格)A=Database则ALLTRIM(A)=Database,字符串处理函数,生成字符串函数:SPACE()功能:生成指定长度的空格字符串如:A=SPACE(3)?ABC+A+DEFABC_DEFREPLICATE(,)功能:生成同字符串组如:?REPL(abc,5)abcabcabcabcabc,字符串处理函数,字符串置换函数CHRTRAN(,)如:?CHRTRAN(database,db,DB)DataBaseSTRTRAN(,,,)如:?STRT(FOxPrO,O,o,1,2)FoxPro?STRT(FOxPrO,O)FxPr取消?STRT(FOxPrO,O,o,1)FoxPro全换,字符串处理函数,测字符串长度:LEN()如:?LEN(ABCDEF)6,字符串处理函数,字符转换函数,一般转换STR(,)功能:将数值表达式的值转换成字符串如:?STR(36.96,2),STR(36.96,5,2),STR(136.96,2,2)3736.96*注:长度首先满足整数,再满足小数位,若整数都满足不了,则显示*号,表示转换不成功,字符长度不足。符号、小数点都占位ASC()功能:求左第一字符的ASCII码值如:?ASC(ABC)?ASC(abs)?ASC()659732CHR()功能:将ASCII码转为相应的字符如:?CHR(65)A,字符转换函数,大小写字母转换函数(所有字符转换)UPPER()如:?UPPER(sys)SYSLOWER()如:?LOWE(SYS)sys,字符转换函数,宏代换函数&功能:用&后面的字符型内存变量的值替代&和其后的内存变量名,“.”表示字符型内存变量名结束。A=123B=AAAAAA=CCC?&A必须字符型?&B如:P=学生管理如:S=XS?&PUSE&S.DBF学生管理USE&S(相当于USEXS),宏代换函数举例,在程序中,常以少带多,增加输入、输出的灵活性如:X=XSXS为已建的学生库名(.DBF)USE&X相当于USEXS(打开学生库)LISTCOPYFILE&X.DBFTOYY.DBFP=学生管理?&P说明:1、&和字符型内存变量名之间不能留有空。2、在想再代换出来的字符串后连接其它字符,必须在字符型变量名后用符号“”作为宏功能的终止。,3、日期与时间函数:,基本日期函数DATE()D型如:?DATE()YEAR()N型如:?year(2009/10/20)?year(date(),MONTH()N型如:K=CTOD(10/23/2002)?MONTH(K)?MONT(2002/08/19)108CMONTH()C型如:?CMON(K)OctoberDAY()N型如:?DAY(K)23,基本日期函数,DOW()N型如:K=CTOD(08/19/2002)?DOW(K),DOW(02-08-19)3(2)3(2)CDOW()C型如:?CDOW(K)Tuesday?CDOW(CTOD(2002/08/19)Monday,日期函数,日期转换函数,CTOD()功能:字符型转日期型如:?CTOD(01/23/2010)?CTOD(01/23/10)DTOC()功能:日期型转字符型如:?DTOC(2001/11/19)严格的日期格式11/19/01,时间函数,TIME()C型如:?TIME=+TEME()TIME=18:30:10注意:DATE()结果是日期型TIME()结果是字符型,1、?INT(3.69)2、?LEN(“thisismybook”)3、?at(“人民”,”中华人民共和国”)4、?2002-06-08*10,5、?val(substr(“668899”,5,2)+16、表达式(大连北京)的值是7、?LEN(ABCD)-18、?RIGHT(LEFT(visualfoxpro,10),3),9、执行?STR(109.87,7,3)后,屏幕显示的是10、SUBSTR(“ABCDEF”,3,2)的结果是11、在VFP中,执行B=DTOC(DATE()+10)后,变量B的类型为,12、?LEFT(FoxbaseFoxPro,6)与?SUBSTR(“FoxbaseFoxPro”,1,6)结果相同?13.假定系统日期是1998年12月20日,有如下命令:MJ=MOD(YEAR(DATE(),100)执行该命令后,MJ的值是14.假定X=2,Y=5,执行下列命令后的结果?x=6?x+yX=Y?X?X=x+y,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!