Foxpro
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

关系数据库 FoxPro PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on
  • Presentation posted in: General

关系数据库 FoxPro. 重点:第 2 章 ~ 第 11 章 第 2-5 章:交互方式的数据库操作 第 7-11 章:程序控制语句、程序方式的数据库操作 考试题型:填空、判断、程序填空、 读程序、编程序. 数据库基本概念. 三种常用的数据模型:层次、网状、关系 三种基本的关系操作:选择、投影、连接 关系 —— 二维表 —— .DBF. FoxPro 基本成分. 常量的种类、形式 变量:内存变量、字段变量 标准函数的使用 P.21-P.26

Download Presentation

关系数据库 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Foxpro

关系数据库 FoxPro

  • 重点:第2章~第11章

  • 第2-5章:交互方式的数据库操作

  • 第7-11章:程序控制语句、程序方式的数据库操作

  • 考试题型:填空、判断、程序填空、

  • 读程序、编程序


Foxpro

数据库基本概念

  • 三种常用的数据模型:层次、网状、关系

  • 三种基本的关系操作:选择、投影、连接

  • 关系 —— 二维表 —— .DBF


Foxpro1

FoxPro基本成分

  • 常量的种类、形式

  • 变量:内存变量、字段变量

  • 标准函数的使用 P.21-P.26

    字符函数:&字符变量 SUBSTR(X,N1,N2) LEN(X) AT(X,Y,[n])

    类型转换函数:CTOD() DTOC() ASC() STR(X [,N1][,N2])

    测试函数:BOF() EOF() FOUND()

  • 运算符和表达式值 P.26-P.28

    关系表达式:比较大小 (N、C、D、L) X $ Y

    逻辑表达式 字符表达式 (+、-) 日期表达式 (D±N D-D)


Foxpro

数据库操作命令

  • 建库结构 CREATE

  • 追加数据 APPEND

  • 插入数据 INSERT

  • 修改库结构 MODI STRU

  • 修改库记录 BROWSER | REPLACE

  • 删除库记录

    •逻辑删除 DELETE

    • 恢复记录 RECALL

    • 物理删除 PACK

    • 删除所有记录 ZAP


Foxpro

数据库操作命令

• 数据库的排序与索引

• 排序(物理排序): SORT

• 索引(逻辑排序): INDEX


Foxpro

数据库操作命令

• 数据查询 : 定位+输出

• 顺序(条件)查询:

LIST/DISP

LOCATE -CONTINUE + DISP

• 索引查询: FINE/SEEK + DISP


Foxpro

数据库的程序设计

• 顺序结构程序

• 输入语句 input accept wait @ … get

•计算(处理) = 数据库操作命令

•输出语句 ? ?? @ … say … get list disp

• 分支结构程序IF…ELSE…ENDIF

DO CASE

CASE P1

S1

……

[OTHERWISE

Sn]

ENDCASE

• 循环结构程序

DO WHILE P FOR I=n1 TO n2 [STEP n3]

…… ……

ENDDO ENDFOR


Foxpro

数据库的程序设计

SET TALK OFF

STORE 0 TO X,Y

N=0

DO WHILE N<100

N=N+1

IF INT(N/2)<>N/2

X=X+N

ELSE

Y=Y+N

ENDIF

ENDDO

? X,Y

SET TALK ON

例: 求1~100之间的偶数和奇数之和。

SET TALK OFF

STORE 0 TO X,Y

N=1

DO WHILE N<100

X=X+N

Y=Y+N+1

N=N+2

ENDDO

? X,Y

SET TALK ON

SET TALK OFF

STORE 0 TO X,Y

FOR N=1 TO 100 STEP 2

X=X+N

Y=Y+N+1

ENDDO

? X,Y

SET TALK ON


Foxpro

数据库的程序设计

例: 求S=1!+2!+ … +N! (N由键盘输入)

SET TALK OFF

INPUT “输入N” TO N

