已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VF参考资料一、基础知识、 1、数据库(DataBase, DB)2、数据库管理系统(DataBase Management system, DBMS 是核心)3、数据库系统(DataBase system ,DBS)DBS包括DB和DBMS、数据模型层次模型、网状模型、关系模型我们所学习的数据库是属于关系模型,关系模型的实质就是一张二维表。二维表:二维表由行和列构成,行表记录或元组,列表字段或属性。对二维表的基本操作有:选择:找出符合条件的记录(即行)投影:找出符合条件的字段(即列)连接:把多余的连在原有的后面(对两个或两个以上的数据库进行的操作)二、数据类型:常用的数据类型有: 数值型(N) 2560000000000 2.56*1012 2.56E+12字符型(C) 时期型(D,8)(mm/dd/yy,yyyy-mm-dd )逻辑型(L,1)货币型(Y,8)表示货币型时前面必须加$符备注型(M,4)通用型(G,4)注:日期类型的显示格式受到以下语句的影响(VF默认状态下是2位数年份 月 日 年)1、Set date to 功能:设置日期的显示格式 如:Set date to YMD 指以年月日的格式显示日期MDY :月日年 DMY:日月年2、set century on|off| 功能:以几位数字显示年份 ON状态是以4位显示 OFF(系统默认)以2位2、常量与变量: A、常量:五种 N型常量,C型常量,D型常量,L型常量,T型常量 字符型常量的定界符:、“”、 L : .t. .f. 1 0 .y. .n. 12/21/01 12:20:10 pM B、变量:命名原则:以字母(包括汉字在内)或下划线开头,后面可以跟字母、汉字、数字或下划线,最多不可超过256个字符。 例题:找出下列哪些是常量哪些是变量,是什么类型的常量 123,JSJ,T,王一,折、.t.,05/25/04_123.45,$123.54,2001-05-23,you变量分为:自定义内存变量和系统内存变量(大多以下划线开头)内存变量和字段变量字段变量是随着表的建立 而建立 的 、自定义存变量的赋值:两种 1) STORETO 一次可以给多个变量赋同一值 stor 5 to a,b,c 2) = 一次可以给一个变量赋同一值 a=5 、自定义内存变量的显示: ?表还一行显示?表示在同一条显示注:当字段变量和内存变量重名时,以字段变量优先;要想显示内存变量,需在内存变量前加M或M例:?姓名显示字段变量 ?M姓名显示内存变量三、函数VF中的五类函数:数值计算函数、字符处理函数、类型转换函数、时期时间函数、测试函数函数:函数是由函数名和括号两部分组成,(除(读作宏替换)取地址符外)(一)数值函数:返回类型为:数值型。1ABS(X):取绝对值函数。(1)正数的绝对值是本身,负数的绝对值是它的相反数。(2)X:代表数值。例:?ABS(25) 252ROUND(X,N):四舍五入函数。(1)N:代表小数位数。(2)若N的值为负数,其绝对值表示整数部分四舍五入的位数,舍入位后面的数字用零表示。例: ?ROUND(12345,0) 123 ? ROUND(12355,1) 120 ? ROUND(12345,1) 1235 ?ROUND(12356,0)1243MOD(N1,N2):取模函数。(取余)(1)正常的除法运算,如果余数和除数同号,余数即为模;否则模=除数+余数。(2)同号取正,异号取负。(3)N1:被除数;N2:除数。(4)被除数中的小数部份不参与运算;余数与除数的符号相同。例: ?MOD(7,4) 3 ? MOD(11,4) 3 ? MOD(11,4) 3 ?MOD(11,4) 14INT(N):取整函数例: ?INT(25) 2 ? INT(36) 3用法:判断X是否能被N整除。INT(X/N)= X/N5、ceiling()返回大于或等于指定数值表达式的最小整数。 Floor()返回小于或等于指定数值表达式的最大整数。?Ceiling(5.8) ,floor(5.8) , Ceiling(-5.8) , floor(-5.8) 6 5 -5 -6(二)字符函数:1LEFT(字符串,N):左子串函数。返回字符型。注意:若N的宽度字符串的宽度,则返回整个字符的表达式;如果N为负数或0则反回空字符串。例: ?LEFT(“12345”,2)12 ? LEFT(“中国共产党”,4) 中国2RIGHT(字符串,N):右子串函数。返回字符型。例: ?RIGHT(“中国”,2) 国3SUBSTR(字符串,N1,N2):取中间子串函数。返回字符型。N1:从该位置开始,返回字符串。N2:返回的字符数。若省略,则返回字符表达式全部字符。例: ?SUBSTR(“ABCDEF”,2,3) BCD ? SUBSTR(“中华人民共和国”,5,4)人民4LEN(字符串):字符串长度测试函数。返回数值型。例: ?LEN(“1234”) 55、去空格函数trim() 去尾部空格Ltrim() 去掉前导空格(即字符串左面的空格)alltrim() 去掉尾部和前导的空格(三)日期函数:1DATE():当前系统日期。返回的是:日期型例:?DATE()返回当前的日期01/14/092MONTH(日期)返回的是:数值型例:?MONTH(DATE()123DAY(日期)返回的是:数值型例:?DAY(DATE()114YEAR(日期)返回的是:数值型例:?YEAR(DATE() 2006时间函数:1TIME():当前系统时间。返回的是 字符型。例:?TIME()09:19:142DATETIME():当前系统日期时间。返回的是日期时间型T。例:?DATETIME()12/13/06 09:22:58 AM(四)转换函数(若要进行比较,把它们都转换成C)1DTOC(日期):日期转换为字符(DC),返回字符型。例:?DTOC(DATE()12/11/062CTOD(字符):字符转换为日期(CD),返回日期型。例:?CTOD(“12/11/06”)12/11/063STR(数值,宽度,小数位数):数值转换为字符(NC),返回字符型。注意:宽度只与数值中的整数部分有关系。 若这个宽度整数部份,全部显示,不足的左边空格来补,反之宽度整数部份,则显示N(宽度)个*。若宽度缺省默认为10。例: ?STR(123456789,8,3) 123.456(前面有一空格) ?STR(123456,2) * ? STR(123456) 123(前面有7个空格) ?STR(123556,6) 124(前面有三个空格) 4VAL(字符串):字符转换为数值(CN),返回数值型。注意:若指定的字符串以非数值字符开头(除空格、+、号外),返回一个0。默认保留两位小数,也进行四舍五入的原则。该表达式最多由16位数字组成,若超过16们,则对其四舍五入。例: ?VAL(12345AB)12345 ?VAL(AB123) 000 ? VAL(123478)12348(五)测试类函数:1BOF():测试文件是否开始。2EOF():测试文件是否结束。3RECNO():测试当前记录号。例:USE XSDAGO BOTTOM ?RECNO()?RECNO() 110 ?BOF()?EOF()FF ?RECNO()?RECNO() 111 ?BOF()?EOF() TT意义:打开表指针指向第一条记录,并不意味着文件已经开始,只有指针上移,逻辑上指向第零条记录,但实际上仍指向第一条记录,才意味着文件已经开始。当指针指向文件底,即最后一条记录时,并不意味着文件已经结束,只有指针下移,指向最后一条记录的下一条记录时,才意味着文件已经结束。EMPTY(表达式) 表达式为“空 ”返回.T. 否则返回.F. ?empty(“ 231”) F Isnull(表达式) 空值(。Null.)和空串的区别 只有当表达式是.null.的时候 结果才为.t. 其它任何情况都 为 .f.Vartype(表达式)功能:测试表达式中返回值什么类型如:X=56?Varitype(x) L IIF(,,) 功能:测试逻辑表达式的值,若为真,返回表达式1的值,为假返回表达式2的值。X=100Y=300?iif(x100,x-50,x+50),iff(y100,y-50,y+50)150 250at(字符表达式1,字符表达式2,表达式1在2中第几次出现) 返回表达式1在2中首次出现的位置。区分大小写?at(“ab”,”dAbccab”) 2like(字符表达式1,字符表达式2) 逻辑比较2个表达式对应位置上的字符,若都匹配函数值为.T.,否则为.F.(表达式1中可以包含通配符*和?)* 可以表示多个任意文字 ?只能代表一个任意字符 如:like(ab*,ab?)T如:like(ab?,abcffffff)T六、特殊函数1SPACE(N):空格生成函数 N是多少就生成几个空格的位置 字符型例:LEFT(伟大中国,4)+RIGHT(伟大中国,4) 伟大中国 你好 - 周= 你好 周 LEN(LEFT(伟大中国 ,8)SPACE(2)10四、运算符与表达式 表达式:由运算符将常量、函数、变量连接起来的式子 五种表达式与运算符:1、 算数运算符:+、*、/、%、() a$abc .t.2、 字符运算符:+、$其中+号表示字完全连接,号表示不完全连接,将符号左端字符串尾部空格移到整个字符串的右端。list for 电$家电名称3、 关系运算符:,=,=,=,!=,#,反回值是逻辑类型 其中=受到SET EXACT的限制,当其值是ON的时候,(允许不精确)“CO”=“CO ”值为.T.,当其值为OFF的时候,(必须一致)“CO”=“CO ”值为.F.co =go4、 逻辑运算符:.NOT.非运算 .AND.与运算 .OR.或运算,优先顺序由高到低 T* f 非真即假,非假即真 与运算相当乘运算,只有真与真是真,其余全为假 或运算相当加运算,只有假或假是假,其余全为真5、 日期时间运算符:+,-D+N=D,D-N=D,D-D=N,D+D不得值 01/30/83-01/29/80五种运算符的运算先后顺序(由高到低): 函数 算术运算符 字符运算符 时期时间运算符 关系运算符 逻辑运算符 五、命令: 在VF当中一条命令只能占一行,多的在下行输入,但之间要用分号相连,每个命令可以只打前四个字母。创建表:create 表名打开表:USE IN 工作区名 ALIAS 别名 ORDER 结构索引文件名Ctrl+W 保存并关闭打开数据库:OPEN DATABASE 数据库名删除表:drop table 关闭表:USE 清屏:CLEAR 显示:LIST 范围 FORfiel (EOF指记录指针指向表中最后一条记录的下一条 即表已经结束) 范围:ALL所有NEXT N 当前记录开始连续的N条记录REST 当前记录开始至到最后一条记录RECORD N 第N条记录 Display 显示当前记录绝对定位:GO N/TOP/BOTTOM 一次性指向记录相对定位:SKIP N 相对当前位置向上或向下移动指针定位:插入:INSERT BEFOREBLANK 1 INSERT本身表示后插 2 INSERT BLANK在当前记录之后插入一条空白记录 3 INSERT BEFORE 在当前记录之前插入 4 INSERT BEFORE BLANK 在当前记录之前插入一条空白记录删除:逻辑删除:给满足条件的记录加上删除标记DELETE范围 FOR 物理删除:给加删除标记的记录彻底删除 PACK复制表的命令:先打开要复制的表, 复制表copy 字段名1,字段名2.to 新表名 复制表结构 copy stru to 新表名 恢复删除:RECALL 范围 FOR 给加删除标记的记录恢复删除清库:ZAP= DELE ALL PACK修改: EDIT 范围 FOR CHANGE 范围 FOR BROWSE 范围 FOR FIELDS (边浏览边修改) 成批替换:REPLace 范围 FORWITH,WITH其中范围这ALL时不能省略 统计命令:COUNT 范围 FOR TO SUM范围 FOR TO AVERAGE范围 FOR TO TOTAL ON TO 分类汇总:先分类即逻辑排序,再汇总。按照哪个字段排序就按照哪个字段汇总。排序(索引 功能 加快查找速度):逻辑排序INDEX ON TO (此文件名.IDX。在关键字段名前加负号表子降序。) 物理排序 SORT ON /d / /aTO (此文件名.DBF;默认升序/A,(asc)要想降序用/D(DESC)查找LOCA FOR CONT DISP六、SQL语言:SELECT 命令的格式:SELECT语句的一般格式为:命令 :SELECT FROM , WHEREAND AND/ORAND/OR GROUP BY ,HAVING ORDER BY ASC/DESC INTO TABLE INTO CURSORINTO ARRAY TO FILE TO PRINTER1.插入一行新记录命令 INSERT INTO(,)VALUES(,)功能 将新记录插入到指定的表中,分别用值1、值2等为列1、列2等赋值。2、修改数据记录命令 UPDATESET= WHERE功能 对表中的一行或多行记录的某些列值进行修改。3、删除数据记录命令 DELETE FROMWHERE功能 删除表中的一行或多行记录。表结构 增加字段:alter table add (字段1 类型,字段2 类型,.) 删除:alter table drop column 修改字段名: alter table rename column to 设置有效性字段: alter table alter set check error default 修改字段类型:ALTER TABLE 表名ALTER COLUMN 字段名 TYPE 类型(长度)更改现存表的名字: ALTER TABLE 表名 RENAME TO 新表名; 给一个字段增加一个非空约束: ALTER TABLE 表名 ALTER COLUMN 字段名 SET NOT NULL; 从一个字段里删除一个非空约束: ALTER TABLE 表名ALTER COLUMN 字段名 DROP NOT NULL; 建立侯选索引: ALTER TABLE 表名add unique 索引表达式 TAG 索引名删除侯选索引: ALTER TABLE 表名DROP unique 索引表达式 TAG 索引名建立主索引: ALTER TABLE 表名add PRIMARY KEY 索引表达式 TAG 索引名SQL语句中重要关键字:Distinct:去掉重复Union:将两个语句结果合并EXISTS|NOT EXISTS:查询中是否有返回值(用于查询嵌套中,后接子查询)ANY|SOME|ALL: ANY和SOME指子查询中有一些运行结果为真则结果为真,ALL是全部都为真结果才是真。(用于查询嵌套中,后接子查询)Top N 前几条记录(必须和order by一起用)Percent N 前百分之几(必须和order by一起用)查询和视图的区别:查询有查询去向 视图没有视图有更新 查询没有视图是虚拟的表 存在于数据库中 新建前必须先打开数据库 查询不用查询和视图都可以通过添加表或视图新建七、工作区1、概念:为了同时实现对多个表进行操作,VF提出了工作区的概念。VF提供了32767个工作区,但同一时刻可以打开多个工作区,一个工作区同一时刻只能打开一个表,但一个表可以用不同的别名在不同的工作区打开。VF启动时默认1号工作区为当前工作区。2、工作区的选择:Selete Selete 0 :指选择当前未被使用的最小工作区。表之间的临时关联:Set relation to 表达式 into 工作区号|别名表达式:父表子表的相同关键字段(必须是两个表共有的字段),且子表已激活以该字段为关键词的索引。工作区号|别名:指定需要建立关联的子表所在的工作区代号或子表别名。Set relation to :不带任何参数,表示切断当前工作区一切关联。如:在学生信息和学生成绩两表之间按学号为关键字建立关联。Use 1 &选择1号工作区Use 学生成绩 &打开子表Index on 学号 to 学号 &为子表成绩按学号建立一个索引文件Sele 2 &选择1号工作区Use 学生信息 &打开父表 Set relaiotn to 学号 into 学生成绩 &在父表中与子表建立临时关联八、VF中索引文件类型及索引类型1、索引文件类型:独立索引、结构复合索引、非结构复合索引2、索引的建立(表设计器和命令):INDEX ON 字段名|表达式 TO 独立索引文件TAG 结构复合索引文件名 OF 非结构复合索引文名注:复合索引文件扩展名为:.CDX 独立索引文件扩展名为:.IDX3、索引文件的打开:结构复合索引文件是随着表的打开而自动打开的非结构复合索引文件和独立索引文件需要使用命令打开,两种方法如下:A:USE 表名 INDEX 索引文件名B:SET INDEX TO 索引文件名4、索引类型:主索引、候选索引、普通索引、唯一索引。主索引: 组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。候选索引: 在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引。 普通索引: 也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。 唯一索引: 参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。 八、程序设计:程序的构成:顺序结构、选择结构、循环结构1(1)选择结构:(单分支)IF ELSE ENDIF(2)选择结构:(多分支)格式:DOCASECASE条件1语句1CASE条件2语句2CASE条件NOTHERWISE语句N1ENDCASE2循环语句:(一)DOWHILE条件 循环体 改变循环条件的语句LOOP无条件返回循环EXIT无条件退出ENDDO说明:(1)循环体内必须有改变循环条件的语句,避免造成死循环。 (二)FOR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年新形势下化学合成多肽行业顺势崛起战略制定与实施分析研究报告
- 未来五年固体产品竹木包装企业ESG实践与创新战略分析研究报告
- 未来五年固体产品包装企业ESG实践与创新战略分析研究报告
- 押题宝典安全员A证考试模考模拟试题附参考答案详解【综合卷】
- 燃气智能监控系统方案
- 安全员A证考试题库检测模拟题及参考答案详解ab卷
- 2024.5.26事业单位联考职测真题与答案解析(C)
- 安全员A证考试全真模拟模拟题及完整答案详解1套
- 安全员A证考试考试综合练习【含答案详解】
- 事业单位2025年度公开招聘笔试备考题库及参考答案详解1套
- DB34T 1948-2013 建设工程造价咨询档案立卷标准
- 钢铁制造的工艺流程(内部资料)课件
- DB31-T 1448-2023 监狱场所消防安全管理规范
- 公司干部调研方案
- 无纠纷自愿离婚协议书
- 四川省高等教育自学考试毕业生登记表【模板】
- 专题五 以新发展理念引领高质量发展
- GB/T 22417-2008叉车货叉叉套和伸缩式货叉技术性能和强度要求
- GB/T 20145-2006灯和灯系统的光生物安全性
- GB/T 1.1-2009标准化工作导则 第1部分:标准的结构和编写
- 长兴中学提前招生试卷
评论
0/150
提交评论