VF新教案.docx
- 文档编号:30229032
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:79
- 大小:55.42KB
VF新教案.docx
《VF新教案.docx》由会员分享,可在线阅读,更多相关《VF新教案.docx(79页珍藏版)》请在冰豆网上搜索。
VF新教案
VisualFoxPro数据库
第一节表操作
一、VF简介
VisualFoxPro简称VF,是目前微机上优秀的数据库管理系统之一,它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了系统的模块性和紧凑性。
微机数据库系统以其开发成本低、简单易学,方便用户等优点得到迅速推广。
二、数据库
1、数据库:
Database是存储在计算机上的结构化的相关数据的集合。
它不仅包含数据本身,还包括相关事物之间的联系。
2、数据库的应用系统:
是系统人员利用数据库系统资源开发出来的面向某一类实际应用的应用软件系统。
无论是面向内部业务和管理的管理信息系统,还是面向外部,提供服务的开放式信息系统,从实现技术角度而言,都是以数据库为基础和核心的计算机应用系统。
3、数据库的管理系统:
DBMS可以对数据库的建立、使用和维护进行管理。
4、数据库系统:
是指引进数据库技术后的计算机系统
实现有组织的动态的存储大量相关数据,提供数据处理和信息资源共享的便利手段。
三、VF的启动及界面
1、启动:
A:
开始——程序——MicrosoftVisualFoxPro6.0——MicrosoftVisualFoxpro6.0
B:
直接双击桌面狐狸头的快捷图标
2、界面:
标题栏菜单栏工具栏工作区(命令窗口)状态栏
命令窗口是桌面上的一个重要部件,在该窗口中,可以直接输入VF的各条命令,回车之后便立即执行该命令。
有3种方法来显示/隐藏命令窗口:
1、鼠标单击命令窗口右上角的关闭按钮可关闭,选择窗口菜单中的命令窗口即可打开
2、直接单击常用工具栏右侧的命令窗口按钮,倒数第七个按钮
(列表框之后)凹下时,命令窗口显示;凸起时,命令窗口隐藏
3、Ctrl+F2显示命令窗口;Ctrl+F4隐藏命令窗口
四、VF的退出
1、单击标题栏最右边的关闭按钮
2、文件菜单——退出
3、单击控制按钮——关闭
4、双击控制按钮
5、Alt+F4关闭窗口
6、在任务栏窗口位置右击——关闭
7、在命令窗口中输入Quit敲回车键
五、VF的应用
1、建立表
直接在命令窗口输入建表命令create敲回车——弹出表设计器窗口——输入字段名、字段类型及宽度——确定——输入表中的数据记录即可
字段名:
即关系的属性名或表的列名,即数据的标题信息
字段类型:
字符型:
可以是字母、文字或数字(编号)等字符型文本
数值型:
表示整数或小数
日期型:
由年、月、日构成的数据类型
逻辑型:
由真.T.和假.F.表示的数据
字段宽度:
一个字母、一个数字占1个字节
一个汉字占2个字节
日期型数据默认8位,逻辑型数据默认1位
2、显示记录
直接在命令窗口输入显示所有记录的命令list敲回车——表中的所有记录显示在主窗口中。
3、追加记录<在表末尾添加记录>
直接在命令窗口输入追加记录的命令Append敲回车——出现表的编辑窗口——输入表的记录内容——关闭——list显示——新添加的记录插入到表的最后
作业:
上机:
1、创建职工表
职工号姓名性别婚否政治面貌工作日期职称
1001李小明男F群众10/12/95助教
1002李新男F团员09/12/94助教
1003刘明明女 F党员10/21/93助教
1004张继业男T群众07/10/90讲师
2、并在职工表中追加一条记录
1005王伟华女T团员09/19/94助教
第二节表操作
一、查询定位命令
1、直接定位
Goto记录号或Go记录号
GoTop指针指向表中的首记录
GoBottom指针指向表中的尾记录
2、指针移动
Skip数值正数记录指针向后移动
负数记录指针向前移动
二、显示记录
1、显示带条件的记录
Listfor条件1and条件2两个条件必须同时都满足
Liftfor条件1or条件2两条件只满足其中的一个条件即可
2、显示指针指向的单条记录
Display陈列展览显示
三、修改记录
1、单条记录<指针指向的当前记录>
Goto记录号回车Edit回车即可,进入到表的编辑界面修改
2、replaceall字段with表达式
Replaceall字段with表达式for条件
四、增加记录
1、表末尾追加记录Append
2、插入记录insert在指定记录之后插入记录
Insertbefore在指定记录之前插入记录
Insertbeforeblank在指定记录之前插入空记录
作业:
上机:
建立商品表
字段有:
商品号商品名称单价进货日期进货地点
1、输入5个商品记录
2、在第3条记录后插入一条电饭锅的记录
3、在第1条记录前插入一条空记录
4、在表末尾追加商品背投电视
5、将所有的商品降价一半
6、给背投电视修改价格
第三节表操作
一、打开表
Use表名回车list回车打开表后,显示表中的所有记录
二、修改表的结构
Modifystructure
作用:
1、修改已有的字段<字段名、字段类型及宽度>
2、增加新的字段
3、删除不用的字段
三、删除记录
1、置删除标记
Deletefor条件1and条件2同时删除符合2个条件的记录
Deletefor条件1or条件2同时删除符合其中1个条件的记录
Goto记录号回车delete回车删除指针指向的记录
2、物理删除带标记的记录
Pack
3、恢复删除的记录
Recallfor条件恢复带删除标记的记录
Recallall恢复所有被删除的记录
4、删除表中的所有的记录
ZAP
四、排序
SORTTO新表名ON字段/a升序排列,/d降序排列
查看USE新表名回车
LIST回车
五、全屏修改
Browse同时显示表中的所有记录,并能直接进行表记录内容的修改
六、清屏
Clear清除主屏幕上显示的所有内容
作业:
上机:
创建工资表
字段为:
姓名性别年龄工资奖金补助实发
1、计算实发工资
2、将年龄大于50岁的记录,工资增加30元
3、删除年龄大于60岁的女职工
4、在补助字段之前插入住房补助字段,并用替换命令将所有的住房补助改为300元。
5、第三条记录之前插入张三的记录,在表末尾追加李四的记录
作业
(二)
1、创建职工表
职工号姓名性别婚否政治面貌工作日期职称
1001李小明男F群众10/12/95助教
1002李新男F团员09/12/94助教
1003刘明明女 F党员10/21/93助教
1004张继业男T群众07/10/90讲师
2、创建工资表
职工号姓名基本工资奖金津贴房租实发工资
1001李小明700.801505045
1002李新480.00855036
1003刘明明482.90114.875038
1004张继业650.50195.155060
要求:
1、计算工资表中的实发工资
2、在职工表中删除政治面貌为群众的所有记录
3、在工资表中按实发工资升序排列产生新表<工资>
4、在职工表中的刘明明之前插入一条王伟华的记录
1005王伟华女T团员09/19/94助教
第四节数据库的建立
数据库是一个逻辑上的概念和手段,通过一组系统文件将相互关联的数据库表及相关的数据库对象统一组织和管理。
建立数据库时,相应的数据库名称实际是扩展名为dbc的文件名,与之相关的还会自动建立一个扩展名为dct的数据库备注文件和一个扩展名为dcx的数据库索引文件。
一、建立数据库
文件——新建——数据库——新建文件——进行数据库的保存——指定盘、文件夹、文件名、文件类型(扩展名dbc)——保存——确定——自动出现灰色的数据库设计器
二、数据库中建立表
打开灰色的数据库设计器——数据库菜单——新建表——保存表——指定字段名、字段类型、宽度——输入数据记录——确定
三、索引
1、索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值排序。
索引文件和表文件分别存储,并且不改变表中记录的物理顺序。
2、分类:
主索引:
在指定字段或表达式中不允许出现重复值的索引
这样的索引可以起到关键字的作用
它强调的“不允许出现重复值”是指建立索引的字段值不允许重复
一个表只能有一个主关键字,所以一个表只能创建一个主索引
普通索引:
可以决定记录的处理顺序,它不仅允许字段中出现重复值
并且索引项中也允许出现重复值,一个表中可以建立多个普通索引
四、建立索引
双击打开表——显示菜单——表设计器——选择索引的排序方式——单击索引选项卡——在类型中选择主索引和普通索引——确定
主索引:
表索引字段前方有金黄色钥匙
普通索引:
直接出现索引字段
五、表之间的联系
将两个表中相同的字段分别建立主索引和普通索引——将带有黄色钥匙的主索引字段拖曳到另一个表中的普通索引字段上,两个表之间会出现相连的黑线,表示过两张表已经关联成为一个整体。
六、自由表与数据库表
1、定义:
自由表就是那些不属于任何数据库的表
数据库表是那些位于数据库中的表打开数据库后创建的表
2、将自由表添加到数据库
打开灰色的数据库设计器——数据库菜单——添加表——选择自由表——确定
3、从数据库中移出表
在灰色的数据库设计器的数据表上右击——删除——弹出提示对话框——把表从数据库中移去还是从磁盘上删除——选择移去
作业:
上机创建《订货管理》数据库,并将表建立关联(联系)
仓库表
仓库号城市面积
WH1北京370
WH2上海500
WH3广州200
WH4武汉400
职工表
仓库号职工号工资
WH2E11220
WH1E31210
WH2E41250
WH3E61230
WH1E71250
订购单表(Null空值,没有任何数据)
职工号供应商号订购单号订购日期
E3S7OR672001/6/23
E1S4OR732001/7/28
E7S4OR762001/5/25
E6NullOR77Null
E3S4OR792001/6/13
E1NullOR80Null
E3NullOR90Null
E3S3OR912001/7/13
供应商表
供应商号供应商名地址
S3振华电子厂西安
S4华通电子公司北京
S6607厂郑州
S7爱华电子厂北京
第二章查询
第一节简单查询及联接查询
Select字段from表where条件
一、简单查询打开《订货管理》数据库
1、从职工表中查询所有工资值
Select工资from工资表
12201210125012301250
在查询结果中具有重复值1250,可用distinct去掉重复值
Selectdistinct工资from工资表
1220121012501230
2、查询仓库表中的所有记录
*表示所有属性,即所有的字段记录
Select*from仓库表
Select仓库号,城市,面积from仓库表
WH1北京370
WH2上海500
WH3广州200
WH4武汉400
3、查询工资多于1230元的职工号
Select职工号from职工表where工资>1230
E4E7
4、查询在哪些仓库有工资多于1210元的职工
Selectdistinct仓库号from职工表where工资>1210
WH1WH2WH3
5、查询出在仓库“WH1”或“WH2”工作,并且工资少于1250元的职工号
逻辑运算符的优先级Not逻辑非And逻辑与Or逻辑或
Select职工号from职工表where工资<1250and(仓库号=“WH1”or仓库号=“WH2”)
E1E3
二、简单的联接查询同时在2个表中查询符合条件的结果
联接条件表1.字段A=表2.字段A
1、查询出工资多于1230元的职工号及他们所在的城市
SELECT职工号,城市FROM职工表,仓库表WHERE;
(工资>1230)AND(职工表.仓库号=仓库表.仓库号)
E4上海
E7北京
2、找出工作在面积大于400的仓库的职工号及这些职工工作所在的城市.
SELECT职工号,城市FROM职工表,仓库表WHERE;
(面积>400)AND(职工表.仓库号=仓库表.仓库号)
E1上海
E4上海
作业:
练习所有讲过的实例
思考:
1、查询出工资大于1230元的仓库号,以及它所对应的供应商号
2、查询出“华通电子公司”对应的所有订货单号
第二节特殊运算符及排序查询
一、特殊运算符查询
在…到…之间between…and…
字符串匹配运算符like
通配符%表示0个或多个字符
_表示1个字符
!
=不等于
例1、查询出工资在1220元到1240元范围内的信息
select*from职工表where工资between1220and1240
WH2E11220
WH3E61230
例2、从供应商表中查询出全部公司的信息
select*from供应商表where供应商名like"%公司"
S4华通电子公司北京
例3、查询出地址不在北京的全部供应商信息
select*from供应商表where地址!
='北京'
S3振华电子厂西安
S6607厂郑州
例4、查询出工资不在1220元和1240元之间的全部职工信息
Select*from职工表where工资notbetween1220and1240
WH1E31210
WH2E41250
WH1E71250
二、查询排序
orderby字段ascdesc
查询排序升序(省略)降序
例1、按职工的工资值升序查询出所有职工信息
select*from职工表orderby工资asc
或select*from职工表orderby工资
WH1E31210
WH2E11220
WH3E61230
WH2E41250
WH1E71250
例2、先按仓库号排序,再按工资排序并输出全部职工信息
Select*from职工表orderby仓库号,工资
WH1E31210
WH1E71250
WH2E11220
WH2E41250
WH3E61230
第三节计算查询
一、简单的计算查询
1、计算查询中使用的函数
COUNT计数SUM求和AVG求平均值MAX最大值MIN最小值
2、实例
1、查询供应商所在地的数目(地址?
)
SELECTCOUNT(地址)FROM供应商表
4
查询出不重复的供应商所在地的数目
SELECTCOUNT(DISTINCT地址)FROM供应商表
3
2、查询支付的工资总和
SELECTSUM(工资)FROM职工表
6160
3、查询出在北京和上海仓库的职工的工资总和
SELECTSUM(工资)FROM职工表WHERE仓库号in;
(SELECT仓库号FROM仓库表WHERE城市="北京"OR城市="上海")
4930
注:
in表示属于,第1个查询语句中的条件是第2个查询语句的结果
4、查询出在WH2仓库工作的职工的最高工资值
SELECTMAX(工资)FROM职工表WHERE仓库号="WH2"
1250
二、数据分组计算查询
分组计算:
groupby分组字段
(分类汇总:
按照字段中相同的记录为一类,对比分析其它的数据)
1、查询求出在每个仓库工作的职工的平均工资。
SELECT仓库号,AVG(工资)FROM职工表GROUPBY仓库号
WH11230
WH21235
WH31230
限定分组的条件having
2、查询出至少有两个职工的仓库的平均工资
SELECT仓库号,COUNT(*),AVG(工资)FROM职工表;
GROUPBY仓库号HAVINGCOUNT(*)>=2
WH11230
WH21235
作业:
1、上机完成6个实例
2、建立人事档案有职工情况表和工资档案表两张表
职工情况表
职工号姓名性别年龄职务电话家庭住址
1001李明男23教师7225480介休电碳厂宿舍
1002张虹女31教授7228380介休印染厂宿舍
1003任丽女27副教授7191873介休矿务局宿舍
工资档案表字段有
职工号工资奖金补助实发
100130010030
1002500200100
100340014050
(1)查询计算出所有工人的工资总额
(2)查询计算出所有工人的平均工资
(3)查询统计职工情况表中的职工人数
(4)按职工工资降序排列查询出所有职工的信息
(5)计算出所有职工的实发工资数
(6)在职工情况表中增加部门字段,将男职工的部门改为办公室,女职工的部门改为教研室
(7)按部门分别查询出职工的年龄平均值
(8)查询出年龄在25到35岁之间的所有的职工信息
第四节超链接查询及特殊选项
一、超联接查询同时显示出2个表中的所有内容
分类:
普通联接左联接右联接全联接
1、普通联接:
又称为内部联接
Innerjoin等价于join
将仓库表和职工表中的一一对应的记录全部显示
SELECT仓库表.仓库号,城市,面积,职工号,工资;
FROM仓库表JOIN职工表ON;
仓库表.仓库号=职工表.仓库号
2、左联接:
联接2个表,左表中的记录全部显示,右表中没有对应记录时
以.null.空值显示
SELECT仓库表.仓库号,城市,面积,职工号,工资;
FROM仓库表LEFTJOIN职工表;
ON仓库表.仓库号=职工表.仓库号
3、右联接:
联接2个表,右表中的记录全部显示,左表中没有对应记录时
以空值.null.显示
SELECT仓库表.仓库号,城市,面积,职工号,工资;
FROM仓库表RIGHTJOIN职工表;
ON仓库表.仓库号=职工表.仓库号
4、全联接:
联接2个表,所有记录都出现,没有对应记录时,全部都以空值.null.显示
SELECT仓库表.仓库号,城市,面积,职工号,工资;
FROM仓库表FULLJOIN职工表;
ON仓库表.仓库号=职工表.仓库号
二、查询中的特殊选项
1、只查询显示部分结果
TOP顶部的记录{TOP数值}
BOTTOM底部的记录{BOTTOM数值}
只显示工资最高的三位职工的信息。
SELECT*TOP3FROM职工表ORDERBY工资DESC
WH2E41250
WH1E71250
WH3E61230
%PERCENT百分数
显示工资最低的30%的职工的信息。
SELECT*TOP30PERCENTFROM职工表ORDERBY工资
随着百分比的大小不同,显示出的记录个数不同
2、将查询结果存放到一个自由表中。
直接在查询语句之后加上INTOTABLE自由表名
3、将查询的结果存放在一个*.txt的文本文件中
直接在查询语句之后加上TOFILE文本文件名.txt
2、3产生文件,自动存放到VF的安装路径下
右击VF的可执行文件——属性——目标位置记录安装路径
4、将查询的结果直接打印出现
接好打印机——装好打印纸——在查询语句之后输入打印命令toprinter
作业:
建立学生管理.dbc数据库
该数据库中包含有《学生档案》和《学生成绩》两张表
学生档案
学号姓名年龄年级班级
0001张三16初一115
0002李四16初一116
0003李二15初一115
0004刘三17初二113
学生成绩
学号YWSXZF
0001255277
0002244266
0003322355
0004111122
要求:
1、在成绩表中检索所有总分值
2、检索档案表中所有的班级
3、检索年级为初一的学生姓名和学号
4、检索年级为初一的并且姓名是李的学生情况
5、检索总分大于60并且语文大于等于25的学生所在的班级
6、检索出至少有一个学生的总分大于60的班级
第三章表达式与函数
第一节表达式
一、常量
1、数值型常量:
表示一个数量的大小
由数字0-9,小数点和正负号构成,数值型数据在内存中用8字节表示
2、货币型常量:
用来表示货币值,在数值型常量前方加货币符号¥$
货币数据在存储和计算时,采用4位小数
3、字符型常量:
字符串文本
使用半角单引号,双引号或方括号把字符串扩起来
这里的单引号,双引号或方括号称为定界符
★字符型常量的定界符必须成对匹配,不能一边用单引号而另一边用双引号
4、日期型常量:
表示日期数据
日期型常量的定界符是一对花括号,花括号内包括年、月、日三部分内容
各部分内容之间用分隔符分隔
分隔符可以是斜框/连字号—句点.空格{^××××—××—××}
5、日期时间型常量:
包括日期和时间2部分内容
时间部分的格式为:
hh:
mm:
ssa/p
Hh表示时mm表示分ss表示秒aAm上午pPM下午
6、逻辑型常量
逻辑型数据只有逻辑真和逻辑假两个值占一位
逻辑真.T..t..Y..y.逻辑假.F..f..N..n.
★前后两个句点作为逻辑型常量的定界符是必不可少的
二、变量
变量的值是能够随时更改的
1、变量的赋值
只能给一个变量赋值x=表达式
同时给多个变量赋值store表达式toa,b,c,x,y……
2、表达式值的显示
?
表达式
三、表达式
表达式是由常量、变量和函数通过特定的运算符连接起来的式子
1、数值表达式
数值表达式是由算术运算符将数值型数据连接起来形成,其运算结果仍然是数值型数据。
(1)算术运算的优先级
优先级运算符
1()括号
2**^乘方
3*/%乘、除、求余运算
4+-加、减运算
例:
?
(1/60-3/56)*18.45
在命令窗口输入问号、数学公式回车确认即可求出数学公式的答案。
?
(1+2^(1+2))/(2+2)
将分式的结果自动转换成小数,并且保留两位小数(工具—
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VF 教案