VFP 6.0数据库基本操作(3)

2019-06-17 09:37

COPY TO GZLS2 NEXT 4

&&将GZ01中的5—9号记录复制到GZLS2库中

COPY TO GZLS3 &&将GZ01库复制到GZLS3库中 USE GZLS2 &&观察复制情况 LIST

USE GZLS3 &&观察复制情况 LIST USE

按条件复制

USE ZGDA01

COPY TO DA1 FOR XB=’女’ &&将ZGDA01中的所有女性记录复制到DA1库中 COPY TO DA2 FOR XB=’男’ .AND. KS=’学生科’ &&将ZGDA01中学生科的所有男性记录复制到DA2库中

COPY TO DA3 FIEL KS,XM,JBGZ FOR KS=’实验科’ &&将ZGDA01中实验科人员的KS,XM,JBGZ字段内容复制到DA3库中 USE DA1 && 观察复制情况

LIST

USE DA2 LIST USE DA3 LIST USE

1、 复制库结构 ① 全部复制 USE GZ01

COPY STRU TO GZLS &&将GZ01库结构复制到库GZLS中 USE GZLS LIST

LIST STRU &&观察有无数据:________ USE

RUN DEL GZLS.DBF ② 部分复制

USE GZ01

COPY STRU TO GZLS FIEL XM,JBGZ,SFS

&&将GZ01中的XM,JBGZ,SFS三个字段复制到GZLS库中 USE GZLS LIST STRU USE

! DEL GZLS.DBF 3.从其他库中追加数据

USE GZ01

COPY STRU TO GZ1 &&将GZ01库结构复制到GZ11中 COPY STRU TO GZ2 USE GZ1 LIST

USE GZ2 LIST

APPEN FROM GZ01 FOR KS= ’学生科’ &&将GZ01中满足条件的数据追加到GZ2中 LIST USE

DELE FILE GZ1.DBF DELE FILE GZ2.DBF

4.常用函数练习(仔细观察、记录运行结果) ① 数值型函数的练习

CLEAR &&清屏

? EXP(2) &&指数函数 ? INT(87.26) &&取整函数 ? INT(-87.56)

? ABS(-523) &&取绝对值函数 ? SQRT(16) &&平方根函数

? ROUND(3245.346,2) &&四舍五入函数 ? ROUND(3245.644,2) ? ROUND(3245.644,-2)

? MAX(432,198,234) &&取最大值函数

? MAX(?ABC?,?21?,?WS?) ? MAX(“ABC”,”21”,”WS”) ? MAX([ABC],[21],[WS])

? MOD(52,5) &&取余函数 ② 字符型函数的练习

?LEN(‘计算机等级考试’) &&字符串长度函数

?UPPE(“It is a computer”) &&转换为大写字母函数 ? SUBS(’99计算机等级考试上机辅导教材’,9,8) && 取子串函数 ?AT(‘中心’,“计算机中心”) && 子串位置函数 ?AT(“aa”,“aabbcc”) AA=’五笔字型’ BB=’输入法’ ?AA+BB

? AA+SPACE(2)+BB

③ 日期和时间函数的练习 ?DATE( ) &&系统当前日期 ? TIME( ) &&系统当前时间 ④ 转换函数的练习

?STR(12345.678 ,8 ,1) && 数值转字符 ? STR(12345.678 ,8 ,2) ? STR(435.76 , 4) ? STR(123.56)

? VAL(‘1234.5’) && 字符转数值 ? VAL(?abcd?) ? VAL(12ABCD?)

? CTOD(‘04/18/99’) && 字符转日期

? CTOD(?04/18/99?)+20 ? CTOD(?04/18/99?)-5

? DTOC(date()) && 日期转字符 ⑤宏替换函数“ & ” 的练习 A=12345 B=?A? ? &B ? B

STORE 10 TO B B=?18-8? ? A+&B S=?DIR? ? S &S

⑥复合函数 ? SQRT(VAL(“100”)) ? CTOD(“12/12/98”)+12 M=“今天的日期是:”+DTOC(DATE())

? M

