为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

上午8点.8月4号doc

2017-10-29 50页 doc 161KB 10阅读

用户头像

is_321575

暂无简介

举报
上午8点.8月4号doc上午8点.8月4号doc Vfp 作用:用来开发数据库管理系统 数据处理与运算 一. 常量与变量 常量:固定不变量的量叫常量 如:3.14 500 9.00 常量类型: 1.数值型 2.货币型 3.字符型 4.日期型 5.日期时间型 6.逻辑型 如学生数据: 姓名 出生日期 学费 上课时间 是否入党 张三 数值型常量 作用:主要用来表示数据大小 书写 .常规书写:由正负号,0---9,小数点组成 如:-99.66 88 .科学记数法:格式1 数值e+数值 或 数值e-数值 格式2 数值e数值 ...
上午8点.8月4号doc
上午8点.8月4号doc Vfp 作用:用来开发数据库管理系统 数据处理与运算 一. 常量与变量 常量:固定不变量的量叫常量 如:3.14 500 9.00 常量类型: 1.数值型 2.货币型 3.字符型 4.日期型 5.日期时间型 6.逻辑型 如学生数据: 姓名 出生日期 学费 上课时间 是否入党 张三 数值型常量 作用:主要用来表示数据大小 书写 .常规书写:由正负号,0---9,小数点组成 如:-99.66 88 .科学记数法:格式1 数值e+数值 或 数值e-数值 格式2 数值e数值 6 如:1500000 1.5x10科记式: 1.5e+6 1.5e6 -6 0.000012 1.2x10 1.2e-6 1.2e-6 输出表达式值的命令 格式1: ?表达式1,……表达式,n 功能:输出指定表达式的值,当为多个表达式时,各表达式有”,”分开,这里的表达式可以为常量,变量,,,或由常量,,变量,函数等组成的式子. 格式2:??表达1,…..表达式,n 功能:同格式1,但格式1为换行输出,格式2为接行输出 货币型常量 作用:用来表示钱币值 书写: 格式:$数值 特点:货币值能自动四舍五入保留四位小数 $500 $10 ?$500 ?$10 ?$5000 ?5000 ?$50+20 ?$18.558677565 字符型常量 作用:主要用来表示0个或多个字符,当表示0个字符时,同为空串 书写:由双引号”” 或单引号’ ‘,或中括号 [ ],三者中任意一对 括起来的任意多字符 注意:以上符号都必须在英语状态下书写 日期型常量 作用:主要用来表示某特定日期 书写: 格式有如下同种: 1.{^xxxx/xx/xx} 2.{^xxxx-xx-xx} 3.{^xxxx.xx.xx} 4.{^xxxx xx xx} ?{^2011/7/13} ?{^2011-7-13} ?{^2005 8 15} ?{^2007.10.20} 影响日期输出显示命令 1. 设置4位年份或2位年份命令 格式:set century on/off 功能:设置日期输出显示是4位年份(on)或是2位年份(off) 例: set century off ?{^2006-9-25} set century on ?{^2007-8-14} 2. 设置年,月,日,输出顺序命令 格式: set date to ymd/dmy/mdy 功能:设置日期输出时的顺序为该命令指定的顺序 set century off ?{^2006-9-25} set century on ?{^2007-8-14} set date to dmy ?{^2009-8-14} set date to mdy ?{^2009-7-12} set date to ymd ?{^2009-8-25} 3. 设置日期分隔符命令 格式:set mark to [字符] 功能:设置日期显示时的分隔符为该命令指定的字符 当[字符]省略时,则恢复到系统默认的”/”分隔符 日期时间型常量 作用:主要用来表示某特定的日期时间 书写: 格式1:{^日期,时:分:秒} 格式2:{^日期 时:分:秒} ?{^2008-5-25,18:25:36} ?{^2009-7-14 9:20:30} ?"今天日期是:",{^2011-7-14},$20,3.14,{^2009-7-14 15:20:30} 设置12或24小时制命令 格式:set hour to 12/24 功能:设置时间输出为12或24小时间制 set hour to 12 ?{^2009-8-14 16:20:36} ?{^2006-8-14 9:30:12} set hour to 24 ?{^2007-8-14 19:20:30} 逻辑型常量 作用:主要用来表示某些事件成立与否,当成立时,结果为.t.(真),否则为.f.(假) 书写: 1. .t. ,.f. 2. .y.,.n. 产生的结果只有: .t. 或 .f. 变量 变量:随时可以改变的量叫变量 变量分为: 1. 字段变量:是表中的列标 2. 内存变量:是计算机内存中一个临时的存储单元 如下表: 姓名 工资 职位 A 2100 经理 b 3600 员工 c 2900 主管 以上,姓名,工资,职位为三个字段变量,简称字段 内存变量 内存变量是计算机中的一个存储单元,这个单元可存储不同类型的表达式值. 内存变量按存储的值来分类型 1.数值型 n 2.货币型 y 3.字符型 c 4.日期型 d 5.日期时间型 t 6.逻辑型 l 产生变量并赋值命令 格式1: 变量名=表达式 功能:将=右边表达式的值赋给左边的变量,此时表达式,值的 类型确定变量的类型 变量名命名规则: 可以由汉字,字母,数值,下划线组成,不 能与数值开头. 如以下几变量: a_b 大a a12 A_b=5 /表示把5这个值赋给a_b这个变量 a=2 b=3 c=a+b ?a,b,c a=a+b+c b=a+b+c c=a+b+c ?a,b,c a= a="计算机" b="电脑" c="考试" ?a,b,c a1=3 a2=5 m1=a1*a2 m2=m1+a1+a2 ?a1,a2,m1,m2 a=2 b=3 c=a>b ?a,b,c 格式2:store 表达式 to 变量名1,….,变量名n 功能:一次性将表达式的值赋给 to 右边的一个或多个变量, 当为多个变量时,各变量用”,”分开 a=2 b=3 store a+b to a,b,c ?a,b,c store a+b+c to a,b,c ?a,b,c store "计算机" to a,b,c ?a,b,c store .t. to a,b ?a,b 数组变量 数组:是计算机中一片连续的存储单元,一个单元可存储一个表达式的值,一个单元表示一个数组元素 定义一维数组 格式: dimension 数组名(元素个数) 功能:用来定义一维数组,数组定义后,各元素被系统赋逻辑.f.值 如: dimension a(5) 分析产生数组情况如下表: A(1).f. A(2) .f. A(3) .f. A(4) .f. A(5) .f. dimension a(5) ?a(1),a(2),a(3),a(4),a(5) a(1)="张三" a(2)=3000 a(3)="经理" a(4)={^2008-9-14} a(5)=.t. ?a(1),a(2),a(3),a(4),a(5) dimension c(3) dimension d(3) store 2 to c(1),c(2),c(3) store c(1)*c(2)*c(3) to d(1),d(2) ?d(1),d(2),d(3) 定义二维数组 格式:dimension 数组名 (行,列) 功能:定义由行,列组成的二维数组,数组元素个数由行,列来确定 例:dimension k(3,4) 表示定义3行4列的二维数组,数组中有12个元素,如下表 K(1,1) .f. K(1,2) .f. K(1,3) .f. K(1,4) .f. K(2,1) .f. K(2,2) .f. K(2,3) .f. K(2,4) .f. K(3,1) .f. K(3,2) .f. K(3,3) .f. K(3,4) .f. dimension k(3,4) ?k(1,1),k(1,2),k(1,3),k(1,4) k(1,1)="姓名" k(1,2)="工资" k(1,3)="职位" k(1,4)="年龄" k(2,1)="张三" k(2,2)=2000 k(2,3)="经理" k(2,4)=30 k(3,1)="李四" k(3,2)=2000 k(3,3)="员工" k(3,4)=20 ?k(1,1),k(1,2),k(1,3),k(1,4) ?k(2,1),k(2,2),k(2,3),k(2,4) ?k(3,1),k(3,2),k(3,3),k(3,4) 数组总节: 1. 可用数组名访问数组中第一个元素 2. 二维数组可用一维形式访问 3. 给数组名赋值,就等于给所有数元素赋值 表达式 表达式:由运算符与运算数组成的的式子叫表达式 表达式按运算对像分类型: . 数值表达式 .字符表达式 .日期及日期时间表达式 .逻辑表达式 .关系表达式 数值表达式 运算符有: ( ):用来改变运算顺序 **或^:表示乘方运算符 如:5^3 表示5的3次方 *,/,%:分别表示乘,除,示余数运算符 +,-:加,减 2+24 如: -(ab)*y转成VF式: -(a^2+b^2)*y^4 5+b * D A+b c B+c 转成vf式: (5+b)/( (a+b)/(b+c)-c)*d %:求余数运算符,用来计算两个数相除后的余数 如:7%2 结果为1, a=9 b=3 ?a%b ?b%a ?1%20 字符表达式 运算符: +:用连接两个字符串成为新字符串 格式: 串1+串2 如: ?"计算机"+"电脑" s1="领悟" s2="abc" s3=s1+s2 ?s3 ?s3+s1+s2 -:有来连接两个字符串成为新字符 格式:串1-串2 当串1未尾有空格时,则将串1未尾的空格放在连成的新串 未尾 如: ?”abc “+”123” 结果为:”abc 123” ?”abc “-“123” 结果为:”abc123 “ s1="计算机 " s2="考试" ?s1+s2 ?s1-s2 ?s1-s2+s1 $:子串包含运算符 格式: 串1 $串2 功能:用来判断串1是否包含在串2中,如果包含结果为.t., 否则为.f. 日期及日期时间表达式 运算符只有+,- 运算格式有如下几种 日期+天数:返回该日期若干天后的新日期 天数+日期:………………………………… 日期-天数: …………………….前……….. 日期-日期:返加两两日期间隔的天数 日期时间+秒:返回该时间干秒后的时间 秒+日期时间:………………………….. 日期时间-秒:返回该时间若干秒前的时间 日期时间-日期时间:反回两时间间隔的秒数 关系表达式: 也叫比较表达式 运算符有: >:大于 <:小于 >=:大于等于 <=:小于等于 =:等于 <>,!=,#:都表示不等于 运算格式: 表达式1 比较运算符 表达式2 运算结果为逻辑值, 当比较成立时,结果为.t.,否则为.f. ?a>b ?a+b>a^2 s1="小明" s2="老张" ?s1>s2 ?{^2008-9-14}>{^2007-7-15} a=2 b=3 ?ab,a=b,a!=b 逻辑表达式 运算符: Not 或!:表示逻辑非运算符 And:逻辑与 Or:逻辑或 逻辑非 not 格式: not 逻辑或关系表达式 功能:对not 右边的逻辑或关系表达式取反,当右边为.t.时, 取反结果为.f.,反知………….. 如: a=2 b=3 ?not a>b t=ab ?not !.t. 逻辑与 and 格式: 逻辑表达式1 and 逻辑表达式2 当 and 两边同时为.t.时,结果为.t.,否则为.f. ?.t. and .t. ?.f. and .t. ?.f. and .f. a=2 b=3 ?a>b and ab ?not a>b and a**,^,*,/,%-->+,-) 关系(按出出的顺序算) 逻辑(,not ,and ,or) A=2 B=3 ?(a^b>b^a) and not ab^2 and not a2 3.”空值”测试函数 格式:empty(表达式) 功能:判断表达式的值是否为”空”,如果是函数值为.t.,否则 为.f. 这里的”空”值指的是:0,空串 ,空格串,.f. a=0 b="" c=.f. d=" " ?empty(a),empty(b),empty(c),empty(d) ?empty(20) 4. 数据类型测试函数 格式:varitype(表达式) 功能:判断表达式值的类型,返回一个与类型相符合的大写字 母 a=$20 b=300 c="abcd" e=date() h=a>b ?vartype(a),vartype(b) ?vartype(c),vartype(e),vartype(h) ?vartype(vartype(h)) 5. 条件测试函数 格式:iif(逻辑表达式,表达式1,表达式2) 功能:判断逻辑表达式的值,如果为.t.,返回表达式1为函数值,如果为.f.,返回表达式2为函数值 a=2 b=3 ?iif(a>b,a+b,a-b) ?iif(aa^2,a*b,a+b),a-b) ?iif(a=b,iif(a+b>a^2,a*b,a+b),a-b) 编写简单程序 程序:是能够完成一定功能与任务的命今集合,这些命令集合存储在一个程序文件名,扩展名为.prg 编写程序的一般过程: 1. 建立程序文件 命令 :modify command 程序文件名 功能:建立新的程序文件,或打开已有的程序文件进行修 改 2. 在程序文件名,编写程序代码 3. 运行程序文件 命令: do 程序文件名 功能:运行指定的程序文件,产生程序结果 如:编写程序,计算30与20两个数的和,差,积,商 clear a=30 b=20 m1=a+b m2=a-b m3=a*b m4=a/b ?"a=",a ?"b=",b ?"a+b=",m1 ?"a-b=",m2 ?"a*b=",m3 ?"a/b=",m4 程序的组成 一个完整的程序由三部份组成 .数据输入:程序运行时,要求用户从终端输入数据让程序 往下执行 .数据处理:对用户输入的数据进行计算,存储等 .数据输出:对处理后的结果进行显示或打印 输入数据命令 格式 :input [字符表达式] to 变量名 功能:放在程序中,待程序运行时,要求用户输入数据给指 定的变量,然后程序才往下执行,否则程序挂起. [字符表达式]:为自定提示文本 该命令一行只能输入一次数据给一个变量,但可输入不 同类型的数据,在输入不同类型数据时,必须遵守相关类 型的书写格式 如:输入任意两个数,计算两个数的和,差,积,商 clear input "请输入第一个数:" to a input [请输入第二个数:] to b m1=a+b m2=a-b m3=a*b m4=a/b ?"以上两个数的和是:",m1 ?"以上两个数的差是:",m2 ?"以上两个数的积是:",m3 ?"以上两个数的商是:",m4 在例: 输入圆半径,高,计算圆面积,周长,圆柱体积 clear input "请输入圆半径:" to r input "请输入圆柱高:" to h c=2*pi()*r s=pi()*r^2 v=s*h ?"圆周长是:",c ?"圆面积是:",s ?"圆柱体积是:",v 在列:输入某人,生日,计算其年龄 clear input "输入您的生日:" to d y1=year(d) y2=year(date()) l=y2-y1 ?"你的年龄是:"+alltrim(str(l))+"岁" 程序的基本结构 1. 顺序结构 按程序代码编写的先后顺序执行的程序结构 2. 选择结构: 程序中某些代码段,根据所设置条件进行选择执行的 程序结构 3. 循环结构:程序中某些代码段,被返复执行若干次的程 序结构 选择结构 实现选择的语句 1. 简单if语句 格式: if 条件 语句系列 Endif 该格式中,以if 开头,以endfi结束,if与endif必须配 对出现 执行过程:首先判断if条件,如果为.t.,则执行if到 endif之间的语句系列,否则转到endif之后往下执行. 如编写一程序,输入两个数,将其按小到大输出 方法: clear input "输入第一个数:" to a input "输入第二个数:" to b if a=b ?"从小到大是",b,a Endif 方法: clear input "输入第一个数:" to a 20 input "输入第二个数:" to b 30 if a>b m=a a=b b=m endif ?"从小到大输出是:",a,b 在例:输入任意一个日期,判断这个日期是平年,还润年 clear input "输入日期:" to d y=year(d) if y%4=0 ?"是润年" endif if mod(y,4)<>0 ?"是平年" endif 1. 对一批货物征税,价格1万以上,上税5% …5000—10000…..3% …..1000---5000 …..2% 小于1000 .. ….免税 2. 输入三个数,求出最大数,(不能用max函数) 3. 输入任意一个5位的整数,判断这个数是否为回文数 如:12321 以上三个只有简单if做 1. 输入五个数,求最大数与最小数,并求最大数与最 小数之和 2. 输入某人年龄,计算他出生的年份 代否则的if语句 格式: if 条件 语句系列1 Else 语句系列2 Endif 执行过程:首先判断条件是否为.t.,如果为.t.,则执行语句系列1,否则,执行语句系列2 输入任意一个整数,判断是奇数还是偶数 clear input "请输入一个整数:" to x if x%2=0 s="偶数" else s="奇数" endif ?s 4. 2. 输入任意一个5位的整数,判断这个数是否为回 文数 如:12321 input "请输入任意一个五位整数:" to a D1=a%10 D2=int((a%100)/10) G1=int(a/10000) G2=int(a/1000)%10 if d1=g1 and d2=g2 ?a,"是回文数" else ?a,"不是回文数" endif if 语句的嵌套 格式1: If 条件1 语句系列1 else If 条件2 语句系列2 Else 语句系列3 Endif Endif 执行过程:首先判断条件1,如果为.t.,则执行语句系列1,否则 进入内if,通过判断条件2来确定是执行语句系列2还是语句系列3 格式2: 内if If 条件1 If 条件2 语句系列1 Else 语句系列2 Endif else 语句系列3 Endif 执行过程:首先判断条件1,如果为.t.,则进入内if,通过在内if中判断条件2,来确定是执行语句系列1还是去执行语句系列2,条件1不成立,则执行语句系列3 例:输入星期的系号 ,如果输入是1----5,则“输出上班 或上课”,如果输入的6,“休息”,如果输入是7,“去玩” clear input "输入星期系号:" to a if a>=1 and a<=5 s="我要上班" else if a=6 s="我要休息" else s="我要去玩" endif endif ?s clear input "输入星期系号:" to a if a=6 or a=7 if a=6 s="我要休息" else s="我要去玩" endif else s="我要上班" endif ?s 多分支语句 格式: Do case Case 条件1 语句系列1 Case 条件2 语句系列2 …………. Case 条件n 语句系列n [Otherwise 语句系列] Endcase 执行过程:首判断各case 之后的条件,哪个CASE条件成立, 则执行那个条件之后的语句. 1. 当有多个条件同时成立,则只执行最先成立的条件之后的 语句。 2. 当所有条件都不成立时,则执行otherwise之后的语句,如 果此地[otherwise 语句系列]省略,则整个case 语句会什 么也不做,转而去执行endcase 之后一语句 如: 5. 对一批货物征税,价格1万以上,上税5% …5000—10000…..3% …..1000---5000 …..2% 小于1000 .. ….免税 clear input "输入货物价格:" to jg do case case jg>=10000 sf=(jg-10000)*0.05+5000*0.03+4000*.02 case jg>=5000 and jg<10000 sf=(jg-5000)*0.03+4000*0.02 case jg>=1000 and jg<5000 sf=(jg-1000)*0.02 otherwise sf="免税" endcase ?"税费情况是:",sf 1在例:输入两个运算数与一个运算符,计算与该运算符相符合的结果 如: 30 20 + - * / 50 10 600 1.5 2.输入学生成绩, 如果成绩90---100 优 80---90 良 70---80 中 60---70 及格 不于60 差 3. 输入任意日期,判断该日期的该月有多少天 以上三个用多分支做 4. 输入三个形三边,a,b,c,计算三角形面积,如果a,b,c不能 形成三角形,而输出无这样的三角形。不能计算。 5. 输入一元二次方程系数,a,b,c,计算方程根,方程有根时, 则算根输出,无根时,则输出此方程无解 以两个用代否则if 做 6. 输入长度为5的一串字符,判断这串字符是否为回文串 如输入abcba 循环结构 Do while 循环 格式: do while 条件 语句1 [loop] 语句2 [Exit] 语句3 Enddo 执行过程: 首先while 之后的条件,如果为.t.,则执行o 到 enddo 之间所有语句(叫循环体),然后又返加判断条件,如果 条件还为.t.,则又执行循环体,这样反复执行以上若干次的操 作。直到某次使条件为.f.则终止循环 1. 如果在某次循环中,遇到loop,则终止本次循环。返回重 新判断条件来决定是否重做循环 2. 如果在某次循环中,遇到exit ,则终止整个循环。跳到 enddo之后往下执行. 例: S=0 I=1 Do while i<=10 S=s+i I=i+2 Enddo ?s I=1 s=1 I=3 s=4 I=5 s=9 I=7 s=16 I=9 s=25 I=11 例2: S=0 I=5 X=11 Do while s<=x S=s+i I=i+1 Enddo ?s S=0 s=5 i=6 S=5 s=11 i=7 S=11 s=18 i=8 S=18 例: X=12345 Y=0 Do while x>0 Y=y+x%10 X=int(x/10) Enddo ?y X=12345 y=5 X=1234 y=9 X=123 y=12 X=12 y=14 X=1 y=15 X=0 For 循环 格式: for 循环变量=初值 to 终值 [step 步长] 循环体 Endfor 执行过程:首先将初值赋给循环变量,然后与终值比较,如果循环变量小于或等于终值,则执行一次循环体,然后循环变量自动加步长,又与终值比较,如果循环变量还小于或等终值,则又做循环体,这样返复执行以上若干次的操作。直到某次使用循环变量大于终值,才终止循环 初值可以大于终值,此时步长就要为负数,循环终止条件是循环变量小于终值 如果[step步长]省略,默认值为1 例:输出1---100中,所有偶数,并求所有偶数之和 (do while ,for 各做一个) 方法1 clear i=1 s=0 do while i<=100 if i%2=0 ??i s=s+i endif i=i+1 enddo ?"以上所有数的和是:",s 方法2: clear s=0 for i=1 to 100 if i%2=0 ??i s=s+i endif endfor ?"以上的有数的和是:",s 例2:计算1+1/2+1/3……1/100 Do while for 分别做 方法1 clear s=0 i=1 do while i<=100 s=s+1/i i=i+1 enddo ?"s=",s 方法2 clear s=0 for i=1 to 100 s=s+1/i endfor ?"s=",s 在例 :输入10个数,计算10个数的和,平均值 clear s=0 i=1 do while i<=10 input "输入数:" to a s=s+a i=i+1 enddo ?"10个数的和是:",s ?"10个数的平均值是:",s/10 方法二 clear s=0 for i= 1 to 10 input "输入数:" to a s=s+a endfor ?"10个数的和是:",s ?"10个数的平均值是:",s/10 例: 计算公式1+1/2-1/3+1/4………1/100 clear s=1 for i=2 to 100 if i%2=0 s=s+1/i else s=s-1/i endif endfor ?"s=",s 1. 输出1---500中,能同时满足用3除余2,用5除余3,用7 除余2的所有整数 2. 输出1---999中能被3整除,且至少有一位数字是5的所 有整数 3. 输入10个数,求最大数,最小数,平均数 4. 输入20个数,分别统计,大于0,等于0,小于0的数各 多少个 5. 输出1---10的阶乘 6. 输入一串字符,分别统计,大写,小写,数字,其它字符 各输入了多少个 For 循环的嵌套 一个for 循环内嵌套一个或多个循环 基本格式: For 循环变量1=初值1 to 终值1 内for 语句1 For 循环变量2=初值2 to 终值2 循环体 Endfor 语句2 Endfor 执行过程:当外for 循环一次,进入内for 之后,必须使用内for 循环结束才回到外for,要外循环结束,整个循环才结束 算例1: S=0 For i=1 to 3 S=s+i For j=1 to 3 S=s+j Endfor Endfor ?s I=1 s=1 j=1 s=2 J=2 s=4 J=3 s=7 I=2 s=9 j=1 s=10 J=2 s=12 J=3 s=15 I=3 s=18 j=1 s=19 J=2 s=21 J=3 s=24 I=4 例 : S=0 For i=1 to 3 For j=1 to i S=s+i+j Endfor S=s*i Enfor ?s I=1 j=1 s=2 I=2 j=1 s=5 J=2 s=9 s=18 I=3 j=1 s=22 J=2 s=27 J=3 s=33 s=99 I=4 1. 编程输出如下图形: AAAAA AAAAA AAAAA AAAAA AAAAA clear for i=1 to 5 for j=1 to 5 ??" A" ENDFOR ? ENDFOR A AA AAA AAAA AAAAA clear for i=1 to 5 for j=1 to I ??" A" ENDFOR ? ENDFOR clear input "输入组成图形的行数:" to h for i=1 to h for j=1 to I ??space(2)+CHR(INT(65+RAND()*26)) ENDFOR ? ENDFOR 7. 输出1---999中能被3整除,且至少有一位数字是5的所 有整数 A=153 a=513 a=315 clear for i=1 to 999 if i%3=0 and (i%10=5 or int(i%100/10)=5 or int(i/100)=5) ??i endif endfor clear d1=0 d2=0 d3=0 for i=1 to 10 input "输入:"+str(i)+"个数:" to a if a>0 d1=d1+1 endif if a=0 d2=d2+1 endif if a<0 d3=d3+1 endif endfor ?"大于0的数有:",d1 ?"等于0的数有:",d2 ?"小于0的数有:",d3 clear accept "输入一串字符:" to s l=len(s) d1=0 d2=0 d3=0 d4=0 for i=1 to l c=substr(s,i,1) do case case asc(c)>=65 and asc(c)<=90 d1=d1+1 case asc(c)>=97 and asc(c)<=122 d2=d2+1 case asc(c)>=48 and asc(c)<=57 d3=d3+1 otherwise d4=d4+1 endcase endfor ?"大写字符有",d1,"个" ?"小写字符有",d2,"个" ?"数字字符有",d3,"个" ?"其它字符有",d4,"个" 1. 输出九九乘法表 1x1=1 2x1=2 2x2=4 3x1=1 3x2=6 3x3=9 2. 求1---100这间的所有素数(只能被1和它本身整除的 数) 3. 求2----1000中的守形数,(若某数的平方,其低位与该 本身相同,则为守形数) 如:5*5=25 6*6=36 25*25=625 4. 求2---1000中的完数,(因之和等于它本身的数为完数) 28=1+4+7+14 设置存储文件的默认目录 默认目录即为默认存储文件的位置 方法: -,工具,选项,文件位置,默认目录,修改,(勾选默 认目录)-,…,(在弹出的窗口中找到并选择自己的文 件夹)-,选定,确定-,设置默认值,确定 数据库的基本操作 一( 建立数据库 方法: 1. 在项目管理器中建立 必须建立新项目或打开已有项目 建立项目: -,文件,新建,项目-,新建文件 项目文件的扩展名为.pjx 打开项目: ,文件,打开,找到项目文件,打开 在项目中建立数据库: ,打开或新建项目,数据,数据库,新建,新建数据库(数据库文件的扩展名为.dbc) ] 2 :-,文件,新建,数据库,新建文件 3.用建立数据库的命令 格式: create database [数据库名/?] 功能:在当前默认目录下建立指定的数据库,如果数 据库省略,或用?,则弹出创建对话框 create database 财务管理 create database cc create database create database ? 二. 查看文件命令 格式: dir [文件名.扩展名] 功能:查看当前默认目录下指定的文件 文件名和扩展名可用通配符:*,?,来进行模糊查看 [文件名.扩展名]:省略,默认查看数据表文件 表文件的扩展名为.dbf 如:查看所有项目文件 Dir *.pjx 查看所有数据库文件 Dir *.dbc 三. 打开数据命令 格式: open database [数据库名/?][exclusive/shared]/[noupdate] 功能:按指定方式打开指定的数据库 Exclusive:指定与独占方式打开 Shared:指定以共享方式打开 Noupdate:指定以只读方式打开 dir *.dbc open database 财务管理 open database 工资管理 exclusive open database 学生管理 exclusive open database 材料管理 shared open database ee noupdate 四. 设置当前数据库 格式: set database to [数据库名] 功能:将已打开的某数据库设置为当前数据库 如果省略数据库,则为设置无当前数据库 set database to 工资管理 set database to 学生管理 set database to 五. 进入数据库器修改数据库命令 格式:modify database [数据库名/?][noedit] 功能:进入指定数据库设计器中,修改数据库,若省略数据库名,则进入当前数据库设计器,如果指定的数据库不存在,该命令则为建立新数据库, [noedit]:表示与只读方式进入数据库设计器 dir *.dbc modify database 财务管理 modify database ee modify database modify database 工资管理 noedit 六:删除数据库命令 格式:delete database 数据库名/? [deletetables][recycle] 功能:将指定数据库删除 Deletetables:指定删除数据库的同时,连库中的表一起删除 Recycle:表示将要删除的数据库放入回收站 七:关闭数据库命令 格式:close database 功能:关闭当前的数据库 dir *.dbc open database 人力管理 open database 学生管理 close database 八:关闭所有文件命令 格式:close all 功能:将打开的所有文件一次性关闭 建立数据库表 数据库表:从属于某个数据库的表 建立数据库表的方法: 1. 在数据库设计器中建立 进入数据库设计后,右击—>新建表 2. 打开数据库 ,文件,新建,表,新建文件 3. 打开数据库后 用建立表命令:create 表名 功能:在当前数据库中建立指定的表,表文件的 扩展名为.dbf 关于操作表命令 1. 打开表命令 格式:use 表名 功能:将指定的表打开 2. 关闭表命令 格式:use 功能关闭当前表 3. 浏览表记录命令 格式:browse 功能:弹出浏览窗口浏览当前表记录 dir use 学生 use 职工 use 木 料 use 木料 use use 职工 use use 学生 browse use 职工 browse use 木料 browse 下去操作: 1. 以自己姓名建立一个文件夹,并将其它设为默认目录 2. 在其中建立,两个项目,商场管理,管理, 在商场管理内建立数据库,产品管理,职工管理 3. 用命令建立物流管理数据库,在其中建立129页到130 页的四个表(操作use ,browse 命令) 4. 在分别建立cc,aa,dd mm数据库,操作相关数据库命令 表操作的其它命令 1. 修改表结构命令 格式:modify structure 功能:进入当前表的结构设计器中修改表结构 (主要,添加字段,删除字段,设宽度,建立索引等) use 学生 modi stru brow clear dir use 职工 modify stru clear browse 2. 追加表记录命令 格式:append [blank] 功能:向当前表尾追加新记录或空白记录 [blank]:指定追加空白记录,省略,则追加新记录 use 学生 append browse use 职工 append clear browse clear use 学生 clear list append blank list append blank list] 3. 修改表记录命令 格式:edit/change 功能:用来修改当前表原有记录 5. 复制表结构命令 格式:copy structure to 新表名 功能:将当前表的结构复制给指定的新表 copy stru to xs clear dir use xs brows use bk a use 职工 copy stru to zg 6. 复制表记录命令 格式:copy to 新表名 功能:将当前表中的所有数据复制到新表中 use 职工 copy to z1 dir use z1 browse 7. 插入表记录命令 格式:insert [before][blank] 功能:向当前表中,当前位置之前或之后插入新记录或 空白记录 [before]:指定在当前记录之前插入,如果省略,则在之后 插入 [blank]:指定插入空白记录 go 5 insert list clear list go 4 insert before blank list go 8 insert blank list clear list 8. 显示表记录命令 格式: list /display [fileds 字段列表] [for 条件][all][next 数值] 功能:连续或分屏显示当前表中满足条件的记录或所有记 录 List:表示连续显示 Display :分屏显示(如果之后无for 条件 [all] [next 数值, 则只显示当前记录 [fileds 字段列表]:用于指定显示的记录包含哪些字段 [for 条件]:指定显示满足条件记录 [all]:主要配合在display 之后分屏显示所有记录 [next 数值]:表示从当前记录开始向下显示由数值指定的记录数 List 之后 无短语,则默认显示所有记录 list list for 入校总分>400 and 性别="男" clear list list for 是否入党 clear list list for not 是否入党 list for 是否入党=.t. list for 是否入党=.f. display for 是否入党=.f. clear list go 5 list next 3 go 2 list next 5 查询定位命令 1. 绝对定位命令 格式:go 记录号/top/bottom 功能:将记录指定定位到由记录号指定的记录上,或第一 条记录,或最后一条记录 go 6 display go top display go bottom display 2. 相对定位命令 格式:skip [数值] 功能:将记录指针从当前记录开始向上或向下移动由数值 指定的记录数 数值为正时,则下移,为负时,则上移,省略,值为1 3. 条件定位命令 格式: locate for 条件 功能:将记录指镇针定位到满足条件的第一条记录上 locate for 入校总分<420 display locate for 性别="男" display 记录删除相关命令 1. 逻辑删除表记录命令 格式:delete [for 条件][all] 功能:对当前表中,当前记录,或满足条件记录,或所有 记录加删除标记 [for 条件]:指定对满足条件记录加删除标记 [all]:指定对所有记录加删除标记 [for 条件][all]都省略,则只对当前记录加删除标记 go 9 delete clear list delete for 性别="男" clear list delete all clear list 2. 取消删除标记录命令 格式:recall [for 条件][all] 功能:取消当前表中,当前记录,或满足条件记录,或所 有记录的删除标记 go 5 recall list recall for 性别="女" clear list recall all clear list 3. 物理删除有删除标记记录命令 格式:pack 功能:将当前表中有删除标记的记录C底删除 go 4 delete clear list pack clear list go 8 delete pack list 4. 物理删除所有记录命令 格式:zap 功能:将当前表所有记录c底删除 5. 替换字段值命令 格式:replace 字段名1 with 表达式1[,字段名2 with 表达式2]……..,[for 条件][all] 功能:用相应表达式的值来替换当前表中,相应的字段值, [for 条件]:指定替换满足条件记录 [all]:替换所有记录 For ,all省略,则只替换当前记录 replace 奖金 with 260 all clear list replace 实发工资 with 基本工资+资金 all replace 实发工资 with 基本工资+奖金 all 索引 索引是则表记录指针构成的文件,建立索引是根据表中某些字段进行排序,生成索引文件,扩展名为.idx 索引可分: .主索引 .候选索引 .唯一索引 .普通索引 以上索引都可在表结构设计器中建立 1. 建立主索引: 要求: .字段值必须唯一 .必须为数据库表 .一个表只能有一个主索引 2. 候选索引 要求:任何表可建立,但要建立候选索引的字段值必须唯一 一个表可建立多个候选索引 3. 唯一索引 要求:任何表可建立,并可建立多个,这里的唯一不是指要求字段值唯一,而是指索引出来的结果是唯一的 二.设置当前索引命令 格式:set order to 索引号/tag 索引名[asce/desc] 功能:将当前表中某项索引设置为当前索引,此时,用list 显示为当前索引结果, 索引号:为当前表中索引的顺序号,从1开始 Tag 索引名:以索引名的方式来设置当前索引 [asce/desc]:设置当前索引时,强制改为升或降序 set order to tag xh asce list set order to tag jbh set order to tag bjh list set order to tag bjh asce list set order to tag bjh desc list 三.使用索引快捷定位 命令格式: seek 表达式 order 索引号/tag 索引名 [asce/desc] 功能:将记录指针定位到某索引字段的值与表达式相符合的记录上 [asce/desc]:表示与升或降的方式来定位 use 学生 list seek "S5" ORDER 1 display seek "S7" ORDER TAG XH DISPLAY SEEK "S6" ORDER TAG XH DESC DISPLAY 四:删除索引 命令:delete tag 索引名 /all 功能:删除当前表中,指定索引或所有索引 modify database 学生管理 use 班级 delete tag bjh use 学生 delete tag all 表之间的关联 所谓表之间的关联是指:表与表之间通过公供字段建立起来的联系, 表之间的关联有: .一对一关联 .一对多关联 .多对多关联 这些关系必须在数据库设计器中建立 建立一对多联系: 方法:进入数据库设计器后,将父表的公共字段设置为主索引,子表的共字段设置为普通索引,然后用 S标从主索引托到普通索引产生联线即可 设置参照完整性约束 所谓参照完整性约束是指表与表之间,相互联系,相互参照制约 设置参照完整性必须在数据库在完成,且表与表之间必须先建立联系 建立参照完整性有时要先清理数据库 命令:pack database 参照完整性规则有: 1. 更新规则 (.级联 .限制 .忽略) 2. 删除规则 (……………………..) 3. 插入规则 (限制 忽略) 字段有效性规则 是指字段的值在什么范围内有效 字段有效性设置有: .规则:一般是与字段相关的逻辑表达式 .信息:为自定义提示文本,为字符表达式 .默认值:依据字段类型而定,可为不同类型的常量 以上设置必须为数据库,在表结构设计器中来设置 自由表 不属于任何数据库的表为自由表 建立方法: 不打开任何数据库的前提下: ,文件,新建,表—》新建文件 2. create 表名 二( 将自由表添加到数据库 方法: 1. 进入数据库设计器,右击,添加表 2. 用添加自由表命令 格式:add table 表名 [name 长表名] 功能:将指定自由表添加到当前数据库中,并可以 指定长表名 modify database 学生管理 clear dir *.dbc dir add table cj add table gz name "这是一个玥 一有" add table gz add table 班级 add table 教师 add table 学生 三( 移除数据库表 命令:rename table 表名 [delete [recycle]] 功能:将当前数据库中指定的表移除,使之成为自由表 Delete:移除的同时,将其删除 Recycle:跟在delete 之后将要删除的表放加回收站 remove table 学生 clear dir *.dbc dir remove table cj delete clear dir remove table cj delete recycle remove table gz delete recycle clear dir 多个表的同时使用 1. 选择工作区的命令 格式:select 工作区号/表名 功能:选择指定的工作区来操作表,这里的工作区号可以是 0---32767中任意一个整数.当有多个工作区同时有表打开 时,可用:select 表名 的形式来切换该表所在的工作区 Select 0:表示选择最小的空闲工作区. clear select 500 use 班级 dir select 1 use 学生 select 37 use 教师 select 500 list select 1 list select 37 list clear select 学生 list select 班级 list select 教师 select 1 use 学生 select 0 use 教师 select 0 use 班级 select 2 list select 3 list 2. 指定工作区打开指定表命令 格式:use 表名 in 工作区号 功能:在指定工作区中打开指定的表 use 学生 in 0 select 1 list 3. 当字段变量与内存变量同名时,对内存变量的访问格式: 格式1: m.内存变量名 格式2:m->内存变量名 如果不用以上两种格式访问,则访问的为字段变量 go 3 姓名="abc" 年龄=20000 ?姓名 ?年龄 go 5 ?姓名 ?m.姓名 ?m->年龄 物理排序 命令格式: sort to 表名 on 字段名1 [/a|/d][/c],[字段名2 [/a/|/d][/c]]…… [for 条件] [fields 字段列表] 功能:对当前表中的指定字段进行排序,将排序结果存储在由to 指定的表中 On:用于指定要排序的字段 [/a|/d]:表示升或降序 [/c]:表示不区分大小写排序 [for 条件]:指定对满足条件的记录排序 [fields 字段列表]:指定排序后的结果包含哪些字段 sort to x4 on 性别 /a,年龄 /d fields 姓名,性别,年龄 use x4 list 以上SQl例都以上三个表,分别表级,学生,教师 SQL 语句 言 SQL是结构化查询语言,它主要核心是查询 一( SQL查询功能: 查询格式: Select 字段列表及短语 from 数据来源及短语 where 查询条件用短语 其中:select 与from 为主体,必不可少 Select:用来说明要查询的数据,一般可以为一个或多个字段 From:用来说明要查询的数据来自什么地方,一般可为一个或多个表 Where:用为说明要查询的条件,只有满足条件的记录才出现在查询结果中 简单查询 用select 与from 之间的短语 1. all:查询相关字段的所有值 如:查询学生表,所有学生的姓名 select 姓名 all from 学生 select all 学号,姓名,性别,年龄,班级号 from 学生 select 姓名 from 学生 2. distinct:用在查询中,对查询出来的结果不显示重复值. 从学生表查询所有的班级号(相同班级号只显示一次) select distinct 班级号 from 学生 select 性别 distinct from 学生 3. as:用在查询中生成虚字段 定义虚字段格式: 表达式 as 虚字段名 select 姓名,性别,年龄,year(date())-年龄 as 出生年 from 学生 SELECT 学号 as 学生编号,姓名,年龄,班级号,学号 +str(年龄,2)+班级号+"@163.com" as 电子邮件 from 学 生 4.*:用在查询查询所有字段的值 select *,学号+str(年龄,2)+班级号+"@163.com" as 电子邮件 from 学生 select * from 班级 二.用在select 与 from 之间计算统计类型短语 1.count(表达式) 用在查询中统计相关字段值的个数 如:统计学生表中有多个人 select count(学号)from 学生 select count(姓名) as 人数 from 学生 select count(班级号) as 班级数 from 学生 select count(distinct 班级号) as 班级数 from 学生 select count(distinct 性别) as 性别数 from 学生 3. sum(数值型字段) 放在查询中,对数值型字段竖向求和 select sum(年龄) as 总年龄 from 学生 4. avg(数值型字段) 用在查询中,对数值型字段求平均值 select avg(年龄) as 平均年龄 from 学生 5. max(数据值型字段) 用在查询中对数值型字段求最大值 6. min(数值型字段) 用在查询中,对数值字段求最小值 select max(年龄) as 最大年龄,min(年龄) as 最小年龄 from 学生 多个表的查询 一.内联接查询 格式:表名1 inner join 表名2 on 联接条件 该短语放在from 之后,将两个表内部联接起来查询,只有两个同时满足联接条件的记录才出现在查询结果中 联接条件一般从两个表公共字段入手 如:从学生,班级两个表查询班级名,姓名,性别,年龄,且要求年龄大于20岁 select 班级名,姓名,性别,年龄 from 学生 inner join 班级; on 学生.班级号=班级.班级号 and 年龄>=20 查询信息系所有的班主任号 select 班主任号 from 班级 inner join 教师; on 班级.班主任号=教师.教师编号 and 所属系="信息系" select 班级名,班长号 from 班级 inner join 学生; on 班级.班级号=学生.班级号 and (姓名="李志明" or 姓名="刘立洋") 二.条件查询短语 格式: where 条件 该短语放在from 之后,查询一个或多个表中满足条件的记录,可该短语内部联接两个或多个表 这里条件可为逻辑,关系,等表达式 select * from 学生 where 性别="男" and 年龄>=20 查询班级,学生两个表中信息200802班所有 男同学的班级号,班级名,姓名,性别,年龄 select 班级.班级号,班级名,姓名,性别,年龄 from 学生,班级; where 学生.班级号=班级.班级号 and 性别="男" and 班级名="信息200802班" 查询刘鹏与刘立洋两个人所在班的班级名 select 班级名 from 学生,班级; where 学生.班级号=班级.班级号 and ; (姓名="刘立洋" or 姓名="刘鹏") 查询信息系的教师姓名,班级名,学生姓名 select 教师姓名,班级名,学生.姓名 as 学生姓名 from 教师,班级,学生; where 学生.班级号=班级.班级号 and 教师.教师编号; =班级.班主任号 and 所属系="信息系" 1. 统计学生表中,男同学的人数,总年龄,平均年龄 查询结果有:人数,年龄,平均年龄三个字段 2. 查询李志明,与张文静,所在班的班主任老师姓名,联系 电话 3. 找出李清,刘宏所代班的班级名,班长名 4. 统计信息系的学生人数,查询结果有系名,人数两个数字段 查询去向短语 1. into array 数组名 该短语放在查询之后,将查询出来的结果送到数组保存 select 姓名,年龄 from 学生 where 班级号="11" into array a ?a(1,1),a(1,2) ?a(2,1),a(2,2) 2. into cursor 临时表名 该短语放在查询之后,将查询了来的结果送到临时表中保存 select * from 学生 where 性别="男" into cursor cc 3. into table 表名 该短语放在查询之后,将查询结果送到永久表中保存 可以该语来复制一个或多个表中的数据到指定的表 select 班级名,姓名,性别,年龄 from 学生,班级; where 学生.班级号=班级.班级号 and 年龄>=20 into table x1 4. to file 文件名 [additive] 该短语放在查询之后,将杳询出来的结果送到文本文件名保存,文本文件的扩展名为.txt [additive]:指定以追加方式存放,如果省略,则为复盖式存放 建立或打开文本文件命令 格式:modify file 文件名 功能:用来建立新的文本文件名打开已有文本文件 select * from 学生 where 性别="男" to file t1 clear dir *.txt modify file t1 select * from 学生 where 性别="女" to file t1 additive modi file t1 select * from 班级 to file t1 modify file t1 5. to printer [prompt] 放在查询之后,将查询结果送到打印机打印 [prompt]:指定要进行打印机的设置 select * from 学生 to printer prompt 6. to screen 放在查询之后,将查询结果送到屏上显示 select * from 学生 to screen 值域条件短语 格式: 表达式1 between 表达式2 and 表达式3 该短语放在where 之后形在条件,查询表达式1值在表达式2与表达式3之间的记录,包括表达式2与表达式3本身 select * from 学生 where 年龄 between 20 and 22 字符匹配短语 格式:字符表达式1 like 字符表达式2 该短语放在where 之后形成条件,查询表达式1与表达式2相匹配的记录, 字符表达式2一般为字符型常量,其中可用通配符: %:匹配任意多个字符 -(下线线):代表任意一个字符或任意一人汉字 select * from 学生 where 姓名 like "李%" select * from 学生 where 姓名 like "__" NULL值查询短语 格式: 表达式 is null/is not null 该短语放在where 之后形成条件,查询指定表中,为null的记录或不为NULL的记录 modify stru list go 2 replace 年龄 with null go 5 replace 年龄 with null go 7 replace 年龄 with null clear list select * from 学生 where 年龄 is null select * from 学生 where 年龄 is null and 性别="女" select * from 学生 where 年龄 is not null select * from 学生 where 年龄 is not null and 性别="男" 分组查询短语 格式:group by 字段名1,….字段名n [having 分组条件] 该短语放在查询中,对查询出来的结果进行分组, Having 分组条件:指定只对满足条件的记录才分组 查询学生中,男女,同学名多个少,查询结果有 性别,人数,两个字段 select 性别,count(姓名) as 人数 from 学生; group by 性别 分别统计学生表,每个班,男女生各多少个, 结果有,班级号,性别,人数三个字段 select 班级号,性别,count(姓名) as 人数 from 学生; group by 班级号,性别 分别统计学生表,男女生总年龄,平均年龄 结果有,性别,总年龄,平均年龄三个字段 select 性别,sum(年龄) as 总年龄,avg(年龄) as 平均年龄; from 学生 group by 性别 排序查询短语 格式:order by 字段名1,…,字段名n [asc/desc] 该短语放在查询中,对查询出来的结果进行排序 [asc/desc]:表示升或降序,省略,默认为升序 如:查询学生表中所有信息,并按年龄降序 select * from 学生 order by 年龄 desc 查询学生表中,所有信息,按性别升序,性别相同时,按年龄降序 select * from 学生 order by 性别,年龄 desc 别名短语查询 格式 表名 别名 该短语放在 from 之后, 整体格式: Select …from 表名 别名 where ….. select 班级.班级号,姓名,年龄; from 学生,班级 where 学生.班级号=班级.班级号; and 班级.班级号 ="11" select b.班级号,姓名,年龄 from 学生 x,班级 b; where x.班级号=b.班级号 and b.班级号="11" 并列查询短语 格式: <查询1> union <查询2> 功能:将两个查询语句查询的结果并在一起成为新结果 但两个查询中的字段,个数,类型,等要一致 select * from 学生 where 班级号="11"; union select * from 学生 where 班级号="12" select 班级号 from 班级 union select 班级号 from 学生 嵌套查询 所谓嵌套查询是指外查询的条件是基于内查询结果的查询叫嵌套查询 设计嵌套查询要从两表的公共字段入手 1. 集合嵌套短语 格式: 外查询 where 条件 in/not in (内查询) 在查询中的整体格式: Select..from..where 条件 in/not in(select..from..where…)_ 条件描术为:外查询的条件在或不子查询的结果中] 如:查询李志明与万力佳所在班的班级名 select 班级名 from 班级 where 班级号; in (select 班级号 from 学生 where 姓名="李志明" or 姓名="万力佳") 查询信息200802班,自动化2008班教师姓名,电话 select 教师姓名,电话 from 教师 where; 教师编号 in(select 班主任号 from 班级; where 班级名="信息200802班" or 班级名="自动化2008班") 2. 量词嵌套短语 格式:<表达式> <比较运算符> [any /all/some](子查询) 该短语放在where 之后,形成嵌套式查询 整体格式: Select..from..where <表达式> <比较运算符> [any/all/some] (select …from …. Where …) 其中,any 与 some 为同意词,要求外查询的条件只要满足子查询中任意一项结果即可 All:要求外查询的条件,必须满足子查询中所有结果才行 select 姓名 from 学生 where 年龄; > any (select 年龄 from 学生 where 班级号="11") select 姓名 from 学生 where 年龄; > some (select 年龄 from 学生 where 班级号="11") select 姓名 from 学生 where 年龄; , all (select 年龄 from 学生 where 班级号="11") select 姓名 from 学生 where 班级号; = any (select 班级号 from 班级 where 班级名; ="信息200801班" or 班级名="自动化2008班") Sql 操作表的命令 1向表中插入记录命令 格式1:insert into 表名 [(字段名1,….字段名n)] values(表达工1….,表达式n) 功能:将values之后各表达式的值,插入到指定表中指定的字段成为新记录,如果插入的为完整记录,则表之后的字段可省略,否则必须指定字段 insert into 学生 (学号,姓名,性别) values("S10","张三","女") insert into 学生 values("S11","李平","女",22,"22") 格式2:insert into 表名 from array 数组名 功能:将数组中各元素的值,插入到指定表中,依次字段做为新记录 dimension ar(6) ar(1)="S12" AR(2)="染小" ar(3)="男" ar(4)=25 ar(5)="13" ar(6)="电脑" insert into 学生 from array ar clear list 3. 更新命令 Update 表名 set 字段名1=表达式1 [,字段名2=表达式2]…[where 条件] 功能:用相应表达式的值来更新指定表中相应的字段值 [where 条件]:指定更新满足条件的记录,如果省略,则更新所有记录 update 学生 set 年龄=年龄+1 where 性别="男" clear list update 学生 set 年龄=23,班级号="22" where 姓名="张三" list UPDATE 学生 set 电子邮件 =alltrim(学号)+str(年龄,2)+班级号+"@163.com" 4. 逻辑删除表记录命令 格式:delete from 表名 [where 条件] 功能:对当前表中,所有记录或满足条件记录加删除标记 [where 条件]:指定对满足条件记录加删除标记,省略,则为所有记录加标记 delete from 学生 where 性别="男" cler list delete from 学生 clear list recall all 5(表定义命令 格式:create table表名(字段名1 [类型 [(宽度][小数位数]),…字段名n [类型 [宽度][小数位数]]) 如用以上命令定义一成绩表: 字段有: 学号 字符5 姓名 字符8 语文 数值4,小数1 数学 …………… 英语 ………….. 统计日期 日期型 create table 成绩 (学号 c(5),姓名 c(8),语文 n(4,1),数学 n(4,1),英语 n(4,1),统计日期 d) 用以上命令建立如下表: 字段有: 产品名 c(10) 生产日期 日期型 数量 整形 creat table 产品 (产品名 c(10),生产日期 d,数量 i) sql 删除表命令 格式: drop table 表名 功能:将指的表删除 drop table 产品 查询与视图 查询:是预先定义好的SQL语句,从一个或多个表中提取满足条件的记录,建立查询将生成查询文件,扩展名为.qpr 查询建立好后,以后使用查询,只需运行查询文件即可 运行查询文件命令: Do 查询文件名.qpr 功能:运行指定的查询文件,产生查询结果 建立查询的方法: -1.->文件->新建,查询->新建文件(进入查询设计) 2.使用命令: Create query 查询文件 功能:进入查询设计器设计查询 4. 用建立可修改查询命令 格式:modify query 查询文件 功能:进入指定查询设计器,或建立新查询 5. 使用命令: 格式:Modify command 查询文件名.qpr 功能:进入指定查询文件的文本编器中,编写或修改sql select 语句,保存即可 注意:以上1,2,3种方法都查进入查询设计器,而查询设计器只能设计规则的查询,查询设计不能完成的查询,可配 合第4种方法来设计 视图 视图是从一个或多个表中派生出来的虚 表,只是一个操作表的窗口,没有真实数数据,视图依赖表和数据库,所以建立或使用视图,必须打开相应的数据库, 而视图建立好后,可以像操作一般表一样的操作,但所在的数据库必须打开 建立视图方法; 1. 在数据库设计器中:,右击,新建本地视图 2. 打开数据库后:,文件,新建,视图->新建文件 3. 打开数据库后: 使用命令: create view 4. 用sql 定义视图命令 格式 :create view 视图名 as sql select 功能:将sql select 查询的结果定义视图存放在当前数据 库中 注意:以上1,2,3三种方法都要进入视图设计器设计视图, 视图设计的操作过程同查询设计器 删除视图 命令:drop view 视图名 功能:删除当前数据库中指定的视图 表单设计与应用 表单:是vfp提供建立应用程序界面的主要工 具, 表单上包含一个个操作对象,这些对像叫界面元素 表单上的对象有: .命令按钮,文本框,标签,列表框,组合框,…. 对象:是一些具体实物,每个对象有自己的特征 对象的组成: .属性:用于描述对象的特征 .方法:用于描述对象的行为 .事件:用于产生行为的基本条件 建立 表单方法 1.—>文件,新建->表单->向导->(表单向导 .一对多表单向导) 2.-->文件,文件,表单,新建文件 3.使用建立表单命令 格式:create form 表单文件名 功能:在当前默认目录下建立指定的表单 5. 用建立或修改表单命令 格式:modify form 表单文件名 功能:用于建立新表单或修改已有的表单,如果指定的表单文件名不存在,则为新建表单,表单文件的扩展名为.scx 运行表单命令 Do form 表单文件名 功能:运行当前默认目录下指定的表单 表单的常用属性 1. caption:用于设置表单标题栏上的文字 2. autocenter:用于设置表单运行时,是否自动居中 3. backcolor:用于设置背景颜色 4. borderstyle:设置表单是否可改变大小 5. closable:设置表单上的关闭按钮是否有效 6. maxbutton:设置最大化按钮是否有效 7. minbutton:设置最小化按钮是否有效 8. movable:设置表单是否可移动 设置表单属性的代码格式 1. 设置表单本身 格式:thisform.属性名=属性值 2. 设置表单上的某对象 格式:thisform.对象名. 属性名=属性值 以上代码,要在相关事件中使用 表单常用事件 1. init 事件:当表单运行时,发生该事件,该事件中,可以 访问表单本身,也可该其它对象 当前一运行就看到结果,将代码写在该事件中 2. click:单击事件,当用s标左单击某对象时发生该事件 3. rightclick:右击事件 当用s标右键单击对象时引发该事件 表单常用方法 1. print:在表单输出的方法 代码:thisform.print(表达式) 功能:在表单上输出表达式的值,当(表达式)省略,则在表单上换行 2. cls:清除方法 代码:thisform.cls 功能:清除表单上print输出的内容 3. release:关闭(释放)表单方法 代码:thisform.release 功能:关闭当前运行的表单 作业: 建立一表单,表单运时,标题显示:古诗一首 表单背影为白色,表单有一显示的命令按钮,单击该按钮时,则显示“静夜思”这个诗的内容,另外还有一清命令,单击之,清除表单上显示的诗,
/
本文档为【上午8点&#46;8月4号doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索