VF基础教程

合集下载

VF基础知识解析

VF基础知识解析
注意:结构复合索引的文件直接放到当前表格中,随着表格的打开
而打开关闭而关闭,一个表中可以有多个结构复合索引
表设计器的复合索引类型:
类型 个数 是否有重复值 建立方式
主索引 一个 不允许有重复值或空值 表设计器
(2)常用工具栏-打开
(3)命令 use <表名> use f:\董双双\学生信息表 要在独占方式下
(4)数据工作期窗口-打开
2.关闭(当前表)
(1)命令 use
(2)数据工作期窗口-关闭
3.进入当前表的表设计器
(1)菜单-显示-表设计器
(2)命令 modify structure
4.浏览当前表的信息
(1)数据工作期窗口-浏览
(2)菜单-显示-浏览
(3)命令 browse
5.修改表中的记录
(1)直接修改
(2)插入 insert [blank][before] (当前记录之前)
(3)追加 append [blank]
(4)replace 字段名 with 被修改的记录 [for 条件][范围]
只能修改当前记录(没有限定范围的前提下)
默认值:是跟本身字段类型匹配的记录,要加相应的定界符
四、项目管理器(.pjx)
第三课 索引的建立应用及数据完整性
一 索引
1.分类:简单索引和复合索引
2.索引的作用:提高查询速度(但同时会降低更新速度)
VF 中的索引是:指针构成的文件,这些指针逻辑上按照索引关键字
进行排序,就叫做逻辑上的排序
二 简单索引(.idx)
(1)文件-新建-数据库
(2)常用工具栏-新建-数据库
(3)命令-create database [数据库名称]

VF基础教案

VF基础教案

VF基础教案第一篇:VF基础教案第2章Visual FoxPro 6.0概述2.1 Visual FoxPro的安装、启动与关闭 2.1.1 Visual FoxPro 6.0 的安装中文Visual FoxPro 可以从CD-ROM或网络上安装。

以下介绍三种从CD-ROM上安装Visual FoxPro 的方法。

1.直接启动CD-ROM2.直接运行安装程序3.使用Windows 安装 2.1.2 Visual FoxPro 6.0的启动与关闭一、Visual FoxPro 6.0的启动启动Visual FoxPro有多种方法,可采用以下三种方式之一。

1.从“开始”菜单启动2.从“运行”对话框中启动3.从资源管理器中启动4.双击Visual Foxpro6.0快捷图标二、Visual FoxPro 6.0的退出(1)在Microsoft Visual FoxPro主菜单中,打开“文件”菜单,选择“退出”选项;(2)按Alt+F4组合键;(3)按Ctrl+Alt+Del组合键,进入“关闭程序”窗口,按“结束任务”按钮;(4)在Microsoft Visual FoxPro的系统环境窗口,单击其右上角的“退出”按钮;(5)在“命令”窗口,输入命令Quit。

2.2 Visual FoxPro 6.0系统运行环境的配置Visual FoxPro系统环境的配置,决定了Visual FoxPro系统的操作环境和工作方式。

单击“工具”-> “选项”可以打开选项选窗口,在“选项”窗口中,有12种不同类别的环境选项卡,用户可以根据操作的需要通过“选项”窗口中的各种选项卡,确定或修改设置每一个参数,从而确定Visual FoxPro的系统环境.2.2.1 设置默认工作目录VF有其默认的工作目录,就是系统文件所在的VF6.0目录,但是,为了管理,用户最好还是设置自己的工作目录以保存所建的文件设置默认路径的方法:“工具”->“选项”->文件位置使用命令设置:SET DEFA TO <默认路径> 功能:设置默认路径例:SET DEFA TO D:WMQ SET DEFA TO E:200723 2.2.2 设置日期的表示格式设置日期时间格式:“工具”->“选项”->“区域”2.3 Visual FoxPro 6.0的系统窗口Visual FoxPro的界面Visual FoxPro界面,是由标题栏、菜单栏、工具栏、工作区、状态栏和命令窗口组成的。

第1章vf基础-PPT课件

第1章vf基础-PPT课件

1.1 数据库系统基பைடு நூலகம்概念
2.信息 信息(Information)通常被认为是有一定含义的、经过加工处 理的、对决策有价值的数据。请看一个简单例子。04级甲班学 生计算机考试成绩为:78,86,100,95…,经过计算得到平均 分:89.75,这便是一条信息。 数据与信息之间的关系可以表示为:信息=数据+处理 其中,处理是指将数据转换成信息的过程,包括数据的收集、 存储、加工、排序、检索等一系列活动。数据处理的目的是从 大量的现有数据中提取对人们有用的信息作为决策的依据。可 见,信息与数据是密切相关的。数据是信息的载体,它表示了 信息;信息是数据的内涵,是数据的语义解释。信息是有价值 的。为了提高信息的价值,就必须用科学的方法来管理信息, 这种方法就是数据库技术。
1.1 数据库系统基本概念
软件系统图1-1 数据库系统层次示意图 在相应操作系统的支持下,数据库管理系统是最重要的软件,是数据库系 统的核心组成部分。它相当于仓库管理员,不需用户直接接触数据库,了解 数据库的结构,便可以代替用户处理各种请求。另外,它为数据库管理员提 供维护数据库的手段。 用户 用户是数据库系统的服务对象。通常,一个数据库系统有三类用户:应用 程序设计员、数据库管理员(DataBase Administrator,简称DBA)、最终用 户。应用程序设计人员负责编写操纵数据库的应用程序,实现用户提出的各 种功能。数据库管理员负责规划、设计、运行、维护数据库。最终用户负责 向系统提出要求,检验要求是否满足,是数据库的最终使用者。
1.1 数据库系统基本概念
数据库系统中各部分的层次关系如图1-1所示。
图1-1 数据库系统层次示意图
1.2 数据模型
1.2.1 实体、属性及其联系

VF基础讲义

VF基础讲义

第一章数据库基础知识一、数据:1、数据(DATA):存储在媒体上能够识别的物理符号。

其一,能够描述事物的特性,其二,能够存储在媒体上。

文字数据(数字,字母,文字)和多媒体数据(声音,图象,动画)2、数据处理:将数据转化成信息的过程。

3、数据管理发展三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。

数据库系统阶段特点:提高共享性,减少冗余度。

二、数据库系统:DATABASE SYSTEM1、数据库DATABASE (DB):存储在计算机上的结构化数据的集合。

2、数据库管理系统(DBMS):对数据库的建立、更新和维护所配置的软件。

是数据库系统的核心软件。

VISUAL FOXPRO 就是一个可以在计算机和服务器上运行的数据库管理系统。

3、数据库应用系统:系统开发人员利用数据库系统资源开发出来的、面向某一类实际应用的应用软件系统,例如以数据库为基础的财务管理系统、人事管理系统、图书管理系统、教学管理系统、生产管理系统。

4、数据库管理员(DBA):职责:●参与数据库的规划、设计和建立;●负责数据库管理系统的安装和升级;●规划和实施数据库的备份和恢复;5、数据库系统(DBS):由五部分组成:硬件系统,数据库集合,数据库管理系统,数据库管理员和用户。

6、数据库系统的核心软件:数据库管理系统(DBMS)。

7、DBS、DB、DBMS 三者之间的关系:DBS包含DB和DBMS三、数据模型:1、实体:客观存在的并且可以相互区分的事物称为实体。

2、属性:描述实体的特征和状态称为属性。

3、实体间联系:(1)一对一联系:学生和学号,公司和经理1:1(2)一对多联系:学校和学生,部门和职员1:M(3)多对多联系:学生和选课,图书和读者M:N4、数据模型:表示实体和实体间联系的方法的一种结构图。

(1)层次模型:用树形结构表示实体和实体间联系的模型。

(2)网状模型:用网状结构表示实体和实体间联系的模型。

(3)关系模型:用二维表结构表示实体和实体间联系的模型。

VF上机第一讲

VF上机第一讲

一:显示和隐藏命令窗口(三种方法)1、单击命令窗口右上角的命令按钮;2、单击转换命令窗口按钮(工具栏);3、组合键:显示ctrl+F2 隐藏ctrl+F4二:改变默认文件的储存目录工具→选项→文件位置→默认目录(未用)→修改→(选择默认目录)→使用默认目录→设置为默认值→确定。

三:新建项目文件(两种方法)1、(文件)→新建→项目→新建文件2、命令方式:create project四:新建数据库(三种方法)1、在项目管理器中建立2、(文件)→新建→数据库→新建文件3、命令方式:create database五:打开数据库(三种方法)1、通过项目管理器打开2、(文件)→打开3、命令方式:open database六:修改数据库(三种方法)1、通过项目管理器修改2、打开数据库进行修改3、命令方式:modify database七:关闭数据库命令方式:close database※八:数据库表的操作(一)设置表中字段的有效性规则(第一套)▲首先要选择目标字段①有效性规则一定是逻辑表达式②错误信息提示必须是一个字符串(二)设置联系之间的参照完整性约束▲设置之前必须清理数据库:数据库→清理数据库(三)字段名与字段值的修改(第九套)修改字段名要在表设计器中修改;修改字段值直接打开表进行修改。