N=“现在的月份是:”+ SUBS(DTOC(DATE()),1,2)+ “月”

? N

1、 多工作区及其使用方法 ①工作区命名及选择 ②数据库的关联 ③ 数据库的更新 ④ 数据库的连接 三、 注意事项

a) 不能删除已打开的数据库文件。 四、 思考题

a) 没有关闭的数据库能否被删除?

b) COPY STRU 在拷贝时,能否将记录一并拷贝? c) 字符串的定界符除了双引号外还有什么?

d) ROUND( )函数中取的位数为负数时表示什么?(例:ROUND(1234.567,-2)

实验十、VFP 6.0程序设计 一、 实验目的及要求

a) 熟悉VFP 6.0建立程序(命令)文件(扩展名: PRG)的方法,掌握程序的三种基本结构。 b) 学习简单的算法。

c) 记录操作程序与数据检索程序设计初步 二、 实验内容及步骤 a) 顺序程序设计:

求一元二次方程的实数解。

在命令窗口中输入命令:MODI COMM PRG01便进入程序文件编辑窗口,输入如下内容: ***PRG01******

SET TALK OFF &&关闭控制命令响应 信息的显示 CLEA

INPUT “A=” TO A &&给方程的二次项系数赋值 INPUT “B=” TO B &&给方程的一次项系数赋值 INPUT “C=” TO C &&给方程的常数项系数赋值 D=B*B—4*A*C E=SQRT(D)

X1=(— B + E)/(2*A) X2=(— B — E)/(2*A)

? “X1=”,X1 ? “X2=”,X2

SET TALK ON &&打开控制命令响应信息的显示

输入完毕检查无误后,按CTRL+W存盘,返回到命令窗口,输入: DO ROG01 运行该程序,计算机提示输入数据时,对A、B、C分别输入2、4、-6,计算机输出结果,用笔验算一下,看结果是否正确。

1、 思考:该程序存在什么问题?

再运行一次该程序,这次分别输入4、2、1,程序运行中止,出现错误信息。:

按回车键后进入PRG01.PRG的编辑窗,可对其进行修改,暂不修改,按ESC键退出,这说明程序不完善,问题出没有对判别式进行判断(负数不能开平方)。

b) 分支程序的设计:

判断并求一元二次方程的实数解

COPY FILE PRG01.PRG TO PRG02.PRG &&PRG01.PRG复制成PRG02.PRG MODI COMM PRG02 按下面内容编辑:

* ****PRG02.PRG******* SET TALK OFF CLEA

INPUT “A=” TO A INPUT “B=” TO B INPUT “C=” TO C D=B*B—4*A*C IF D<0

? “没有实根”

ELSE

D=SQRT(D)

X1=(—B + E)/(2*A) X2=(—B —E)/(2*A)

? “X1=”,X1 ? “X2=”,X2 ENDIF

SET TALK ON

运行该程序两次,分别在命令窗口中输入的两次命令: DO PRG02

第一次分别输入4、2、1 第二次分别输入2、4、—6 观察分析程序的运行结果。

c) 循环程序的设计

以上程序在每次运行中只能解一个方程,下面用DO WHILE / ENDDO循环来解多个方程。首先将PRG02.PRG复制成PRG03.PRG,然后按以下内容编辑修改PRG03.PRG: * ******PRG03.PRG************** SET TALK OFF DO WHILE .T. CLEA

INPUT “A=” TO A INPUT “B=” TO B INPUT “C=” TO C D=B*B—4*A*C IF D<0

? “没有实根”

ELSE

D=SQRT(D)

X1=(—B + D)/(2*A) X2=(—B —D)/(2*A)

? “X1=”,X1 ? “X2=”,X2 ENDIF ANS=”y”

@10,10 SAY“还继续求解吗?(Y/N):”GET ANS PICT “y” READ

IF UPPE(ANS)=”N” EXIT ENDIF ENDDO

SET TALK ON

运行该程序求三次解,在命令窗口中输入命令:DO PRG03 第一次分别输入4、2、1,得出结果后回答“Y”,


VFP 6.0数据库基本操作(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:健康评估各章习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: