1 / 94

第 2 章 Visual FoxPro 数据库管理系统概述

第 2 章 Visual FoxPro 数据库管理系统概述. 2.1 Visual FoxPro 的操作环境. 2.2 Visual FoxPro 项目管理器. 2.3 Visual FoxPro 语言基础. 2.4 小型案例实训. 教学目的与要求. 熟悉 VFP 的操作环境. 掌握项目管理器的使用. 掌握数据类型和数据存储. 掌握各种数据类型的运算符、表达式. 掌握常用系统函数的使用. 掌握 NULL 值的处理方法. 2.1 Visual FoxPro 的操作环境. 2.1.1 Visual FoxPro 操作界面. 标题栏. 工具栏. 菜单栏.

rasia
Download Presentation

第 2 章 Visual FoxPro 数据库管理系统概述

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2章 Visual FoxPro数据库管理系统概述 2.1 Visual FoxPro的操作环境 2.2 Visual FoxPro项目管理器 2.3 Visual FoxPro语言基础 2.4 小型案例实训

  2. 教学目的与要求 熟悉VFP的操作环境 掌握项目管理器的使用 掌握数据类型和数据存储 掌握各种数据类型的运算符、表达式 掌握常用系统函数的使用 掌握NULL值的处理方法

  3. 2.1 Visual FoxPro的操作环境 2.1.1 Visual FoxPro操作界面 标题栏 工具栏 菜单栏 主窗口 命令窗口 状态栏

  4. 2.1 Visual FoxPro的操作环境 2.1.2 Visual FoxPro的工作方式 • 命令工作方式:通过在“命令”窗口中输入合法的Visual FoxPro命令来完成各种操作 • 可视化工作方式:通过菜单、工具栏及系统提供的向导、设计器、生成器等工具进行可视化操作 • 程序工作方式:通过把Visual FoxPro的合法命令组织、编写成命令文件(程序),或利用表单设计器、菜单设计器、报表设计器等程序生成工具来设计程序,然后执行程序,来完成特定的操作任务

  5. 2.1 Visual FoxPro的操作环境 2.1.3 命令使用 1.命令的语法格式说明 例如,删除文件的DELETE FILE 命令,其语法格式如下: DELETE FILE [FileName|?] [RECYCLE] • DELETE FILE:命令关键字 • [ ]表示该语法成分是命令可选项,若使用可以使命令具有某一功能,如使用RECYCLE则删除的文件放入回收站 • 斜体字部分是由用户定义操作对象或参数,这里的FileName就是用户指定要删除的文件名

  6. 2.1 Visual FoxPro的操作环境 2.几个常用命令 (1)*和&&命令 [功能]:引导注释内容 • 区别: • *是将整个命令行定义为注释内容,且必须为命令行的第一个字符,一般用于对下面一段命令的注释或说明程序的功能 • &&出现在命令的后面,引导注释内容

  7. 2.1 Visual FoxPro的操作环境 (2)?和??命令 [功能]:在VFP主窗口中显示表达式的值 [语法格式]:?|??Expression1[,Expression2]… [参数含义]:Expression1、Expression2等表示要在主窗口中显示结果的表达式 [实例]: *本例注意?和??命令的区别 ?1+2+3+4+5 &&显示1+2+3+4+5表达式的值 ?1*2*3*4*5 &&显示5!的结果 ??1+2+3+4+5,1*2*3*4*5 &&显示多个表达式结果 • 区别: • 使用?命令时,显示结果在上一次显示内容的下一行显示(即换行显示) • 使用??命令时,显示结果在上一次显示内容的后面接着显示(即不换行显示)

  8. 2.1 Visual FoxPro的操作环境 (3)CLEAR命令 [功能]:用于清除当前VFP主窗口中的信息 (4)DIR命令 [功能]:在VFP主窗口中显示文件夹中文件的信息 [语法格式]:DIR [[Path][FileSkeleton]] [参数含义]: Path:文件路径,缺省时表示当前路径下 FileSkeleton:文件说明(可包含通配符),缺省时显示表文件 [实例]: DIR &&显示当前目录中扩展名为.dbf的表文件 DIR *.prg &&显示当前目录中扩展名为.prg的文件 DIR c:\windows\s*.txt &&显示c盘windows文件夹中以s字符开头的.txt的文件 DIR d:\*.* &&在主窗口中显示d盘所有文件

  9. 2.1 Visual FoxPro的操作环境 (5)MD/RD/CD命令 [功能]: MD命令:创建文件夹 RD命令:删除文件夹 CD命令:改变当前工作目录 [语法格式]:MD|RD|CD cPath [参数含义]: cPath:指定一条路径(含驱动器指示符和目录)或目录 [实例]: MD d:\vfp &&在d盘根目录中创建一个名为vfp的文件夹 CD d:\vfp &&将默认的工作目录更改为指定的目录 MD tsgl &&在d盘vfp文件夹中创建一个名为tsgl文件夹 RD tsgl &&删除d盘vfp文件夹中名为tsgl的文件夹

  10. 2.1 Visual FoxPro的操作环境 (6)COPY FILE/RENAME/DELETE FILE命令 [功能]: COPY FILE命令:复制文件 RENAME命令:重命名文件 DELETE FILE命令:删除文件 [语法格式]: COPY FILEFileName1TOFileName2 RENAMEFileName1TOFileName2 DELETE FILE [FileName|?][RECYCLE]

  11. 2.1 Visual FoxPro的操作环境 [参数含义]: FileName1:要复制(重命名)的文件名,可以包含路径和通配符 FileName2:复制(重命名)后的文件名,可以包含路径和通配符 FileName:要删除的文件名 ?:打开“打开”对话框选择文件 RECYCLE:删除的文件放入回收站 [实例]: COPY FILE c:\windows\s*.* TO d:\vfp &&将某一路径特定类型文件复制到指定路径 RENAME setuplog.txt TO setuplog.doc &&将setuplog.txt改名为setuplog.doc DELETE FILE *.tmp &&删除所有扩展名为.tmp的文件

  12. 2.1 Visual FoxPro的操作环境 (7)RUN命令 [功能]:执行程序或应用程序 [语法格式]:RUN [/N] ProgramName [参数含义]: ProgramName:指定要运行的程序或应用程序 /N:不需要等待该命令执行结束即可以执行另一个应用程序 [实例]: RUN calc &&运行Windows的“计算器”应用程序 RUN /N notepad &&运行Windows的“记事本”应用程序 (8)QUIT命令 [功能]:退出VFP应用程序

  13. 每条命令必须以命令动词开头 一条命令中,各语法成份之间必须用空格隔开,关键字与其后的内容之间也必须用空格分隔 命令中的关键字(包括函数)可简写为前4个字符 比较长的命令可在行末利用续行符“;”实现换行输入(最后一行不需要分号) 命令中必须使用半角状态下的西文标点符号,命令中的英文字符大小写等价 输入完命令后按Enter键执行命令 2.1 Visual FoxPro的操作环境 3.命令书写规则

  14. 2.1 Visual FoxPro的操作环境 2.1.4 配置Visual FoxPro的操作环境 可以选择“工具”/“选项”菜单命令,查看和设置系统的操作环境 所有设置只在当前有效,下次启动VFP时不起作用 所有设置在下次启动VFP时仍然起作用

  15. 2.1 Visual FoxPro的操作环境 用户也可以通过SET命令对系统操作环境进行临时设置 常用的SET命令: SET DEFAULT TO [path] &&设置默认工作目录 SET ESCAPE ON|OFF &&设置是否可以通过按<ESC>键中断程序或命令的运行 SET CENTURY ON|OFF &&设置日期中是否显示世纪 SET DATE [TO] AMERICAN|ANSI|MDY|DMY|YMD|LONG &&设置日期或日期时间的显示格式 。。。。。

  16. 2.2 Visual FoxPro项目管理器 2.2.1 Visual FoxPro的文件类型 VFP主要文件类型

  17. 2.2Visual FoxPro项目管理器 注意:当用户创建了某一类型的文件后,保存在磁盘上有时是一个文件,有时会同时生成一些相关的文件。

  18. 2.2Visual FoxPro项目管理器 2.2.2 项目管理器简介和项目的创建 项目管理器的作用:是VFP中处理数据和对象的主要工具,它是VFP的管理中心。 • 1.项目文件的创建 • 界面方式:“文件”/“新建”或工具栏“新建”按钮 • 命令方式:CREATE PROJECT [FileName|?] 项目文件扩展名:.PJX ,.PJT

  19. 2.2Visual FoxPro项目管理器 2.项目管理器的选项卡 项目管理器窗口 选项卡 折叠/展开 按钮 命令按钮 项列表

  20. 2.2Visual FoxPro项目管理器 2.2.3 使用项目管理器 • 1.命令按钮的操作 新建、添加、移去、修改… • 2.“项目”菜单的操作 • 项目信息 • 编辑说明 • 包含/排除 • 设置主文件 • 重命名文件

  21. 2.3 Visual FoxPro语言基础 2.3.1 数据类型 • 数据是数据库管理系统中运算和处理的基本对象,可使用常量、变量(包括内存变量和字段变量)和对象存储数据,这些常量、变量和对象被称为数据存储容器 • 每一个数据都有一定的数据类型,数据类型决定了数据的存储方式和运算方式

  22. 2.3 Visual FoxPro语言基础 Visual FoxPro的基本数据类型

  23. 2.3 Visual FoxPro语言基础 2.3.2 名称的命名规则 • 名称中只能包含字母、下划线“_”、数字符号和汉字符号 • 名称的开头只能是字母、汉字或下划线,不能是数字,并且表的字段名不允许以下划线开头 • 除了自由表的字段名、表的索引标识名至多只能有10个字符外,其余名称的长度可以是1~128个字符 • 应避免使用系统保留字 [实例]: 以下名称合法:abc、姓名、nsum_cj、_xyz、x1 以下名称不合法或避免使用: 2y、2_y&&不能以数字开头 姓名-2011、nsum&cj、nsavg#cj &&包含了非法字符 set、copy &&使用系统保留字

  24. 2.3 Visual FoxPro语言基础 2.3.3 常量 1.字符型常量 是用定界符括起来的一串字符,定界符可以是单引号、双引号、方括号。 [实例]: ?"北京奥运会",'abc',[2008],[古语云:"有志者,事竟成"] 执行以上命令之后,在主窗口上的显示结果如下: 北京奥运会 abc 2008 古语云:"有志者,事竟成"

  25. 2.3 Visual FoxPro语言基础 • 关于字符常量的几个注意点: • 不能用中文标点符号作为定界符 • 定界符必须成对出现 • 空串和包含空格的字符串不同 • 字符串中字母区分大小写 • 如果定界符本身是字符串的内容,必须使用另一种定界符表示字符串 • 有些数据是由数字组成的编码(如工号、学号、邮政编码、电话号码等),它们也作为字符型数据处理

  26. 2.3 Visual FoxPro语言基础 • 2.数值型常量 • 用于表示数量的大小,由数字0~9、小数点和正负号构成,例如98、213.34、-32.15等都是数值型常量 • 为了表示很大或很小的数值型常量,也可以用浮点表示法,例如7.584E11表示7.584×1011,2.8 E-12表示2.8×10-12 • 3.货币型常量 • 货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的美元符号($),例如,$100.35 • 货币型数据没有浮点表示法,在存储和计算时,采用4位小数,如果一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。例如,货币型常量$679.845862将存储为$679.8459

  27. 2.3 Visual FoxPro语言基础 • 4.日期型常量 • 定界符为一对花括号 • 常用的分隔符有斜杠(/)、连字符(-)、句点(.)和空格,其中“/”是系统默认的分隔符 • 空白的日期常量可表示为{}或{/}或{//} • VFP支持的格式有:严格的日期格式和传统的日期格式

  28. 2.3 Visual FoxPro语言基础 • 严格的日期格式 • {^yyyy/mm/dd} • VFP6.0及其以上的版本使用的默认格式。不受SET DATE等命令设置的影响。 • 传统的日期格式 • {mm/dd/yy} • VFP5.0及其以前的版本使用的默认格式。受SET DATE、SET CENTURY命令影响。默认格式为美国日期格式。 是否对严格的日期格式进行检查 设置命令: SET STRICTDATE TO 0 不检查 SET STRICTDATE TO 1 检查

  29. 2.3 Visual FoxPro语言基础 [实例]: SET DATE TO MDY &&显示日期表达式为月/日/年 SET CENTURY OFF &&显示日期表达式时,用两位数字表示年 SET STRICTDATE TO 0 &&不进行严格的日期格式检查 ? {^2011/10/01},{10/01/11} &&显示10/01/11 10/01/11 SET CENTURY ON &&显示日期表达式时,用四位数字表示年 ? {^2011/10/01} &&显示2011-10-01

  30. 2.3 Visual FoxPro语言基础 • 5.日期时间型常量 • 日期时间型常量包括日期和时间两部分内容:{日期时间} • 日期部分与日期型常量相似,也有传统和严格两种格式 • 时间部分的格式为:hh:[mm[:ss]][a|p],其中hh、mm和ss分别代表时、分和秒,a和p分别表示上午和下午 • 如果指定的时间大于等于12,则系统自动认为下午的时间,例如,2012年3月15日14时32分48秒可以表示为{^2012/03/15 2:32:48 p},也可以表示为{^2012/03/15 14:32:48} • 空白的日期时间常量可表示为{/:}或{//:} • 6.逻辑型常量 • 只有逻辑真和逻辑假两个值 • 表示形式有.T.、.t.、.F.、.f.、.Y.、.y.、.N.、.n.

  31. 2.3 Visual FoxPro语言基础 2.3.4 内存变量 • 1.内存变量类型 • 变量:在命令操作或程序运行过程中其值允许变化的量 • 变量名:表示变量的标识符 • 变量的值:变量中存储的数据,变量的数据类型由变量值的数据类型决定 • 变量包括内存变量和字段变量 • 内存变量是内存中的一个存储区域,内存变量又可分为简单内存变量、数组和系统内存变量

  32. 2.3 Visual FoxPro语言基础 • 2.简单内存变量 • 简单内存变量也就是用户自定义的内存变量,可以是任何数据类型,并且在任何时候改变它的值。 • (1)内存变量的创建不需特别声明,可使用STORE命令或“=”赋值操作符进行赋值。 • 如:STORE 123 TO x,y • 等价于如下两条命令: • x=123 • y=123

  33. 2.3 Visual FoxPro语言基础 (2)内容变量的访问 若内存变量名和字段名同名,字段具有更高的优先权。若出现这种情况,可以在变量名前加上m.或m->前缀来引用内存变量。 如在当前工作区域中打开一个ts表,存在一个sh字段: sh=‘我是变量’ &&定义一个字符型变量sh ? sh &&显示ts表中sh字段的值 ? m.sh &&显示变量sh的值

  34. 2.3 Visual FoxPro语言基础 3.数组: 有序数据的集合,在VFP中数组的每一个元素可以属于不同类型。 (1)数组的声明 DIMENSION | DECLARE 数组名(行数,[列数])[,…] 如:DIMENSION A(3) DIMENSION B(2,3) • 注意: • VFP最多可声明二维数组,下标从1开始 • 数组被声明后,赋予默认值.F. B(1) B(5)

  35. 2.3 Visual FoxPro语言基础 (2)数组的赋值 数组也是一种内存变量,用赋值命令可分别为各数组元素赋值,也可为数组名赋值。 [实例]: DIMENSION A(3),B(2,3),C(3,4) &&定义3个数组 A(1)=123 &&给数组元素赋值 B(2,2)=456 &&给数组元素赋值 C=789 &&给整个数组赋值,每个元素的值相等 ?A(1),A(2) &&显示数组元素的值,结果为123.F. ?B(5) &&显示数组元素的值,结果为456 ?C(1,2) &&显示数组元素的值,结果为789

  36. 2.3 Visual FoxPro语言基础 4.系统内存变量 VFP自身提供的内存变量,名称均以“_”(下划线)开头。 5.内存变量的显示、保存与恢复 (1)显示内存变量LIST MEMORY和DISPLAY MEMORY命令 例如,若要显示所有以字母A开头的内存变量,可执行命令:DISPLAY MEMORY LIKE A* (2)保存内存变量SAVE TO命令 例如,若要将第3~5个字符为“stu”的所有内存变量保存到mv内存变量文件中,可执行命令:SAVE TO mv ALL LIKE ??stu* (3)恢复内存变量RESTORE FROM命令 例如,若要从内存变量文件mv中恢复内存变量,可执行命令:RESTORE FROM mv

  37. 2.3 Visual FoxPro语言基础 2.3.5 运算符与表达式 1.数值运算符与表达式 数值运算符 [实例]:数值表达式的使用 ?365%7 结果:1 数学公式b2-4ac的数值表达式为:b^2-4*a*c

  38. 2.3 Visual FoxPro语言基础 2.字符运算符与表达式 字符运算符及表达式

  39. 2.3 Visual FoxPro语言基础 [实例]:字符表达式的使用 ?"Microsoft "+"Access" 结果:"Microsoft Access" ?"Microsoft "-"Access" 结果:"MicrosoftAccess " ?"Mic"$"Microsoft" 结果:.T. ?"mic"$"Microsoft" 结果:.F.

  40. 2.3 Visual FoxPro语言基础 3.日期/日期时间运算符与表达式 (1)“+”:日期1 +日 =日期2 时间1 +秒=时间2 (注意:日期不能加日期,时间不能加时间) 如: {^2007/03/05}+5 &&日期加5天 {^2007/03/05 08:30}+5 &&日期时间加5秒 (2)“-”:日期1-日期2=日 时间1-时间2=秒 (注意:日期相减结果为数值型(天数),时间相减为数值型(秒数)) 如:?{^2011/12/15 10:30:00 a}-600 结果:?{^2011/12/15 10:20:00 a} ?{^2011/12/15 10:30:00 a}-{^2011/12/15 10:00:00 a} 结果:1800 ?{^2011/12/15}-{^2011/12/01} 结果:14

  41. 2.3 Visual FoxPro语言基础 4.关系运算符与表达式 关系运算符

  42. 2.3 Visual FoxPro语言基础 • 比较两个字符大小时,如“a”和“A”哪个大,取决于字符序列的设置。 • SET COLLATE TO Machine”|”PinYin”|”Stroke” • Machine—机器序列,按机内码顺序 :空格<大写字母<小写字母<一级汉字<二级汉字,西文字符是按照ASCII码的值排列的,字母从小到大排列是A、B、C、D、……X、Y、Z、a、b、c、d、……x、y、z • PinYin-拼音序列:汉字按拼音顺序排序,对于西文字符而言,空格在最前面,字母从小到大排列是a、A、b、B、c、C、d、D、……x、X、y、Y、z、Z • Stroke-笔画序列:汉字按照笔画顺序排序,西文字符的顺序同PinYin序列

  43. 2.3 Visual FoxPro语言基础 [实例]: SET COLLATE TO "Machine" ?"D"<"F","D"<"b","f"<"B"," "<"A" 结果: .T. .T. .F. .T. set collate to “pinyin” ?"D"<"F","D"<"b","f"<"B"," "<"A“ 结果: .T. .F. .F. .T.

  44. 2.3 Visual FoxPro语言基础 5.逻辑运算符与表达式 逻辑运算符

  45. 2.3 Visual FoxPro语言基础 逻辑运算符的运算规则 [实例]: 数值运算优先于关系运算优先于逻辑运算 ?3*2>3+2 OR 17%2=0 AND !"数据库"+"技术"<"数据库"-"应用" 结果: .T. ?(3*2>3+2 OR 17%2=0) AND !"数据库"+"技术"<"数据库"-"应用" 结果: .F.

  46. 2.3 Visual FoxPro语言基础 6.宏替换 宏替换的功能是替换出字符型变量的内容。许多命令和函数需要提供操作对象的名称,可以通过“宏替换”替换命令和函数中的名称。 在使用宏替换时,将&放在变量前面。可以使用一个 . 来结束宏替换. [实例]: cvar="南京大学" var_name="cvar" STORE "南京审计学院" TO &var_name &&等价于STORE "南京审计学院" TO cvar ?cvar &&显示南京审计学院 ?"&cvar.是一所财经类大学" &&显示南京审计学院是一所财经类大学

  47. 2.3 Visual FoxPro语言基础 2.3.6 Visual FoxPro系统函数 • 函数是由函数名、函数参数、函数的返回值三要素组成 • 函数接收一个或多个参数而返回单个值,因此函数可以嵌入一个表达式中 • 函数由VFP 6.0系统提供的,称为系统函数(可以直接使用);由用户定义的,称为用户自定义函数(需要先编程实现其功能,然后才可以调用)

  48. 2.3 Visual FoxPro语言基础 1.数值运算函数 (1)求绝对值函数ABS( ) [功能]:返回指定数值表达式的绝对值 [语法格式]:ABS(nExpression) [参数含义]: nExpression:数值表达式 [返回值类型]:N [实例]: ?ABS(6.8) &&显示6.8 ?ABS(16-40) &&显示24

  49. 2.3 Visual FoxPro语言基础 (2)取整函数INT( ) [功能]:计算一个数值表达式的值,并返回其整数部分 [语法格式]:INT(nExpression) [参数含义]: nExpression:数值表达式 [返回值类型]:N [实例]: ?INT(9.32) &&显示9 x=-16.27 ?INT(x),INT(-x),INT(x*2) &&显示-16 16 -32

More Related