(四)关于空值(第十套)设置空值,如果大“√”表示允许为空,并在默认值栏中输入.null.(五)表之间建立联系要通过索引,而且索引名必须相同。

(第十四套)(六)复制表与表结构(第二十套)1、复制表:use 表1Copy to 表22、复制表结构: use 表1Copy structure to 表2(七)用命令方式建立索引(第三十二套)Use 表名Index on 索引表达式 tag 索引名 asc/desc unique(唯一)/candidate(候选)注意:如果不做任何说明则表示建立的是普通索引,此方法不能建立主索引。

vf教程第一章

vf教程第一章

上一页
数据库技术的主要目的是有效地管理和
存取大量的数据资源。
下一页
退出
14
数据库系统的主要特点: 1、实现了数据的结构化。采用了特定的数
目录
据模型组织数据。 2、实现数据共享。 3、实现数据独立。
上一页
下一页
4、实现数据统一控制。
退出
15
在数据库管理阶段,应用程序与数据之 间的关系如图1-3所示。
退出
8
存在的主要问题: 1.数据不保存在机器中,由于数据是对应某一应用 程序的,使得数据的独立性很差。
目录
2、数据不能长期保存。数据包含在程序中,程序运 行结束就被释放。 3、没有专门的软件系统管理数据,没有文件的概念。
上一页
下一页
4、数据冗余严重。一组数据对应一个程序,一个程
退出
序中的数据不能被其他程序利用,数据无法共享。
上一页
下一页
退出
31
(1)层次数据模型(Hierarchical Model) 用树型结构来表示实体(记录)以及实体间 联系的模型。只能表示1:n(含1:1)的联系。
目录
特点:层次模型有且仅有一个无双亲的根结
上一页
点。除根结点外的子结点,有且仅有一个父结点。
下一页
退出
图1-8
32
(2)网状数据模型(Network Model) 用网状结构表示实体与实体间联系的模型。 它能够表示实体间有多种的联系。
描述实体的特性称为属性。一个实体可用
目录
若干属性来刻画。每个属性都有特定的取值范
上一页
围即值域( Domain ),值域的类型可以是整数 型、实数型、字符型等。 唯一标识实体的一个属性集称为码,如: 学号是学生实体的码。

vf基础教程

vf基础教程

段(用↓或鼠标换行),全部字段输入完成后单击确定。

(2)使用表向导创建表步骤:从文件菜单中单击新建→ 在新建对话框中选择表并单击向导→在表向导中做第1步:选取字段,完成后单击下一步→ 在表向导中做第1a步:选择数据库,完成后单击下一步→ 在表向导中做第2步:修改字段设置,完成后单击下一步→ 在表向导中做第3步:为表建索引,完成后单击下一步→ 在表向导中做第4步:完成,选择表的保存方法,完成后单击完成→ 在另存为对话框中给出文件名并确定所需的保存位置。

注意:先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。

(3)使用 CREATE TABLE - SQL命令该命令的一般格式为:CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]……)例:CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),;cj n(5,1),ksrq d)2. 表结构的修改(1)用表设计器修改用菜单调出表设计器:打开所需的表文件→ 单击显示菜单中的表设计器→ 在表设计器对话框中对字段进行修改→ 修改完毕单击确定并在消息框中选择是。

用命令调出表设计器:USE <表文件名>MODIFY STRUCTURE(2)使用 ALTER TABLE - SQL命令功能命令格式示例添加字段ALTER TABLE xscj ADD COLUMN kcmc C(14)重命名字段 ALTER TABLE xscj RENAME COLUMN kcmc TO kc 删除字段ALTER TABLE xscj DROP COLUMN kc1. 记录的输入(1) 立即输入方式:设计好表的结构后,系统会提示是否直接进入数据输入状态。

若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。

VF第1讲

VF第1讲

第1章 Visual FoxPro 6.0初步
(1) 激活及关闭工具栏 单击“显示”菜单中的“工具栏”,打开“工具栏” 对话框,在“工具栏”对话框中,选中需激活的工具栏。 若要关闭某工具栏,可以直接单击该工具栏上的 “关闭”按钮,或者单击“显示”菜单中的“工具栏”, 在“工具栏”对话框中,清除欲关闭工具栏前面的复选 框内容,使之空白。
第1章 Visual FoxPro 6.0初步
(3) 字段 表格中的每一列在关系中称为一个字段,每个字 段都要有一个字段名,它对应表格中的栏目名。 记录中的一个字段的取值,称为字段值。字段值 随着每一行记录的不同而变化。
第1章 Visual FoxPro 6.0初步
关系数据库的性质 1、每个属性都是不可分的数据单位。 例如:出生年月(1987、12、16),但是可以做规定,认为 它是个不可分的数据。 2、任意两行的数据不能相同。 3、行、列的次序无关。 4、同一个表中不能有相同的属性;两个或多个表中的同名属 性的值域相同。 5、关键字不能为空。
第1章 Visual FoxPro 6.0初步
2. 数据模型 数据模型是指数据库的组织形式,它决定了数据库中 数据之间联系的表达方式,即把在计算机中表示客观事物 及其联系的数据及结构称为数据模型。 (1) 层次数据模型 层次模型是以记录数据为节点的树,节点之间的联系 像一棵倒放的树,树根、树的分枝点、树叶都是节点。节 点是分层的,树根是最高层。例如家谱、企事业中各部门 编制之间的联系。
第1章 Visual FoxPro 6.0初步
4. 命令窗口 在Visual FoxPro 6.0中,菜单中的命令也可以通过 命令窗口进行输入来执行。命令窗口是一个可编辑的 窗口,可在命令窗口中进行各种插入、删除、块复制 等操作,也可用通过光标或滚动条在整个命令窗口中 上下移动。

Visual FoxPro 9.0 基础教程第6章 程序设计基础

Visual FoxPro 9.0 基础教程第6章 程序设计基础
内存变量的操作
保存内存变量 格式:save to <内存变量文件名>[all like/except <内存变量名表>] 删除内存变量 格式一:release <内存变量名表> 格式二:release all [like/except <内存变量>] 恢复内存变量 格式:restore from 内存变量文件名
“海南 医学院”

删除尾部空格后联接两个字符型数据
“海南 ”-“医学院”
“海南医学院”
$
比较,查看一个字符串是否在另一个字符串中
“海南”$“海南医学院”
.T.
6.2.3 关系表达式
运算符
功能
表达式
表达式值
<
小于
3*5<20
.T.
>
大于
3>1
.T.
=
等于
3*6=20
内存变量的操作
内存变量赋值 格式一:STORE <表达式> TO <内存变量名>|<数组表> 例: STORE "visual foxfro" TO vfp,vf STORE 1+3 TO A1,B2,C3 格式二:<内存变量>|<数组>=<表达式> 例: vfp="visual foxfro" vf="visual foxfro" A1=1+3
6.1.4 变量分类
系统变量(System Variable) 它是系统内部定义的一些变量。这些变量名称是系统已经定义好的,以“_”(下划线)开头。如:_BROWSER 对象变量(Object Variable) Visual Foxpro是一种面向对象的语言,所以系统提供一种称之为对象的变量。存储对象的变量,是一种新变量。

VF基础教程

VF基础教程

菜鸟学习VFP前言大学的暑假是珍贵的,像我这样暑假呆在家里面,整天无所事事的同学不在少数,为了应付枯燥乏味的暑假,我决定在暑假学习一些知识,挑来挑去还是觉得选VFP比较有意义,因为这门科需要过二级,相信许多看到这篇文章的朋友也要过二级,那么我们大家就从今天开始共同学习吧。

所以从今天起,我的网上VFP学习课程便开张了,希望我能写完。

说起为什么会开这个专题,我相信很多读者都有疑问,学习就学习是了,干嘛还将自己的学习成果放到网上来?我在这里要澄清一下,之所以我会选择这样做,是因为我觉得一个人在家里面学习太没有那种气氛了,我希望能够放到网上来,大家看着想着,遇到问题大家可以在一起讨论,在一起互相提意见,还有就是希望能够帮到有心学习VFP,但是却觉得枯燥乏味而放弃的朋友。

在更新期间,我将在我的QQ空间(/591841742/infocenter?ptlang=2052天下人犯是一家),上更新。

欢迎大家转载,转载请注明出处,也希望大家能够在我的博客上踊跃发言。

首先要说明的是本文仅针对上机考试编写,让你能够在计算机上完成初级的数据库程序开发。

关于理论的请多阅读教材。

另外是针对VFP的初学者,也就是菜鸟级人物来学习,为了应付随之而来的省和国家二级VFP考试的同学使用,如果是VFP数据库专业人员来这里的话,希望多提提意见,不要见笑,错误之处,还请指正,就此拜谢!呵呵。

VFP是microsoft公司开发的一款数据库管理系统(DBMS),全称是Visual FoxPro。

作为二级考试科目的是采用关系数据库系统Visual FoxPro 6.0 (为了区分版本,在以后的文章中简称为VF6),VF6是小型数据库管理系统的杰作,它以强大的性能,完整而又丰富的工具,较高的处理速度,友好的界面以及较完备的兼容性等特点,备受广大用户的欢迎。

