VFP程序设计基础实验指导 下载本文

(3)保存表单文件。

(4)在窗口中输入命令:do form bd1,来运行表单bd1,在表单上按下鼠标右键就会弹出快捷菜单,测试快捷菜单的功能。

注:上述快捷菜单的定义与调用是步骤相关的,请按步骤进行。

3.在顶层表单中调用一般菜单 (1)建立菜单 操作步骤如下:

①单击“文件”菜单中的“新建”菜单项,在弹出的窗口中选择文件类别为“菜单”,单击“新建文件”按钮。在弹出的“新建菜单”窗口中选择“菜单”,单击“确定”按钮,启动了“菜单设计器”窗口。

②输入菜单项的相应名称,并选择结果为“子菜单”,表示将来单击该项,会弹出一个下拉子菜单,如下图所示。

③单击“文件调用”项右边的“创建”按钮,来设计“文件调用”的下拉子菜单。此时,“菜单设计器”上的菜单级显示为“文件调用”,表示目前正在设计“文件调用”项的子菜单,如下图所示。

④输入相应的菜单名称,在“结果”列中选择“命令”,如图所示。

注:菜单项的结果为“命令”的含义是当单击该菜单项时,会执行一条VFP命令,要执行的命令在后面的框中输入,如:“bd1表单”项的结果为“命令”,命令代码为:do form bd1。 ⑤选择“菜单级”中内容为“菜单栏”后,单击“日期与时间”菜单项右边的“创建”按钮,来设计该项的下拉子菜单,并根据下图所示为相应的菜单项选择相应的“结果”项。

注:

① 单击“日期”项右边的“创建”,输入日期过程代码如下: RQ=DATE()

Messagebox(ctod(RQ))

② 退出菜单项的命令是:set sysmenu to default &&恢复VFP的菜单为系统默认菜单。 ③ 结果中的“过程”选项的含义是执行多条命令,而结果中的“命令”选项的功能是执行一条命令。

⑥设置该菜单可被一个顶层表单调用

在“显示”菜单中选择“常规选项”命令,在打开的对话框窗口中,选中“顶层表单”复选框。

⑦单击“文件”菜单下的“保存”命令,保存菜单文件名为Mymenu.mnx。

⑧在“菜单设计器”状态下,单击“菜单”中的“生成”命令,可将Mymenu.mnx文件生成Mymenu.mpr的菜单程序文件。 (2)在顶层表单中调用菜单 ①新建一个表单文件DCBD.SCX。

②设置DCBD.SCX为顶层表单,即在表单的属性窗口中将该表单的SHOWWINDOW属性设置为2-作为顶层表单。

③双击表单,选择过程为INIT(或load),在表单的INIT(或load)事件中输入如下代码:do mymenu.mpr with this,.t.。.

④在窗口中输入命令:do form DCBD.SCX,来运行表单DCBD,测试菜单项的执行情况。

(3)其他要说明的问题

①给菜单项添加热键,方法是在菜单名的后面用“\\<”跟上一个热键字母,如:文件(\\

③ 添加菜单项目之间的分割线:只需把菜单项的名字写成:“\\-”,其他项采用系统默认值

即可。

【实训12】SQL语言

实训目的:

1.掌握查询语句SQL—SELECT的功能与语法。

2.掌握数据操纵语句SQL—INSERT、SQL—UPDATE、SQL—DELETE的功能与语法。 3.掌握数据定义语句SQL—ALTER的功能与语法。 实训内容:

1、建表(建表后,可用modify structure 修改表结构命令 来看表的结构)

? 前提条件:create database SQLLX &&建立数据库SQLLX,该数据库是打开的 ? create table zgda1.dbf ;

(编号 c(6) not null,姓名 c(6),年龄 n(2,0),工资 f(6,2),获奖次数 I,出生日期 d,工作时间 t,婚否 l,简历 m,照片 g)

? create table zgda2.dbf (编号 c(6) not null,姓名 c(6),年龄 n(2,0),工资 f(6,2))

? create table zgda3.dbf (编号 c(6) not null primary key,姓名 c(6),年龄 n(2,0),工资 f(6,2)) ? create table zgda3.dbf (编号 c(6),姓名 c(6),年龄 n(2,0) check 年龄>0 error \年龄要大于

0\

? create table zgda3.dbf (编号 c(6),姓名 c(6),年龄 n(2,0) check 年龄>0 error \年龄要大于

0\

? create table zgda4 free (编号 c(6),姓名 c(6),年龄 n(2,0)) &&zgda4是自由表 注意:(表zgda1----zgda4是数据库表,并自动加到当前数据库SQLLX中) (1) c n f类型需要指定宽度 n f b类型要指定精度 (2)UNIQUE 候选索引 primary key 主索引 2、alter table 修改表结构

alter table zgda3 add column 性别 c(2) check 性别=\女\性别=\男\性别只能为男或者女\男\

功能:添加性别字段并设置有效性规则,默认值为男。

alter table zgda3 alter column 性别 c(4) default \女\ &&无有效性规则,默认值为女

alter table zgda3 alter column 性别 c(4) check 性别=\女\性别=\男\性别只能为男或者女\女\

alter table zgda3 alter column 性别 drop default &&删除性别字段的

默认值

alter table zgda3 alter column 性别 drop check &&删除性别字段的有效性规则

alter table zgda3 alter column 性别 set check 性别=\男\性别=\女\男或女?\alter table zgda3 alter column 性别 set default \男\ &&设置或更改性别字段的默认值

alter table zgda3 drop column 性别 &&删除性别字段 alter table zgda3 rename 姓名 to name &&姓名字段改名为name

alter table zgda3 rename column name to NM

3、drop table zgda4 &&删除自由表zgda4(请用close database把数据库关掉,否则删除不掉) 4、insert into:

open database SQLLX &&请打开数据库SQLLX

create table zgda4.dbf (编号 c(6),姓名 c(6),年龄 n(2,0),出生日期 d,婚否 L)

insert into zgda4(编号,姓名,年龄,出生日期,婚否) values (\张三\

insert into zgda4(编号,姓名,年龄,出生日期,婚否) values(\李四\

insert into zgda4(编号,姓名,年龄,出生日期,婚否) values(\王五\5、delete

dele from zgda4 where 年龄>=40 &&用list命令显示记录,可看到2条记录加上了删除标记。 6、update

update zgda4 set 年龄=年龄+1,出生日期=出生日期-1 &&没有where条件,则更新全部记录

update zgda4 set 年龄=年龄+1,出生日期=出生日期-1 where 婚否=.t. &&更新已婚记录 7、select查询(运行下面的语句,说出其含义) select * from zgda

select all 职称 from zgda &&all可省略,查出所有记录的职称字段值 select distinct 职称 from zgda &&查出所有记录的职称字段值,去掉重复行。 select 姓名,性别,年龄,职称 from zgda

select top 3 * from zgda order by 编号 desc &&查编号最大的前3条记录 select top 50 percent * from zgda order by 年龄 desc &&查年龄最大的前一半记录