已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
必选项;可选项;前面内容重复;I任选项1.*将任意一个三位数反向输出x=123x1=int(x/100)x2=int(mod(x,100)/10)x3=mod(x,10)?x1+x2*10+x3*100 3212.x=123y=str(x,3) &将数值转化为字符串?right(y,1)+subs(y,2,1)+left(y,1) 3213.xb=女?iif(xb=男,1,iif(xb=女,2,3) &条件函数 24.note () *或 * / %(求余数) + -从高到低; =(精确等于),、#、!(不等于); Not and nor (依次降级)5.*查找姓“张”的学生at(张,姓名)=1;substr(姓名,1,2)=”张”;姓名=”张”&非精确比较;left(姓名,2)=”张”;6.*20岁以下学生Date()-出生日期=20*365;Year(date()-year(出生日期)=20;7.*少数民族学生少数民族否;少数民族否=.T.;Iif(少数民族否,”少数民族”,”汉族”)=”少数民族”*use 学生 &这是vf语言首先需要做的,以下操作省略此条8398.*显示第五条记录go 5display;list record 5;list for recn()=5;display for recn()=59.*显示记录号为偶数的记录list for mod(recno(),2)=0 &recno()是记录号函数;list for recno()%2=0;list for int(recno()/2)=recno()/2;list for int(recno()/2)recno()/2 &显示记录号为奇数的记录10.*显示汉族女学生的记录list for 少数民族否=.F. and 性别=女list for !少数民族否 and 性别=女11.*显示女学生的姓名、性别、年龄及简历list 姓名,性别,year(date()-year(出生日期),简历 for;性别=女Use &关闭表12.*表结构显示list/display structure;表结构修改modify structure;表记录显示list=display all;表记录修改edit/change/browse/replacewithfor/while13.*将汉族学生数学成绩减少10分,并将外语成绩增加20分replace 数学 with 数学-10,外语 with 外语+20 for 少数民族否14.*将6号记录的出生日期修改为1983年9月7日go 6replace 出生日期 with 1983/09/07;replace 出生日期 with 1981/09/07 for recno()=615.*将汉族学生的数学成绩减少20分,将少数民族学生的外语成绩增加20分Replace 数学 with 数学-20 for 少数民族否=.F.Replace 外语 with 外语+20 for 少数民族否 &必须用两条命令,因条件不同16.绝对定位 go top/bottom;相对定位skip17.* 插入记录Insert/insert blank18.*添加记录append &用全屏方式进行添加记录append blank &添加空白记录,在尾部19.*删除记录delete for recno()=3 or recno()=5 &添加删除标志browset delete on &做了删除标志的不参与运算recall &取消删除标志pack &物理删除记录zap=delete all 和 pack20.*复制表结构copy structure to 学生1 fields 学号,姓名,性别21.*复制表copy to new1 for 数学=60use new1 &显示表的记录必须先打开新表listcopy to new2 sdftype new2.txt &查看新文本文件copy to new3 delimitedtype new3.txt &查看新文本文件,若为字符型,带有22.*从其他文件向表添加数据use 学生表copy stru to 学生2use 学生2list &显示记录为空list struappend from 学生表 &将学生表记录添加到学生2中list &显示学生2表记录23.数据表文件的删除delete file new1.dbf &扩展名不能省略erase 表1.dbf &删除的文件必须关闭24.*表的排序* A(ascding 升序);D(descding 降序);C(加上忽略大小写),改变物理顺序USE 学生表sort on 数学/DC to sx use sxlist next 525.*索引文件*种类:单索引文件:.idx;复合索引:.cdx;改变逻辑顺序*用表单设计器建立的索引号都是结构复合索引*To 单索引文件;tag 复合索引文件;compact 压缩的单索引文件*复合索引系统默认升序,单索引只能升序索引,默认普通索引*按年龄降序,年龄相同数学成绩升序(复合索引)index on str(year(date()-year(出生日期),2)+str(100-数学) tag xx desc*按数学降序(单索引)index on -数学 to su*按学号升序,不允许有编号相同的记录index on 学号 tag xh unique*按出生日期升序(非结构复合索引)index on 出生日期 tag cs of ss26.*打开索引文件*打开表后再打开索引文件set index to suset index to &关闭当前单索引文件*表和索引文件同时打开Use 学生 index su27.*确定主控索引*go top/bottom指向逻辑顺序use 学生set index to su,nameset order to 2 &设置name 为主索引list next 3set order to 1 &设置su为主索引,或set order to sulist next 3set order to &取消主索引28.*关闭索引文件,不能关闭结构索引; use 命令关闭当前表和相关索引close indexset index to 29.*删除索引Delete file su &删除单索引文件Delete tag all;delete tag cs &删除复合索引文件索引标志30.*更新索引Reindexcompact31.*顺序查询定位locate for !少数民族否 and 性别=男disp 姓名,数学,year(date()-year(出生日期)continue &继续查找下一个?recno(),姓名,数学,year(date()-year(出生日期)?found()32.*索引查询定位 &继续查找下一个skipindex on 出生日期 tag sy4d=1983/09/07seek d &内存变量,不加&dispindex on 姓名 tag xmfind 王大为 &查找字符型,不需要加定界符dispseek 张大力 &查找任意数据,需要加定界符disp33.*统计记录个数count for 性别=女 to x1count for 性别=男 to x2?x1,x234. use 学生aver year(date()-year(出生日期) to y?y &求表达式平均值sum 数学,外语 to a,b?a,b &求数学,外语总分calculate avg(数学),min(数学),max(数学) to x,y,z?x,y,z &avg,数值表达式平均值;max,数值,日期或字符35.*分类汇总*按性别、数学和外语成绩进行汇总index on 性别 tag xbhztotal on 性别 to hzuse hz &先建立索引再分类汇总list在一个工作区只能打开一个表文件,且一个表文件也仅仅在一个工作区打开Select 0选择当前没有被使用的最小工作区为当前工作区36.*在1号工作区打开学生表并取别名use 学生 alias zg in 1;use 学生 alias zg in A &110号别名AJ37.*表的逻辑关联Set relation tointo;选择additive建立一对多关系Set relation to 取消所有关联,取消后仍是两个表38.*表的物理联接Join with tofor/fields39.按性别对数学成绩和外语成绩汇总Index on 性别 tag cTotal on 性别 fields 数学,外语 to xbcj 分别统计男女生平均年龄Average(date()-出生日期)/365 for 性别=男Average(date()-出生日期)/365 for 性别=女 显示性别为女的学生数学成绩的总分,平均分,最高分和最低分Cal sum(数学),avg(数学),max(数学),min(数学) for 性别=女to x1,x2,x3,x4?x1,x2,x3,x440.建立数据库文件:creat database 学生 打开数据库:use 学生.dbc &.dbc不能省略;open database 关闭数据库:close all/database 修改数据库:modify database 删除数据库:delete database 41.建立数据库索引父表建立主索引,子表建立普通索引;清理数据库;编辑参照完整性42.数据库表设计器字段有效性规则:性别=男 or 性别=女信息:性别只能为男或者为女默认值:女43.SQL命令动词数据查询:select数据操纵:insert update delete数据定义:creat drop alter44.*用SQL命令建立学生管理数据库,包括学生表、选课表、课程表*用creat建立数据库creat database 学生管理*建立学生表creat table 学生表(学号 c(5) primary key,姓名 c(8),性别 c(2),年龄 i,数学 n(5,1) check (数学0) error 成绩应该大于0! defa 0,外语 n(5,1)*建立课程表creat table 课程表(课程号 c(5) primary key,课程名 c(10),学分 n(1) &primary key 建立主索引*建立选课表creat table 选课(学号 c(5),课程号 c(5),成绩 i check(成绩=0 and 成绩=16) error 学时应该大于16!*讲课程表的课程字段名由10改为20alter table 课程 alter 课程名 C(20)*为学生表外语字段添加有效性规则alter table 学生 alter 外语 set check(外语=0 and 外语 =80 and 数学b.成绩51.*嵌套查询*返回单值的子查询*列出选修“数据库原理”的所有学生的学号select 学号 from 选课表 where 课程号=(select 课程号 from 课程 where 课程名=数据库原理)*返回一组值的子查询*列出选修01101课的学生中期末成绩比选修01102课的最低成绩还要高的学生的学号和成绩select 学号,成绩 from 选课表 where 课程号=01101 and 成绩any(select 成绩 from 选课表 where 课程号=01102) &any运算符的用法*列出选修01101课的学生的成绩比选修01102课的最高还要高的学生的学号和成绩select 学号,成绩 from 选课表 where 课程号=01101 and 成绩all(select 成绩 from 选课表 where 课程号=01102) &all运算符的用法*列出选修“数据库原理”或“软件工程”课程的所有学生的学号select 学号 from 选课表 where 课程号 in(select 课程号 from 课程 where 课程名=数据库原理 or 课程名=软件工程) &any运算符的用法in等价于=any52.*超连接查询Selectfrominner/left/right/full join*内部链接*列出男生的学号、课程号及成绩select a.学号,b.课程号,b.成绩 from 学生表 a,选课表 b where a. 学号=b.学号 and a.性别=男select a.学号,b.课程号,b.成绩 from 学生表 a inner join 选课表 b on a. 学号=b.学号 where 性别=男53.*排序*按性别顺序列出学生的学号、姓名、性别、课程名及成绩,性别相同的再按课程名排序,最后按成绩由高到低排序select a.学号,a.姓名,a.性别,c.课程名,b.成绩 from 学生表 a,课程 c,选课表 b where a.学号=b.学号 and b.课程号=c.课程号 ord er by a.性别,c.课程名,b.成绩 desc*输出学生表中数学成绩最高的前5名学生的信息select * top 5 from 学生表 order by 数学 desc54.*查询结果输出Into array 数组;cursor 临时表;dbf/table 表To file 文本文件*输出学生表数学成绩最高的前五名保存到testselect a.学号,b.课程号,b.成绩 from 学生表 a,选课表 b;where a.学号=b.学号 and a.性别=男 to file test*输出合并*列出选修01101或01102的所有学生和学号select 学号 from 选课表 where 课程号=01101 union select 学号 from 选课表 where 课程号=01102*分组统计查询与筛选*分别统计男女人数select 性别,count(性别) from 学生 group by 性别*分别统计男女学生中数学成绩大于85分的学生人数select 性别,count(性别) from 学生 group by 性别where 数学成绩85 &where:分组前所有记录满足的条件错误:select 性别,count(性别) from 学生 group by 性别 having 数学85 &having:查询后的结果是否满足条件55.*插入记录*向学生表中添加记录insert into 学生表 values(231002,杨阳,男,87.0,88.0)insert into 学生表(学号,姓名) values (231109,李兵)dimension a(5)a(1)=221013a(2)=张阳a(3)=女a(4)=97.0a(5)=88.0insert into 学生表 from array a56.*删除记录*将学生表中所有男生的记录逻辑删Delete from 学生 where 性别=男*删除学生管理里学生表中所有少数民族的学生Delete from 学生管理!学生 where 少数民族否Delete from 无条件删除所有记录57.*更新记录*将学生表中姓名为杨阳的学生的外语成绩改为93分update 学生 set 外语=93 where 姓名=杨阳*将所有男生的各科成绩加20分update 选课表 set 成绩=成绩+20 where 学号 in (select 学号 from 学生表 where 性别=男)update一次只能在单一表中更新记录58.*查询哪些仓库有工资多于1210元的职工Select distinet 仓库号 from 职工 where 工资1210*给出在仓库WH1或WH2工作,并且工资少于1250元的职工号select 职工号 from 职工 where 工资1210 group by 仓库号)*求每个仓库的平均工资select avg(工资) as 平均工资,仓库号 from 职工 group by 仓库号*查询出向供应商S3发过订购单的职工的职工号和仓库号select a.职工号,a.仓库号 from 职工 a,订购单 b where a.职工号=b.职工号 and b.供应商号=S3*查询出和职工E1、E3都有联系的北京的供应商信息select * from 供应商 where 供应商号 in(select 供应商号 from 订购单 where 职工号=E1 or 职工号=E3) and 地址=北京*查询出向S4供应商发出订购单的仓库所在的城市select a.城市 from 仓库 a, 职工 b,订购单 c where a.仓库号=b.仓库号 and b.职工号=c.职工号 and 供应商号=S4*查询出由工资多于1230元的职工向北京的供应商发出的订购单号select dist a.订购单号 from 订购单 a,职工 b,供应商 c where a.职工号 in(select b.职工号 from 职工 b where 工资1230) and 地址=北京select a.订购单号 from 订购单 a,职工 b,供应商 c where a.职工号=b.职工号 and a.供应商号=c.供应商号 and 工资1230 and 地址=北京*查询哪些仓库中至少已经有一个职工的仓库信息select * from 仓库 where 仓库号 in(select 仓库号 from 职工)59.*比较SQL和VF语句1.creat table 学生(学号 c(6),姓名 c(8),性别 l,入学成绩 n(5,1)creat 学生2.alter table Use 学生 modify structure3.insetr into 学生(学号,姓名) values(“000006”,”李四”) Ues 学生 insert4.delete from 学生 where 姓名=”李四” Use 学生 delete for 姓名=”李四” pack5.update 学生 set 入学成绩=入学成绩+5 where 性别=”女” Use 学生 replace 入学成绩 with 入学成绩+5 for 性别=”女”6.drop table 学生 Delete file 学生.dbf60.*建立查询 creat query联接:join on;筛选:where;排序依据:order by;分组依据:group by查看查询文件内容:查询;查看SQL运行查询:do 学生.qpr打开查询设计器:modify query 学生定向输出查询文件:查询;查询去向显示文件内容:显示;浏览字段函数表达式:year(date()-year(出生日期) as 年龄61.*查询只能查询,视图可以查阅数据还可以将数据更新并返回数据库;视图不能单独存在启动数据库设计器:creat view钥匙符号:指定字段是否为关键字铅笔符号:指定字段是否可以更新62.*参数化视图查询;视图参数。输入:sex。“筛选”选项卡:选择学生性别,实例栏输入:?sex。运行,输入:”女”63.*多表设计及更新内部链接;视图参数:学号;实例:?学号;更新条件:选课,课程号为关键字;运行:”070401”64.*项目文件创建Creat project65.*程序逻辑结构:顺序结构、选择结构、循环结构建立或修改程序文件:modify command &类型确定,扩展名默认值:.prg Modify file &类型不确定执行程序:do jjReturn:结束本程序的运行,返回调用它的上级程序,若无上机程序则返回命令窗口Return master:从子程序返回到主控程序继续执行66.*顺序结构程序设计set talk off&设置会话状态关闭clear &清除屏幕上所有内容use 学生表display 姓名,性别,数学,外语useset talk on &恢复默认数字return 67.*设置会话状态命令:set talk on/off设置打印状态命令:set print on/off设置屏幕状态命令:set console on/off设置默认驱动器和目录命令:set default to68.*字符串接受命令在学生表中,从键盘任意输入一个学生的学号查询学生的姓名、性别、出生日期、数学和外语set talk offclearuse 学生accept 请输入待查学生的学号: to xh &只接受字符串,不需要定界符locate for 学号=xhif found()disp 姓名,性别,出身日期,数学,外语else? 没有该生endifuseset talk on return69.*任意数据输入命令输入圆半径计算面积set talk offclearstore 3.14 to pinput 请输入圆的半径: to r &接受多种类型数据,需要界定符s=p*r2?半径是+ltrim(str(r)+圆的面积是: &str()数值转换成字符?sset talk onreturn70.*单个字符接受命令wait命令应用示例,wait接受单个字符set talk offuse 学生clearlist next 10skip &指针下移,否则第10号会显示两次wait window &在屏幕右上角的窗口内显示提示信息list next 10useset talk on71*格式输入输出命令从键盘上任意输入两个数据,要求用格式化语句完成set talk offcleara=0 &表示变量A仅仅可以输入整数b=0.00 &表示变量B仅仅可以输入实数,小数位为两位4,10 say 请输入第一个整数: get a &4行10列,say显示提示信息6,10 say 请输入第二个实数: get b &get为变量输入新值read &格式输入命令c=a+b8,10 say str(a)+allt(str(b,10,2)+=+allt(str(c,10,2) &格式输出命令set talk onreturn72.单分支语句*从键盘上任意输入两个数据,按照从大到小的顺序输出set talk offclearinput 请输入第一个数据: to ainput 请输入第二个数据: to bif a=b?a,bset talk onreturn73.*双分支语句从键盘接收一个字符,如果是小写字母,将其改为大写字母后输出,其他字符直接输出set talk offclearwait 请输入一个字符: to lif l=a and l=z?upper(l)Else?lendifset talk onreturn用双分支语句编程计算电费:不超过50度,每度0.5元;超过50度时,超出部分每度0.8元set talk offclearinput 请输入所用电量: to dlif dl=50 df=dl*0.5else df=dl*0.5+(dl-50)*0.8endif?应缴电费为:+ltrim(str(df,10,2)+元set talk onreturn用立即if函数改写电费计算程序set talk offclearinput 请输入所用电量: to dldf=iif(dl=50,0.5*dl,0.5*dl+(dl-50)*0.8)?应缴电费为:+ltrim(str(df,10,2)+元set talk onreturn74.多分支结构输入任意一个百分制成绩,输出对应的5分制成绩,其对应关系如下:优(90=百分成绩=100)、良(80=百分成绩90)、中(70=百分成绩80)、及格(60=百分成绩70)或不及格(百分成绩100 or cj=90 dj=优 case cj=80 dj=良 case cj=70 dj=中 case cj=60 dj=差otherwise dj=不及格endcase?成绩等级为:+djset talk onreturn*在学生表中,从键盘上输入任意一个学生的学号,查找该学生,如有则显示他的数学成绩所属的等级,否则显示没有该学生set talk offclearuse 学生accept 请输入需要查询学生的学号: to alocate for 学号=aif found()do case case 数学=90 ?学号,姓名,数学,优秀 case 数学=80 ?学号,姓名,数学,良好 case 数学=70 ?学号,姓名,数学,中等 case 数学=60 ?学号,姓名,数学,及格otherwise ?学号,姓名,数学,不及格endcaseelse?没有该学生endifuseset talk onreturn从键盘上输入任意一个字符,判断索输入的字符类型set talk offclearwait 请输入任意一个字符: to ado case case a=0 and a=A and a=a and a=z wait 小写英文字符+a+! case a= wait 空格字符+a+!otherwise wait 其他字符+a+!endcaseset talk onreturn75.*do while循环编程计算S=1+2+3+.+100set talk offcleari=1 &计数器:设置循环变量初值s=0 &累加器:设置累加变量初值do while i=100s=s+i &将i加到s中i=i+1 &修改循环控制变量enddo?S=+ltrim(str(s) &输出结果set talk onreturn将1n以内所有奇数的和,n从键盘随机输入set talk offclears=0i=0input 请输入一个自然数n: to ndo while i=ni=i+1if i%2=0loopendifs=s+ienddo?1到n的奇数和s=,sset talk onreturn76.*for循环编程计算s=1+2+3+.100set talk offclears=0for i=1 to 100s=s+iendfor?s=+ltrim(str(s)set talk onreturn水仙花数是指一个三位数,其各位数字的立方和等于该数本身,求所有的水仙花数。set talk offclearfor i=100 to 999a=i%10 &求i的个位数b=int(i%100/10) &求i的十位数c=int(i/100) &求i的百位数if i=a3+b3+c3?iendifendforset talk onreturn77.*scan循环分别统计学生表中少数民族男、女学生的人数set talk offclearstore 0 to x,yuse 学生scan for 少数民族否if 性别=男 x=x+1else y=y+1endifendscan?少数民族男生有:+str(x,2)+人?少数民族女生有:+str(x,2)+人UseSet talk onReturn78.*建立表单:creat form运行表单:do form 学生.scx修改表单:modify form 学生.scx79.*加法器加法click代码:thisform.text3.value=val(thisform.text1.value)+val(thisform.text2.value)清除代码:thisform.text1.value=thisform.text2.value=thisform.text3.value=退出代码:thisform.release80.*调用表单对象thisform.refreshmessage(现在开始演示方法hide)thisform.hidewait按任意键可以显示表单 windowthisform.show81.*按鼠标左键时,文本框显示当前日期;释放鼠标,显示当前时间鼠标mousedown: thisform.text1.value=date()鼠标mouseup: thisform.text1.value=time()82.*学生选课表单列表框:父表学生表格:子表选课83.*学生数据库查询click表首:go topthisform.refresh表尾:go bottomthisform.refresh向前:if not bof() skip-1endifthisform.refresh向后:if not bof() Skip endifthisform.refresh文本框:controlsource:相应字段84.*标签caption:标题文本,标签的名字形状curvature:曲率,0表示直角;99表示圆图像picture:指定图像文件封面文字置于椭圆前面:选定标签,选择格式;置前85.*命令按钮组click代码:Do case Case this.value=1 Go top Thisform.refreshCase this.value=2 If not fou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门体育产业集团赛事运营有限公司招聘14人笔试参考题库附带答案详解
- 2025湖南长沙市雨花城投集团公开招聘工作人员4人笔试参考题库附带答案详解
- 2025湖北来凤县凤天水务投资建设有限责任公司招聘8人笔试参考题库附带答案详解
- 2025浙江衢州市柯城区国有企业招聘工作人员16人笔试参考题库附带答案详解
- 2025浙江杭州之江城市建设投资集团有限公司(国企)招聘11人笔试参考题库附带答案详解
- 2025天津百利特精电气股份有限公司招聘所属企业财务总监2人笔试历年难易错考点试卷带答案解析
- 大众化AI工具助力P PT封面设计
- 长沙市2025湖南长沙理工大学(教师工作部)期刊社招聘编辑人员5人笔试历年参考题库典型考点附带答案详解
- 芮城县2025山西运城芮城县事业单位招聘204人笔试历年参考题库典型考点附带答案详解
- 滨城区2025山东滨州市滨城区事业单位招聘笔试历年参考题库典型考点附带答案详解
- 04S519小型排水构筑物(含隔油池)图集
- 本科毕业论文-微博文本情感分析研究与实现
- 八年级下册生命与健康教案
- 湖南省长沙市湖南师大附中教育集团2023-2024学年七年级下学期期中数学试题
- 口才与演讲实训教程智慧树知到期末考试答案2024年
- 【生物】激素调节课件 2023-2024学年人教版生物七年级下册
- 重大危险源检查记录表
- 苏州市2023年中考:《化学》考试真题与参考答案
- 工业γ射线探伤装置安全使用和辐射防护
- SB/T 10784-2012洗染服务合约技术规范
- GB/T 6003.2-2012试验筛技术要求和检验第2部分:金属穿孔板试验筛
评论
0/150
提交评论