(注:该段内容来自国家二级考试VFP课本前言——高等教育出版社出版)好了,套话到此结束,本来上面的那一段话不想写的,然后又觉得至少把出处点明,在吹吹牛,说VFP多好多好,毕竟人家公司开发这系统也不容易。

VFP基础教程

VFP基础教程

VFP基础教程第1章前言vfp是由Foxpro发展而来的一种面向对象的数据库程序设计语言,实际上是对Foxpro 的一次重大改进,和它的前身相比,引入了许多程序开发者盼望已入的特性,使pc数据库开发界大为震惊。

启动界面如图(启动方法不用我说了吧:安装Visual Foxpro 6.0后,在桌面双击狐狸头图标即可)Vfp对传统的面向过程的结构化程序设计有很好的支持,它的语句、函数和语法规则与Xbase(如dBASE、FoxBase、FoxPro)语言基本上是兼容的,而且功能更加强大。

传统的结构化程序设计是自顶向下的功能设计,按照事先编排的顺序,对功能进行逐步分解后进行程序设计。

结构化程序设计方法通过顺序、条件分支和循环三种控制流程进行编程。

但随着软件规模的扩大、功能提高和需求变化,结构化程序化开发方法的开发效率和维护问题比较突出。

总的来说,结构化方法对程序员的要求比较高。

Vfp最重大的改进是引入了面向对象的程序设计方法,可以说Vfp是一种既支持面向过程又支持面向对象的混合型编程语言。

面向对象(object)的程序设计,即oop(object oriented program)是近年比较流行的一种新的程序设计方法。

面向对象的设计方法是按照人们的习惯思维方式建立模型,模拟客观世界。

以往采用面向过程的程序设计语言开发应用程序时,往往一个简单的用户界面,比如说菜单、按纽,都需要花费大量的时间去编写程序代码。

在vfp中,这种工作被简化了,只需使用鼠标便可完成这些工作。

vfp使开发人员从最底层的程序设计中解放出来,可以使用最少的代码完成尽可能多的功能,有利于降低软件开发成本和开发周期。

Visual FoxPro采用面向对象、事件驱动的编程方法,程序员不再以“过程”为中心思考应用程序开发的结构,而是面向可视的“对象”考虑如何响应用户的动作。

也就是说,只要建立若干“对象”以及相关的微小程序,这些微小程序可以由用户启动的事件来激发。

VF基础知识

VF基础知识