T=1

FOR I=1 TO N

T=T*I

S=S+T

ENDFOR

?”S=”,S

SET TALK ON


Foxpro

数据库的程序设计

例:读程序,简述程序功能

SET TALK OFF

USE STUDENT INDEX XH_I

DO WHILE .T.

ACCEPT “请输入学号:" TO XH

IF XH=‘#’

EXIT

ENDIF

SEEK XH

IF FOUND()

?学号,姓名,性别

ELSE

?“无此学号!"

ENDIF

ENDDO

USE

SET TALK ON


Foxpro

数据库的程序设计

例:读程序,回答问题

SET TALK OFF

N =AT (“人民”,“中华人民共和国”)

P=SUBSTR(“SRCXJSDY”,N,2)+“.DBF”

USE &P 问题:

GO N (1)第二条命令执行后,N的值为:

INSERT BLANK (2)此程序段的功能是:

USE

RETURN


Foxpro

子程序、过程和自定义函数

  • 子程序、过程和自定义函数:是功能相对独立的程序段;可以与主程序放在一个.PRG文件种,也可以是一个单独的.PRG文件

  • 过程与过程文件

    PROCEDURE 过程名

    ……

    RETURN

  • 调用过程: DO 过程名 [ WITH 参数表 ]

  • 数据传递:变量属性、参数传递


Foxpro

A1= 10

A2= 20

A3= 43

A1,A2=43 30

A1,A2,A3=51 52 43

A1= 10

A2= 20

A3= 51

子程序、过程和自定义函数

*SUB.PRG

PROCEDURE EE1

PRIVATE A1,A2

A1=41

A2=42

A3=43

RETURN

PROCEDURE EE2

PARAMETER A1,A2

?”A1,A2=”,A1,A2

A1=51

A2=52

A3=53

DO EE1

?”A1,A2,A3=”,A1,A2,A3

RETURN

例:P.131

SET PROC TO SUB

A1=10

A2=20

A3=30

DO EE1

?”A1=”,A1

?”A2=”,A2

?”A3=”,A3

DO EE2 WITH A3,A1+A2

?”A1=”,A1

?”A2=”,A2

?”A3=”,A3

RETURN


Foxpro

编程序:

1、计算: S=X+X/3!+X/5!+......+X/(2*N-1)! 。 X、N由键盘输入。

2、分别用IF … ELSE … ENDIF语句和DO CASE … ENDCASE语句

求分段函数的值

3、设有数据库“考分.DBF”,其中字段有:(考号N,姓名 C,性别 C,年龄 N,

优秀生 C,高考成绩 N )

若考生是“省优秀”则“高考成绩”加20分,若考生是“市优秀”则“高考成绩”

加10分 。请编程实现。

4、对以上的库文件, 编程序查找并显示最高总成绩和获得该最高总成绩的人数,

并且打印这些学生的姓名。

5、编程:输入考号,显示“best!”(高考成绩700),

显示“better!”(600 ≤高考成绩<700),

否则显示“come on!”;

若库中查无此学号,则显示“not found!”。

6、 打印三角形


Foxpro

设有数据库“考分.DBF”,其中字段有:(考号N,姓名 C,性别 C,年龄 N,

优秀生 C,高考成绩 N )

若考生是“省优秀生”则“高考成绩”加20分,若考生是“市优秀生”则“高考成绩”

加10分 。请编程实现。

set talk off

use 考分

do while not eof()

do case

case 优秀生=“省优秀生”

repl 高考成绩 with 高考成绩+20

case 优秀生=“市优秀”

repl 高考成绩 with 高考成绩+10

endcase

skip

enddo

use

retu

set talk off

use 考分

scan

do case

case 优秀生=“省优秀生”

repl 高考成绩 with 高考成绩+20

case 优秀生=“市优秀”

repl 高考成绩 with 高考成绩+10

endcase

endscan

use

retu


  • Login