VF基础知识第一节课 VF 入门以及(自由表)表格的基本操作一、新建表(.dbf)1.菜单-文件-新建-表2.常用工具栏-新建-表3.命令 create [表名]默认目录的设置:菜单-工具-选项-文件位置-默认目录-双击-选择默认目录-找到驱动器-选择盘符二表格中的字段类型字段类型英文简称宽度定界符字符型 C 可改动 ' ' 或 " " 或[ ] "123"数值型 N 可改动无 123日期型 D 8 {^yyyy-mm-dd} {^1989-02-16}逻辑型 L 1 .T. 或 .F.日期时间型 T 8 {^yyyy-mm-dd [hh[:mm[:ss]]]|[p|a]} 整型 I 4 备注型 M 4 备注型的文件中.ftp通用型 G 41.打开表(1)菜单-文件-打开-选择文件类型中的表(2)常用工具栏-打开(3)命令 use <表名> use f:\董双双\学生信息表要在独占方式下(4)数据工作期窗口-打开2.关闭(当前表)(1)命令 use(2)数据工作期窗口-关闭3.进入当前表的表设计器(1)菜单-显示-表设计器(2)命令 modify structure4.浏览当前表的信息(1)数据工作期窗口-浏览(2)菜单-显示-浏览(3)命令 browse5.修改表中的记录(1)直接修改(2)插入 insert [blank][before] (当前记录之前)(3)追加 append [blank](4)replace 字段名 with 被修改的记录 [for 条件][范围]只能修改当前记录(没有限定范围的前提下)6.删除表中的记录(逻辑删除和物理删除)(1)逻辑删除不会真正删除表中的记录,可以恢复命令 delete [for 条件][范围]恢复 recall [for 条件][范围](2)物理删除会真正把表中打上逻辑删除标记记录删掉,不可恢复命令 pack(3)清空表中的记录 zap (物理删除不可恢复)第二课自由表的基本操作及数据库一自由表的简单命令1.显示表中的记录到VF屏幕上(1) list [for 条件][[fields] 字段][范围]默认显示表中所有的记录(滚屏显示)(2) display [for 条件][[fields] 字段][范围]默认只显示当前一条记录的信息(分屏显示)2.对表中的记录查询定位(1) 绝对定位 go 或 goto [n][top|bottom](2) 相对定位 skip [n](3) 在当前表中查找符合条件的记录,指针直接指向符合条件的第一条记录locate for 条件[continue] 若查找下一条符合条件的记录,用continue 连用二数据库 (.dbc)1.新建(1)文件-新建-数据库(2)常用工具栏-新建-数据库(3)命令-create database [数据库名称]2.进入当前数据库设计器(1)显示-数据库设计器(2)命令-modify database3.关闭当前数据库close database4.打开数据库(1)菜单-文件-打开-文件类型-数据库名(2)open database 数据库名5.将打开的数据库设置为当前数据库(1)鼠标直接点(2)命令 set database to 数据库名6.添加自由表到当前数据库(1)鼠标操作(2)命令 add table 自由表名7.从当前数据库移去表(1)鼠标操作(2)命令 remove table 表名8.从当前数据库删除表(第四章的SQL语句)(1)鼠标操作(2)命令 drop table 表名9.删除数据库(被删除的数据库不能已经打开,必须关闭)delete database 数据库名10.在数据库中新建表(1)文件-新建(2)常用工具栏(3)简单命令 create(4)用数据库设计器的工具栏或在数据库中右单击或数据库的菜单下的子菜单(5)用(第四章)SQL语句(重点)create table 表名(字段名1 类型(宽度)[,字段名2 类型(宽度)..]) create table 学生(姓名 C(8),性别 C(2),出生日期 D,成绩 N(6,2))三、字段有效性(数据完整性中的域完整性)规则:是一个逻辑表达式信息:是一句话相当于字符串,要加字符型的定界符默认值:是跟本身字段类型匹配的记录,要加相应的定界符四、项目管理器(.pjx)第三课索引的建立应用及数据完整性一索引1.分类:简单索引和复合索引2.索引的作用:提高查询速度(但同时会降低更新速度)VF 中的索引是:指针构成的文件,这些指针逻辑上按照索引关键字进行排序,就叫做逻辑上的排序二简单索引(.idx)index on 索引关键字(字段名) to 索引文件名[.idx]例如:index on 工资 to gz打开索引文件set index to 索引文件名例如:set index to gz注意:简单索引一个索引只能建立一个索引项只能按照升序排序,不能按降序三复合索引(.cdx)1.分类:结构复合索引和非结构复合索引2.非结构复合索引index on 索引关键字(字段名) tag 索引名of 索引文件名[.cdx]; [asce|desc]例如:index on 工资 tag 工资d of aa descindex on 地址 tag 地址a of aa打开索引文件set index to 索引文件名例如:set index to aa指定某个索引起作用set order to 索引标识例如:set order to 工资a或地址a3.结构复合索引(1)可以用命令建立index on 索引关键字(字段名) tag 索引名 [asce|desc]指定某个索引起作用set order to 索引标识(2)也可以用表设计器直接做(考试)注意:结构复合索引的文件直接放到当前表格中,随着表格的打开而打开关闭而关闭,一个表中可以有多个结构复合索引表设计器的复合索引类型:类型个数是否有重复值建立方式主索引一个不允许有重复值或空值表设计器候选索引多个不允许有重复值或空值命令candidate 或设计器唯一索引多个允许有重复值或空值命令 unique 或设计器普通索引多个允许有重复值或空值命令或设计器4.删除索引(1)在表设计器中直接删除(2)命令 delete tag 索引名(索引标识) 或 delete tag all四数据完整性1.分类:实体完整性域完整性参照完整性2.实体完整性:就是指表中的主索引和候选索引所代表的记录的唯一性就理解为实体完整性3.域完整性:字段的有效性(规则信息默认值)4.参照完整性:(1)在数据库的表格之间设置永久性连接从同一个数据库的一个表的主索引的公共字段索引名拖向另一个表的公共字段的普通索引名就建立了两个表格之间的永久性连接(2)设置参照完整性首先把所有打开的表格都关闭,选择菜单-“数据库”-清理,然后在数据库空白地方单击鼠标右键选择编辑参照完整性五、工作区 1-32767工作区号最多有32767个,最小的工作区号是1选择工作区用命令 select(1)select 表格名称(2)select 工作区号(3)select A-J 代表1-10号use 表名 in 工作区号use 表名 in 0 :打开一个表放到没有使用的最小的工作区中select 0 :代表选中了没有使用的最小的工作区号六临时性连接(又叫指针的连动)1.用数据工作期窗口建立2.用命令建立例如:use 表1 in 1 order 公共字段索引名use 表2 in 2 order 公共字段索引名select 1 (父表)set relation to 公共字段索引名 into 表2 (子表)七使用索引快速定位 (用seek查找的记录所在的字段必须是当前索引)seek例如: seek "张三"seek "E1"八排序sort to 新表名 on 关键字(字段名) [/a|/d|/c]第四课常量和变量一常量1.固定不变的量称之为常量显示常量变量表达式和函数在屏幕上先换行再输出在屏幕上不换行直接输出2.分类:字符型货币型数值型日期型日期时间型逻辑型(1)字符型C例如:"张三 " "aabb" "1234" "" '' [](2)货币型 Y定界符:$ 例如:$24.6 $79 默认四位小数(3)数值型 N无定界符例如:123.456 70(4)日期型 D定界符 {^yyyy-mm-dd} 例如:{^1989-10-24} 影响日期格式的命令set mark to "分隔符" 设置分隔符set date to ymd或mdy或dmy 设置显示格式set century on 或 off 设置显示4位还是2位年份默认2位set strictdate to 0或1或2 设置是否使用严格日期格式set century to 世纪值 rollover 年份参照值例如: set century to 19 rollover 50日期格式分为严格日期格式和传统日期格式严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}或{dd/mm/yy}或{yy/mm/dd} (5)日期时间型 T定界符 {^yyyy-mm-dd,[hh[:mm[:ss]]|[a|p]]}(6)逻辑型 L 定界符 .. 例如:.T. .y. .N. .f.二变量能随时变化的1.分类字段变量和内存变量内存变量的数据类型:字符型数值型货币型日期型日期时间型逻辑型(1)简单的内存变量的赋值> 内存变量名=表达式> store 表达式 to 内存变量名表注:"="一行命令只能用一个赋值,而store 可以把一个值赋给多个变量若在当前表中存在一个同名的字段变量,字段变量优先执行,如果想显示内存变量在内存变量名前加:m.内存变量名例如:m.职工号或m->职工号(2)数组 (array) 类型简称 A分类:一维数组和二维数组定义: dimension 数组名(下标上限[,下标上限2])declare 数组名(下标上限[,下标上限2])例如: dimension aa(10) aa(1)-aa(10)dimension bb(2,5) bb(1,1)-bb(2,5)显示内存变量:list memory [like 通配符] 例如:list memory like aa?display memory [like 通配符]注意:通配符"*"代表任意多个字符,"?"代表任意一个字符清除内存变量(1) clear memory(2) release 内存变量名表(3) release all(4) release all [like 通配符]|[except 通配符]将表中的数据与数组中的数据进行交换(1)将表的当前记录复制到数组中scatter to 数组名(2)将数组的数据复制到当前表的当前记录gather from 数组名第五课表达式和函数一、表达式表达式是由常量变量和函数通过特定的运算符连接起来的式子分类: 数值表达式字符表达式日期时间表达式关系表达式逻辑表达式1.数值表达式运算符:() **|^ * / % + -例如:被除数%除数2.字符表达式运算符:+ - 连接字符串3.日期时间表达式运算符:+ -4.关系表达式运算符:< 、> 、<>|#|!=、<=、>=、 =、==、$字符型的比较:空格<a<z<a<z<汉字的拼音< bdsfid="301" p=""></a<z<a<z<汉字的拼音<>运算符"="受命令 set exact off|on 命令的影响,当设置处于off 状态时,指"="右侧的字符是否原样出现在在左侧字符的左边,如果出现就为.t.,否则.f.,当设置处于on 状态时,叫等长比较,指"="左右的两个字长度如果不相等,先在较短的末尾添加空格,直到两侧字符的长度相等再一个一个字符比较$ 子串包含字符串1$字符串2如果左侧字符串出现在右侧字符串的任意位置就返回.T.,否则 .F.5.逻辑表达式运算符: 逻辑非 not 或! 取右侧值的相反结果逻辑与 and 真真才为真逻辑或 or 假假才为假算术运算符>字符串运算符和日期时间运算符>关系运算符>逻辑运算符二、函数格式:函数名( )分类:数值函数字符处理函数日期类函数数据类型转换函数测试函数1.数值函数(1)abs(数值表达式) 求绝对值(2)sign(数值表达式) 求符号(3)sqrt(数值表达式) 求平方根(4)pi() 求圆周率(5)int(数值表达式) 取数值表达式的整数部分(6)ceiling(数值表达式)返回大于或等于数值表达式的最小整数(7)floor(数值表达式) 返回小于或等于数值表达式的最大整数(8)round(数值表达式1,数值表达式2) 四舍五入(9)mod(数值表达式1,数值表达式2) 求余数(10)max(数值表达式1,数值表达式2,数值表达式3)取最大值(11)min(数值表达式1,数值表达式2,数值表达式3)取最小值2.字符函数(1)len(字符表达式) 求字符串长度(2)lower(字符表达式)大写转为小写(3)upper(字符表达式)小写转为大写(4)space(数值表达式) 返回空格(5)trim(字符表达式)删除字符末尾的空格(6)ltrim(字符表达式) 删除字符左侧的空格(7)alltrim(字符表达式) 删除字符左侧和右侧的空格(中间的不删)第六课函数一、字符函数(8)left(字符表达式,长度) 取子串函数(9)right(字符表达式,长度)(10)substr(字符表达式,起始位置[,长度])(11)occurs(字符表达式1,字符表达式2) 返回第一个字符在第二个字符中出现的次数 ,返回数值型(12)at(字符表达式1,字符表达式2[,数值表达式])(区分大小写)求字符1在字符2中第几次出现的位置(13)atc(字符表达式1,字符表达式2[,数值表达式])(不区分大小写)(14)stuff(字符表达式1,起始位置,长度,字符表达式2) 子串替换函数 stuff("abcdef",2,3,"ttttt")(15)chrtran(字符表达式1,字符表达式2,字符表达式3) 字符替换函数(16)like(字符表达式1,字符表达式2) 字符串匹配函数左侧字符表达式1可以出现通配符 ?和 *二、日期和时间函数(1)date() 返回日期型 D(2)time() 返回字符型 C(3)datetime() 返回日期时间型 T(4)year(日期表达式或者日期时间表达式) 返回数值型 N(5)month(日期表达式或者日期时间表达式)(6)day(日期表达式或者日期时间表达式)(7)hour(日期时间表达式)(8)minute(日期时间表达式)(9)sec(日期时间表达式)三、数据类型转换函数(1)str(数值表达式[,长度[,小数位数]]) 数值->字符(2)val(字符表达式) 字符->数值(3)ctod(字符表达式) 字符->日期(4)ctot(字符表达式) 字符->日期时间(5)dtoc(日期表达式或日期时间表达式[,1]) 日期->字符(6)ttoc(日期时间表达式[,1]) 日期时间->字符(7)&字符型变量四、测试函数(1)between(表达式1,表达式2,表达式3)(2)isnull(表达式)(3)empty(表达式) 测试是否是空值(4)vartype(表达式[,逻辑表达式]) 测试数据类型返回英文简称(5)eof([工作区号或表别名]) 表中最后一条的后面(末尾)(6)bof([工作区号或表别名]) 表中第一条记录的前面(首位置)(7)recno([工作区号或表别名]) 返回当前表中的当前记录的记录号(8)reccount([工作区号或表别名]) 返回当前表中的记录条数(9)iif(逻辑表达式,表达式1,表达式2)(10)deleted([工作区号或表别名])第七课程序设计基础一、程序文件的建立与执行1.新建 (.prg)(1)文件-新建-程序(或常用工具栏上的新建)(2)命令 modify command [程序文件名]2.程序是需要建立完毕后保存并运行的文件运行方法:(1)菜单程序-运行(2)常用工具栏上的“叹号”或 ctrl+E(3)命令 do 程序文件名[.prg]3.程序中的注释语句* 和 note 打开头或者用 && 在程序的任意位置都可以是注释语句二、简单的输入输出命令1.输入命令input [字符表达式] to 内存变量默认只能输入数值型的数据,如果要输入其他类型,要加相应的定界符2.输入命令accept [字符表达式] to 内存变量只能输入字符类型的数据,不能加定界符3.输出命令wait [字符表达式] [window][timeout 秒数 ]三、程序的基本结构程序的结构分为:顺序结构选择结构和循环结构1.顺序结构正常情况下程序中的命令语句都是一句一句顺序执行的2.选择结构(1)条件语句 iif(条件,表达式1,表达式2)函数if 条件语句序列1[else语句序列2]endif(2)分支语句do casecase 条件1 2*x-1 x<0语句序列1 3*x+4 3>x>=0case 条件2 y= x+1 5>x>=3语句序列2 7*x+2 x>=5case 条件n语句序列n[otherwise语句序列]endcase3.循环结构一定要有使"条件"趋向于结束的语句存在否则死循环(1)do while 条件语句序列(循环体)enddo第八课多模块程序设计程序循环结构(2)for 变量=初值 to 终止值 [step 步长]语句序列(循环体)endfor(3)scan [for 条件][while 条件]语句序列(循环体)endscan注意:此循环结构只能在当前表中做操作,不能脱离表格在三种循环结构中都能用exit强制退出循环体和loop 返回条件一、模块的定义procedure 或 function 过程名命令序列[return [表达式]]endproc 或 endfunc二、模块的调用格式:1.do 过程名2.过程名()三、参数传递接收参数的命令parameters 形式参数1,形参2....lparameters 形式参数1,形参2....调用格式1.do 过程名 with 实际参数1,实参2....2.过程名(实际参数1,实参2....) 函数调用格式set udfparms to value 按值传递set udfparms to reference 按引用传递函数调用格式受命令的影响,按值传递形参变实参不变按引用传递形参变实参也变,"do "的调用格式不受影响,形参变实参都变四、程序中变量的作用范围1.程序中的变量分为三种:全局变量(公共变量),私有变量,局部变量2.全局变量public 变量名3.局部变量local 变量名4.私有变量除了用public 和local 定义的变量,直接使用的都叫私有变量5.private 变量名作用是隐藏同名的变量,使其暂时不起作用第九课关系数据库标准语言SQL一、SQL的核心内容叫查询 "select"二、查询语句基本格式 (不用打开表就可以操作)1.简单查询select 字段名... from 表名 [where 条件].....在 select 后查询 from 后表格的所有的字段用 "*"distinct 去掉查询结果的重复值 ,一个select 命令只能用一个2.简单连接查询select 字段名.. from 表1,表2... where 表1.公共字段=;表2.公共字段 [and 其他条件]3.嵌套查询最多分两层(外层和内层)select 字段 from 表1 where 公共字段 in|not in;(select 公共字段 from 表2 [where 条件])4.几种特殊的运算符(1)between ..and ..例如:工资 between 1220 and 1250(2)like可以出现通配符"%"代表任意字符 "_"代表一个字符5.排序短语order by 字段1 [asc|desc][,字段2 [asc|desc]...] select -from- where- order by放在整个查询语句的末尾或 where 条件之后,对查询结果进行排序6.简单计算查询count() 统计计数sum() 求和值avg() 求平均max() 求最大值min() 求最小值这5个函数都是用在select 后的字段上或having 的条件里,不能直接出现在 where 条件里7.分组与计算查询 "每个,每..."短语 group by 字段名 [having 分组条件]位置:select -from-where-group by [having] order by8.利用空值查询is null 或 is not null9.别名(1)字段别名除了排序 order by 之外一般都不能用select 字段或表达式 as 新字段名 from ....select 字段或表达式空格新字段名 from ....(2)表别名表的别名是整句命令都必须使用表的新名select -from 表1 as 新表名select -from 表1 空格新表名第十课 SQL 语句一、查询1.使用量词和谓词查询量词: any some all(了解)谓词: exists 和 not exists (可以实现和嵌套相同的功能)select字段 from 表1 where exists|not exists(select *; from 表2 where 表1.公共字段=表2.公共字段)[and 条件]select 字段 from 表1 where 公共字段 in|not in;(select 公共字段 from 表2 [where 条件])2.超链接格式(考上机题的改错)(了解)[inner] join 内连接left join 左连接right join 右连接full join 全连接join ...on 短语连用3.集合的并运算(了解)union4.查询去向(1)只显示前几条记录top n[percent] 必须和 order by 连用(2)将查询结果给数组into array 数组名select-from -[where][group by][order b]. into array 数组(3)将查询结果给永久表into table 表名或 into dbf 表名(4)将查询结果给临时表into cursor 表名(5)将查询结果给文本文件to file 文件名(6)将查询结果给打印机to printer二、操作功能1.插入记录(插入到指定表的末尾)insert into 表名 values(表中各记录的值)insert into 表名(字段名...) values(各字段的记录值) insert into表名 from array 数组名(数组中的值必须和表中的记录类型吻合) 2.更新记录(修改表中的记录)replace 字段 with "值" for 条件update 表名 set 字段名=值 [where 条件]3.逻辑删除delete from 表名 [where 条件]4.表结构的修改(了解)(表设计器中的内容)alter table 表名 ......例如:alter table 仓库 add 工资 N(4)alter table 仓库 drop 工资alter table 仓库 alter 面积 N(3)alter table 仓库 rename 面积 to mjalter table 仓库 add 工资 I check (工资>=0) ;error "工资的值必须大于等于零" default 0alter table 仓库 add unique 仓库号 tag 仓库号候选索引index on 表达式 tag 索引名 candidate 候选索引第十一课查询设计器与视图一、查询设计器(.qpr)1.新建(1)菜单-文件-新建-查询(或常用工具栏)(2)命令 create query [查询文件名]2.新建完查询之后一定要保存并运行运行方法:(1)在查询设计器打开的情况下用常用工具栏上的"!"(2)程序菜单-运行(3)命令 do 查询文件名.qpr3.查询设计器中各选项卡与 select 语句的对应(1)字段选项卡-select(2)联接选项卡-join on(3)筛选选项卡-where(4)排序依据-order by(5)分组依据-group by(6)杂项- distinct 和 * top n(7)查询去向-into table |cursor |to file|to printer查询设计器可以实现与select 语句相同的功能,但是做不了嵌套二、视图(相当于表)1.新建(1)文件-新建-视图(或常用工具栏)(2)用SQL 语句 create view 视图名 as select -from -where..... 2.视图必须依附于数据库存在,在建立视图的时候必须有一个当前数据库视图不占内存空间,随着数据库的打开而打开,关闭而关闭3.视图建立完毕后必须保存,并且自动保存到当前数据库中,并且不用运行选择题:视图比查询多了个“更新条件”少了个“查询去向”4.删除视图(1)在数据库中直接删除(2)命令 drop view 视图名第十二课表单设计与应用一、表单新建(.scx)1.文件-新建-表单(或常用工具栏)2.命令 create form [表单文件名]二、表单设计完成后要保存并运行运行方法:1.常用工具栏-"!"2.命令 do form 表单文件名三、表单设计器工具的使用四、对象属性访问及对象方法调用的基本格式对象引用.对象属性例如:thisform.caption="你好" 在command1的click 写对象引用.对象方法例如:thisform.release五、常用事件方法1.事件load init destroy unload error gotfocusclick dblclick rightclick interactivechange2.方法release refresh show hide setfocus六、常用控件对象的使用1.标签(label1) <- name 名称属性: caption :标题,指定标签中的文本内容alignment:指定标题文本在控件中显示的对齐方式2.命令按钮(command1)属性: default:该属性设为.t. 称为:"确认"cancel:该属性设为.t. 称为:"取消"enabled:指定对象能不能用visible:指定对象可不可见第十三课命令组文本框编辑框复选框选项组一、命令按钮组(commandgroup1)(了解)常用属性:1.buttoncount 指定命令按钮的个数2.buttons 用于存取命令组中各按钮的数组例如: /doc/d7*******.html,mandgroup1.buttons(1). caption="第一个"/doc/d7*******.html,mand1.caption="第一个"3.value 指定命令组当前的状态默认数值型,可以改成字符型二、文本框(text1)1.value 返回文本框的当前内容或赋值给文本框值,默认字符型2.passwordchar 指定文本框控件内是显示用户输入的字符还是占位符3.inputmask 指定在一个文本框中如何输入和显示数据X:代表任意一位字符#:代表任意的0-9数字,正负号和空格9:代表任意的0-9数字新建属性和方法程序在表单设计器设计的同时,选择菜单"表单"-新建属性和新建方法程序三、编辑框(edit1)(了解)1.allowtabs :指定编辑框能否使用tab键2.hideselection :当编辑框失去焦点时编辑框中选定的文本是否仍为选定状态3.readonly:指定是否只读4.scrollbars :是否具有垂直滚动条5.selstart:返回用户在编辑框中所选文本的起始点位置或插入位置6.sellength:返回用户在编辑框中所选文本的长度7.seltext:返回用户在编辑框中选定的文本内容四、复选框(check1)1.caption 指定显示在复选框右边的文字标题2.value 指定复选框的当前状态数值型: 1 代表选中 0 代表未选中逻辑型: .t. 代表选中 .f.代表未选中五、选项组(optiongroup1)1.buttoncount :指定选项按钮组中按钮的个数2.buttons : 用于存取选项组中各按钮的数组例如: thisform.optiongroup1.buttons(2).caption="第一个"thisform.optiongroup1.option1.caption="第一个"3.value 指定选项组当前的状态默认数值型,可以改成字符型第十四课列表框组合框表格一、列表框(list1)属性:1.rowsource 数据源2.rowsourcetype 数据源的类型 0-93.list :用以存取列表框中数据条目的字符串数组thisform.list1.list(1)4.listcount:指明列表框中数据条目的数目thisform.list1.listcount5.columncount:指定列表框的列数6.value:返回列表框中被选中的条目7.selected:指定列表框内某个条目是否处于选定状态if thisform.list1.selected(1)=.t.endif8.multiselect :指定用户能否在列表框内进行多重选定二、组合框(combo1)1.style:选择组合框的类型0-下拉组合框 :可以选择也可以输入值2-下拉列表框 :只能选择不能输入新值组合框的相关属性与列表框相同,但是组合框没有多选属性:multiselect,而且组合框要显示内容也必须修改 rowsource 和 rowsourcetype 0-9十种三、表格(grid1)1.recordsource 数据源2.recordsourcetype 数据源的类型 0-4 五种类型3.columncount: 表格的列数4.linkmaster :显示表的父表名称5.childorder:建立一对多关联的子表的索引名第十五课页框计时器微调控件类表单向导一、页框(pageframe1)1.pagecount: 指明一个页框对象所包含的页的个数2.pages:是用于存取页框中某个页对象的数组thisform.pageframe1.page1.caption="你好"thisform.pageframe1.pages(1).caption=""3.tabs:指定页框中是否显示页面标签栏4.tabstretch:若标题文本太长是否显示多重行5.activepage:返回页框中当前活动页的页号或使页框的指定页成为活动页二、计时器(timer1)1.interval :每间隔多少毫秒执行一次计时器timer1的timer事件三、微调控件(spinner1)1.spinnerhighvalue:最大值2.spinnerlowvalue:最小值3.value:默认值4.increment:增量四、类(.vcx)(了解)1.新建(1)文件-新建-类(或常用工具栏)(2)create class2.打开五、用表单向导新建表单分为:表单向导和一对多表单向导 13 1430 29第十六课菜单一、菜单(.mnx)1.新建(1)文件-新建-菜单(或常用工具栏)(2)命令 create menu [菜单名]2.分类:条形菜单和弹出式菜单。

VF基础教程

VF基础教程

菜鸟学习VFP前言大学的暑假是珍贵的,像我这样暑假呆在家里面,整天无所事事的同学不在少数,为了应付枯燥乏味的暑假,我决定在暑假学习一些知识,挑来挑去还是觉得选VFP比较有意义,因为这门科需要过二级,相信许多看到这篇文章的朋友也要过二级,那么我们大家就从今天开始共同学习吧。

所以从今天起,我的网上VFP学习课程便开张了,希望我能写完。

说起为什么会开这个专题,我相信很多读者都有疑问,学习就学习是了,干嘛还将自己的学习成果放到网上来?我在这里要澄清一下,之所以我会选择这样做,是因为我觉得一个人在家里面学习太没有那种气氛了,我希望能够放到网上来,大家看着想着,遇到问题大家可以在一起讨论,在一起互相提意见,还有就是希望能够帮到有心学习VFP,但是却觉得枯燥乏味而放弃的朋友。

在更新期间,我将在我的QQ空间(/591841742/infocenter?ptlang=2052天下人犯是一家),上更新。

欢迎大家转载,转载请注明出处,也希望大家能够在我的博客上踊跃发言。

首先要说明的是本文仅针对上机考试编写,让你能够在计算机上完成初级的数据库程序开发。

关于理论的请多阅读教材。

另外是针对VFP的初学者,也就是菜鸟级人物来学习,为了应付随之而来的省和国家二级VFP考试的同学使用,如果是VFP数据库专业人员来这里的话,希望多提提意见,不要见笑,错误之处,还请指正,就此拜谢!呵呵。

VFP是microsoft公司开发的一款数据库管理系统(DBMS),全称是Visual FoxPro。

作为二级考试科目的是采用关系数据库系统Visual FoxPro 6.0 (为了区分版本,在以后的文章中简称为VF6),VF6是小型数据库管理系统的杰作,它以强大的性能,完整而又丰富的工具,较高的处理速度,友好的界面以及较完备的兼容性等特点,备受广大用户的欢迎。

(注:该段内容来自国家二级考试VFP课本前言——高等教育出版社出版)好了,套话到此结束,本来上面的那一段话不想写的,然后又觉得至少把出处点明,在吹吹牛,说VFP多好多好,毕竟人家公司开发这系统也不容易。

VF的基本操作

VF的基本操作

第二章VF的基本操作第一节VF的安装及其界面的简介一VF的安装首先要买一张VF的安装光盘或者去网络上下载安装软件包。

我认为买光盘好一点,一张D版【即盗版】的光盘才几块钱,而质量与正版的没什么差别。

若去下载的话,在如今的网速下,没有几十分钟是下不完的。

然后,把光盘插入光驱,在"我的电脑"里进入光盘,双击『setup』文件,接下来就按电脑提示操作就OK了。

【许多软件安装时需要产品序列号,VF也需要。

请在安装光盘里的txt文件里找到它——就是一大串数字,再把它复制到需要填产品序列号的位置】。

若是软件包,请解压缩后,直接双击『setup』文件。

二界面简介它的界面与WORD的差不多,其实大多数软件的界面都相差无几。

下面介绍VF主界面上的部分菜单。

1、文件菜单与一般的MICROSOFT软件菜单类似,有文件的『新建』、『打开』、『关闭』、『保存』、『另存为』和『还原』等命令。

具有创建新文件,打开文件,存储文件,关闭文件,关闭窗口,打印设置和打印,退出系统操作等功能。

2、编辑菜单编辑菜单包括了编辑文本的所有命令,比如:『撤消』、『重做』、『剪切』、『复制』、『粘贴』等。

3、窗口菜单窗口菜单主要负责管理窗口操作。

4、帮助菜单帮助菜单为学习者提供强大的帮助功能。

第二节进入和退出VF的操作进入VF,即启动VF语言。

启动VF常用的有两种方式:第一种是单击『开始』菜单,选『程序』,再选火狐狸头像的『Foxpro』程序。

第二种是双击桌面上的火狐狸头像的『Foxpro』程序的快捷方式。

退出VF,在命令框输入:quit 然后回车即可。

系统将保存并关闭所有文件然后退出。

第三节文件的打开和保存一打开文件菜单方式:选『文件』→『打开』,在浏览里查找到你要打开的文件(如,数据表,项目,程序等),点『确定』按钮即可。

命令方式:略。

二保存文件菜单方式:选『文件』→『保存』即可。

若是第一次保存,电脑会提醒你输入文件名。

命令方式:略。

VF基础教程精讲1

VF基础教程精讲1

二、专门的关系运算 1、选择运算 对行来进行运算 从关系中找出满足给定条件的元组。
如:从学生表中选择姓名为“赵雪”的记录
20
2、投影运算
从关系中选择若干属性组成新的关系
对列来进行运算。如:只列出所有学生的学号和姓名 3、联接运算 将两个或两个以上的关系的属性横向连接为一个关系。p11
21
1.2.5 关系模式的规范化(p12)
18
一个关系由若干元组(记录)组成。 一个元组由若干属性值组成。 二、表的特点(P8 了解) A、表中不允许有重复的字段名 B、表中每一列中数据的类型必须相同 C、表中不允许有完全相同的记录,否则出现冗余。 D、行列顺序可以任意排列。
19
1.2.4 关系运算
关系运算分为:一般集合运算和专门的关系运算。 一、一般集合运算 并 交 差
格式: CREATE PROJECT <项目文件名|?> 二.“项目管理器”的外观
Байду номын сангаас
41
项目管理器
【新建…】:创建新文件 命令按钮。 折叠或展开项目管理器。 【移去…】:将所选择的 文件移出项目文件或从磁 盘上删除。 【添加…】:添加已存在 的文件到项目管理器。 【修改…】:修改项目管 理器中存在的文件。 【连编…】:建立应用程 序(.APP)或可执行 (.EXE)程序。 【运行…】或【打开】或【关闭】或【浏览】:运行“文档”、“代码”和 “其它”选项卡中文件,打开、关闭数据选项卡中的数据库、表等,关闭(或 称为折叠)项目文件中某一展开的选项卡显示。
7、1996年8月推出了Visual FoxPro5.0
8、1998年9月推出了Visual FoxPro 6.0
31
1.5 Visual FoxPro 6.0 的用户界面

vf第一部分讲义

vf第一部分讲义

Vf讲义第一部分第一节窗口认识1、标题栏的介绍控制按钮(应用软件的图标,双击此图标可以关闭该应用软件)正在使用的软件信息最小化按钮、最大化按钮及还原按钮、关闭按钮。

2、菜单栏的操作系统默认菜单项(文件、编辑、显示、格式、工具、程序、窗口、帮助)菜单的禁用级联式菜单(菜单带有实心的黑三角形,表示有下一级子菜单)菜单右边带有…,表示单击此命令会打开相应的对话框,将在对话框中进行操作。

菜单的快捷键。

3、工具栏的操作(重点)(1)显示与隐藏方法一:显示→工具栏方法二:在工具栏上任意地方单击鼠标右键(2)工具栏的移动将光标定位在两个按钮之间的空白处用鼠标拖动或用鼠标拖动工具栏的标题栏。

(3)工具栏的定制创建自己的工具栏修改工具栏4、工作区域。

5、状态栏的介绍有OVR 表示改写状态无OVR表示插入状态。

切换方式:INSERT 键有NUM表示小键盘可用,否则不可用。

切换方式:NUM键。

LOCK有CAPS 表示输入的字母是大写,否则是小写。

切换方式:CapsLock 键 .6、命令窗口(1)显示方法窗口→命令窗口常用工具栏→命令窗口按纽CTRL+F2(2)隐藏方法命令窗口上的关闭按纽常用工具栏→命令窗口按纽CTRL+F4VF窗口界面如图所示:标题栏菜单栏工具栏命令窗口工作区状态栏7、文件夹的建立8、※设置默认路径(重点)(1)目的:设置文件默认的保存位置和设置文件默认打开的位置(2)方法:在vf中,工具→选项→文件位置→默认目录→修改→…→选择自己的文件夹→选定→确定→设置为默认值→确定9、做题的步骤(1)启动计算机(2)在d:或e:建立自己的文件夹(3)启动vf(4)在vf中设置默认路径(5)开始做题第二节数据库的基本操作1、自由表的基本操作(1)建立自由表(分为两步:建立数据表的结构、往表中输入记录)A:菜单操作(文件→新建→表)字段名是字段的唯一标志,在自由表中字段名不能超过10个字符。

字段名必须以字母或者汉字开头字段名可以由字母、汉字、数字和下划线组成。

程序设计基础--VF数据库的基本操作

程序设计基础--VF数据库的基本操作
MODI DATABASE [<数据库文件名>] 功能:显示数据库设计器,用于浏览、修改数据库
第三章 VFP数据库的基本操作
数据库旳删除
命令格式: DELE DATABASE [<数据库文件名>]
[DELETETABLES][RECYCLE] 功能:删除不再使用旳数据库
第三章 VFP数据库的基本操作
用设置命令能够使被逻辑删除旳统计继续参加操作,或者 “隐藏”起来,不再参加操作。
9、恢复统计 (RECALL) 10、物理删除统计(PACK) 11、清除表统计(ZAP) 12、删除标识鉴别函数 DELETED()
第三章 VFP数据库的基本操作
12、编辑统计 (1)单个统计修改
EDIT/CHANGE [<范围>][FIELDS<字段名表>] [FOR<条件>][WHILE<条件>])
第三章 VFP数据库的基本操作
VF6.0命令旳一般格式
1. VF6.0旳命令都有固定旳格式,必须按相应旳格式 和语法规则书写和使用,不然系统无法辨认、执行。基本 格式如下: <命令动词>[[<子句1>][<子句2>][<…>]] 其中语法标识符旳意义和使用方法如下:
<>:必选项:表达命令中必须选择该项,但内容能够根 据需要而定;
数据库旳操作
1、打开数据库
OPEN DATA [<数据库文件名>] [EXCL/SHAR] [NOUP] 2、指定目前数据库
SET DATABASE TO [<数据库文件名>] 3、显示目前数据库旳信息 DISP DATABASE
4、关闭数据库 CLOSE DATABASE [ALL] 5、浏览、修改数据库

vf程序设计基础教程知识点总结

vf程序设计基础教程知识点总结

vf程序设计基础教程知识点总结VF基础知识点总结第一章数据库基础知识1.基本概念:数据库、数据管理经历的五个阶段、数据库管理系统、数据库应用系统、数据库管理员。

2.数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。

其中数据库管理系统是数据库系统的核心。

3.数据库系统的特点:(1)实现数据共享,减少数据冗余(2)采用特定的数据模型(3)具有较高的数据独立性(4)有统一的数据控制功能4.数据模型:实体间联系的种类:一对一、一对多、多对多。

5.数据模型的三种类型:层次模型、网状模型和关系模型。

6.关系数据库基本术语:关系、元组、属性、域、关键字、外部关键字。

关系的特点7.关系运算:传统的集合运算(并、差、交)另一类是专门的关系运算(选择、投影、连接、等值连接、自然连接)8.VF两种运行方式:菜单方式和交互式方式(命令方式和程序方式)9.所谓项目是指文件、数据、文档和对象的集合,其扩展名为 .pjx。

10.项目管理器包含的选项卡:全部、数据、文档、类、代码、其他11.项目管理器各选项卡所包含的文件有哪些?12.项目管理器可以完成对文件的新建、添加、移去、删除,但不包含重命名。

第二章常量、字符1.常量的种类:数值型、字符型、日期型、日期时间型和逻辑型在书写字符型、日期型、日期时间型和逻辑型需要加定界符2.变量是值能够随时改变的量。

变量名的命名规则:以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成,不包含有空格3.当内存变量与字段变量同名时,要访问内存变量需加前缀M.(或M-),例如M.姓名4.数组定义的格式 DIMENSION 数组名()、创建数组后,系统自动给每个数组元素赋以逻辑假.F.5.表达式的类型:数值表达式、字符表达式、日期时间表达式和逻辑表达式。

每个表达式的运算规则与结果。

6.运算符 $ 称为子串包含测试,格式字符表达式1 $ 字符表达式27.SET EXACT ON │OFF 的区别与含义。

VFP基础教程第二章VFP语言基础2

VFP基础教程第二章VFP语言基础2

2.2 VFP 6.0的语⾔成分1. 命令即:由⽤户发出的、指⽰VFP进⾏某种操作的指令。

如 USE aaa & 打开⼀个名为 aaa.dbf的数据表2. 函数即:⼀个预先编制好的模块,可由VFP程序在任何地⽅调⽤。

函数的使⽤⽅法:名称、功能、参数、返回值⼏个常⽤函数名称命令格式⽰例字符串截取函数 SUBSTR( expC,expN1[,expN2 ]) ? SUBSTR(“ABCDEFG”,2,4)结果是: BCDELEFT( expC,expN ) ? LEFT(“ABCDEFG”,2) 结果是: ABRIGHT( expC,expN ) ? RIGHTT(“ABCDEFG”,4)结果是: DEFG字符串查找函数 AT ( expC1 , expC2 [ expN ]) ? AT(“B”, “ABCDE”) 结果是: 2AT(“A”, “ABCDEASD” )结果是: 1AT(“A”,“ABCDEASD”,2 )结果是: 6⼤⼩写字母转换函数LOWER( expC ) ? LOWER(“DFGHa”) 结果是: dfghaUPPER( expC ) ? UPPER(“asdf”) 结果是: ASDF数值函数 MAX(exp1,exp1[,exp3,…]) ? MAX(15,23,4,56) 结果是: 56MIN(exp1,exp1[,exp3,…]) ? MIN(15,23,4,56) 结果是: 4ABS( expN ) ? ABS(-15.83) 结果是: 15.83INT( expN ) ? INT(25.62) 结果是: 25压缩空格函数 ALLTRIM( expC ) ? ALLTRIM(" AD B G ")结果是: AD B G类型转换函数 STR( expN1[,expN2][,expN3]) ? STR(789.678,6,2) 结果是: 789.68 CTOD( expC ) ? CTOD(“98/10/15”)结果是: 98/10/15VAL( expC ) ? VAL("123.45") 结果是: 123.45DTOC( expD ) ? DTOC({98/12/15})结果是: 98/12/15⽇期时间函数 DATE() ? DATE() 结果是: 2000/03/15DATETIME() ? DATETIME()结果是: 2000/03/15 10:15:30YEAR( expD ) ? YEAR({87/03/25}) 结果是: 1987数据库函数 RECNO( ) DBC( ) SEEK( ) 其它函数LEN( ) DELETED()EOF( ) BOF( ) FOUND( ) EMPTY(exp) INLIST(,,) RECCOUNT( ) SELECT( ) BETWEEN(,,) IIF(,,) TABLEREVERT( ) LOCK( ) CHR() ASC()TABLEUPDATE( ) FSIZE( ) TAG() INKEY()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

菜鸟学习VFP前言大学的暑假是珍贵的,像我这样暑假呆在家里面,整天无所事事的同学不在少数,为了应付枯燥乏味的暑假,我决定在暑假学习一些知识,挑来挑去还是觉得选VFP比较有意义,因为这门科需要过二级,相信许多看到这篇文章的朋友也要过二级,那么我们大家就从今天开始共同学习吧。

所以从今天起,我的网上VFP学习课程便开张了,希望我能写完。

说起为什么会开这个专题,我相信很多读者都有疑问,学习就学习是了,干嘛还将自己的学习成果放到网上来?我在这里要澄清一下,之所以我会选择这样做,是因为我觉得一个人在家里面学习太没有那种气氛了,我希望能够放到网上来,大家看着想着,遇到问题大家可以在一起讨论,在一起互相提意见,还有就是希望能够帮到有心学习VFP,但是却觉得枯燥乏味而放弃的朋友。

在更新期间,我将在我的QQ空间(/591841742/infocenter?ptlang=2052天下人犯是一家),上更新。

欢迎大家转载,转载请注明出处,也希望大家能够在我的博客上踊跃发言。

首先要说明的是本文仅针对上机考试编写,让你能够在计算机上完成初级的数据库程序开发。

关于理论的请多阅读教材。

另外是针对VFP的初学者,也就是菜鸟级人物来学习,为了应付随之而来的省和国家二级VFP考试的同学使用,如果是VFP数据库专业人员来这里的话,希望多提提意见,不要见笑,错误之处,还请指正,就此拜谢!呵呵。

VFP是microsoft公司开发的一款数据库管理系统(DBMS),全称是Visual FoxPro。

作为二级考试科目的是采用关系数据库系统Visual FoxPro 6.0 (为了区分版本,在以后的文章中简称为VF6),VF6是小型数据库管理系统的杰作,它以强大的性能,完整而又丰富的工具,较高的处理速度,友好的界面以及较完备的兼容性等特点,备受广大用户的欢迎。

(注:该段内容来自国家二级考试VFP课本前言——高等教育出版社出版)好了,套话到此结束,本来上面的那一段话不想写的,然后又觉得至少把出处点明,在吹吹牛,说VFP多好多好,毕竟人家公司开发这系统也不容易。

由于VF6毕竟作为一门课程来学习,枯燥乏味在所难免,但在这里,我尽量用友好,和谐,幽默的语言来面对大家,希望给赏光的读者带来一个愉快又充实的暑假。

第一次写前言,写的不好,大家请多多海涵,不要留言骂我第一天:VF6编程基础(一)VFP程序安装简要说明在正式写这一课之前,我想先讲一下VF6程序安装说明,当然看到这儿的读者的电脑里面可能已经安装了VF6,那么本节可以略去直接看下一节。

其实正版的图书里面大都是说买什么microsoft visual studio 套件包含有四个编程软件什么的,总的来说,在我们国家的情况下,这些在我看来纯属废话,就让写这句话的人自己去买,他都不一定干。

归根究底还是咱国家的盗版太猖獗了,网络管制虽说最近见好,但是哪有那么容易彻底呢,所以大家可以利用你的网络优势,马上去百度吧,这里需要说明的是一般done下来的压缩包解压后是一个文件夹,我相信以你的电脑能够达到安装VF6的最低配置要求,双击SETUP安装,写序列号的那儿都填1吧,如图所示。

然后直接点“下一步”,选择典型安装就行,最后会提示安装MSDN,直接不睬他,我们不需要,安装好之后便可以进入课程学习了。

对于盗版,我也无语了,知识产权在我们国家很难受保护,是政府的打击力度不够大吗?怪不得游戏市场在中国没有盗版就没有市场是一条铁定法则了。

2.VF6编程基础纵观VF6,只有这一部分可以独立出来学习了,咱们现在关于什么是数据库,什么是二维表,什么是表单,等不懂没有关系,先通过学习编程来了解一下程序设计语言,这对以后的SQL语言学习,面向对象程序设计,菜单,报表等设计都有很大的好处。

既然是基础,那就是从变量,常量开始说起,这两个概念,相信学过数学的人都懂,但是在计算机程序语言关于常量的概念中加入了数据类型这么个要素,相信这也不难理解,以下的,我们死记硬背:VF6中的常量有:数值型(N),字符型(C),货币型(Y),日期型(D),日期时间型(T),逻辑型(L)。

在这里不要把表的记录形式弄混了,表的记录类型中还有浮点型(F),双精度型(B),整型(I),备注型(M)和通用型(G)。

我在这儿点出来了,希望读者能够给予注意。

关于常量的类型,我觉得没啥好说的,书上讲了一大堆,其实只要看常量名就能知道数据的大致内容了,这里有必要说一下逻辑型的数据只有”.T.”和” .F.”两种,即是和否,然后说一下,在程序中将这些常量数据赋给变量的时候必须加定界符,下面举例说明:(1)将数值型赋给变量:store 23 to x 即直接赋值,无需加定界符。

(2)将字符型赋给变量:store “你好”to y ,即需要在数据两边加上一对引号,可以是双引号,也可以是单引号,一般也可以以括号的形式赋值,如x = [你好].(3)将货币型赋给变量:store $100 to z ,即在数字前面加上”$”.其他的细节参阅书本,在此不做详细介绍(不是我懒,实在没这必要)。

(4)将日期型赋给变量:store {^1990-08-20} to w ,即在数据上加一对大括号,然后数据前方加上“^”,这是严格的日期格式,还有传统的日期格式:{08/20/90} {08-20-1990} {08 20 1990} 等。

然后日期的显示格式都是可调的,比如年份的位数,月日年,年月日,日期间隔符号等。

比如:set century on/off set date to ymd (year month date ) set mark to “-“这容易套吧?以后所有的语句我都是通过举例的方式来让读者套用,而不像书上直接把公式写出来,很是晦涩。

(5)日期时间型赋给变量:store {^1990-08-20,02:38a} to r //将时间02:38 AM赋给变量。

(6)前面讲过了,我不讲了。

其实这么多,我觉得也不是太重要,当然这是针对上机,理论中还是要掌握的,见教材第二章前面。

常量说了这么多,相信大家也能够了解个大概了,有的教材上说了很多,没关系,现在只要把上面所说的背下就OK,等你编程有一定基础了回来看就会觉得简单多了。

下面说说变量,变量名要求啦,等等见书本,咱们上机之需要一个字母搞定!然后就是数组,再下看来数组这玩意比普通变量稍微复杂,不过也就稍微那么一点点,看我通过举例道来Dimension x(3) 这样就定义了一个一维数组,包含三个变量,即x(1),x(2),x(3).Dimension x(2,2) 这样便定义了一个二维数组,包含四个变量,即x(1,1), x(1,2), x(2,1), x(2,2)。

整个数组的数据类型为A(array)array为英文数组的说法。

实际在编程中经常会遇到一维数组的使用,二维数组较复杂,编程题中较罕见,有兴趣去翻一些专业的教材。

在后面的编程题中,我会通过举例的方式来使用一维数组。

下面我们共同学习程序中的表达式,先学习最简单的数学表达式。

加,减,乘,除分别对应于“+”,“-”,“*”,“/”次方是数字前面加一个”^”,然后加上幂数。

或者是数后面用两个乘号,如6的三次方为6^3 或者6**3 ,根号同样可以写成幂指数。

最后是求余公式“%”如:8%3=2 ,还有括号的用法和数学类似括起来就是将某个表达式单独运算,如:6^(1/2)=2.45 (默认保留两位小数),其他的我们菜鸟暂时不用掌握。

怎么样?简单吧,数学公式中用上面的几个符号就可以表达出来了。

还有字符表达式,等在高等教育出版社出版的二级VFP教程上第56页有详细的介绍,先去翻课本。

翻完后再继续回来看。

下面将所学的内容复习一下,以上所说的内容实例见下图,大家在看完后,最好也先能实际操作一下,(所有标点符号用西文状态下的!)好了,大家书本上的知识都看完了吧,相信我们都对常量,变量,表达式有了初步的了解,下面进入程序的基本组成元素,函数。

函数分为数值函数,字符函数,日期时间函数,数据类型转换函数,测试函数,在教材的61页,再去看书吧(真的不是我懒,实在是不需要,我写的这玩意只是教程,不是教才,这些基础的必须要通过书本来掌握,如果这些我都写那整个暑假都是不够的,所以关于函数,在程序中遇到,就会有详细的解释)今天是第一天,说的内容不多,其实也没啥好说的,希望读者能够把常量的几种类型,变量,以及数组,表达式,函数,等牢记于心,明天我们正式讲简单的VFP程序编写。

哦,很晚了呢,我想去困觉了,今晚开始准备写这玩意,希望我能一直写下去,如果大家支持的话,我会很高兴的,如果没有人支持,我也要一直坚持下去。

第二天:VF6编程基础(二)昨天较为简单的说明了程序语言中常量,变量,以及函数表达式等程序体的基本元素,今天我们正式说明在VF6中最基本的面向过程程序语言编写。

其实在我看来,程序语言就是许多个表达式连在一起而组成的特定的格式的文本,例如我们在小学里经常会遇到这样的数学题:小明在二个小时走了8km的路程,问你小明家离学校有2km,需要多少时间才能到?我们现在可能会直接就写出答案了,说来惭愧,那个时候我上小学的时候最怕遇到此类应用题,当时我们会先写出公式算出每小时走多远,然后在拿2除以这个每小时走的路程。

得到的就是我们想要的答案:具体写出来就是:8÷2=4(千米)2÷4=0.5(小时)这个就是我们当时的解题步骤,最后不要忘了答一下,呵呵。

当然这个比较简单,今天我们想要说的是程序,就假设我们来编程算这个应用题,我们的思路和上面的一样,只是用VFP的程序语言,首先,我们在程序语言里面经常会先清除窗口内容,即clear ,所以我们在做编程题的时候,这个一般不重要,这个clear可要可不要,在程序结束处还有个RETURN,这在我们平时的编程里面也是可有可无的,它的作用是返回调用它的上级程序,在一些大的程序里面那就必须引起足够的重视。

我们在编程的过程中我们得到了另外的常量4和最后的结果,因此我们需要两个变量来存储它们,意思就是给它找个代号,在表达式中引用它。

最后要说明的是输出号是“?”和“??”前一个是在主程序中换行输出,后一个是不换行输出。

一次性可以同时输出多个结果,将这些变量和常量之间用“,”号或空格隔开。

当然在输出常量的时候记得加上定界符!下面我们把上面的转换成为VFP程序语言。

双击打开VF6,然后点文件-新建-程序-新建文件,或者在命令窗口中输入modi command然后输入程序语言,输入完毕后点程序-运行,或者直接点工具栏上的感叹号,首先系统会提示你先保存,这里说一下,在以后的程序文件和数据库文件中,我的位置是在E盘vfp文件夹,建议大家使用同样的文件名,文件路径和文件夹。

相关文档
最新文档