FOXBASE简明教程
FOXbase+运用技巧三则
@ 5,50 say “记录号:”
@ 5,58 say recno()
@ 7,50 say "记录数:"
@ 7,58 say reccount()
以上程序在TMS-286/20机,FOXBASE+2.1运行通过,汉字系统:SuperCCDOS5.0。
set func 8 to "Ⅳ"
set func 9 to "±"
set func 10竖线的中文报表打印中,需按照每个字段的宽度,动态地安排数据及表格的打印位置。FOXbase+没有提供自动获取字段宽度的命令及函数,本人编制的这段小程序,能够自动 获取指定数据库的每个字段宽度存入数组xj。程序第三行将打开的数据库文件结构存入新生成的临时文件“lsvj”中,第十行再从临时文件中将字段宽度信息存入数组,最后删除临时文件。
use 数据库名
nn=fcou() &&取字段数
copy to lsvj stru extended
use lsvj
dime xj(nn)
xj=0
go 1
n=1
set func 2 to "、"
set func 3 to "。"
set func 4 to "ψ"
set func 5 to "Ⅰ"
set func 6 to "Ⅱ"
FoxBASE实用程序设计技巧
FoxBASE优于DBASEⅢ的重大改进,还在于增加了菜单制作命令,使用FoxBASE的数组和菜单制作命令,可以简单地设计出新颖别致的下拉式菜单和弹出式菜单,从而达到以窗口的方式显示信息、调用子菜单的目的,增强了人机界面的友好性。
●CLEAR PROGRAM语句的使用
CLEAR PROGRAM语句是对程序缓冲区进行清空处理的,因为在程序缓冲区中,保存着最近执行过的程序或参数,如不对其进行清空,就可能导致运行结果的错误,所以,不论是在交互方式还是在程序中,适时地使用CLEAR PROGRAM语句将有利于提高程序运行的可靠性。
●巧用循环语句
使用方式主要有以下几种:
■使用循环语句对一组有序变量置初值。
■循环语句用于数组处理,要特别注意记录指针的位置。
■使用循环语句控制延时,使屏幕上的信息有一定的停留时间,可与WAIT语句联用。
注意的是在使用循环语句时,要特别考虑循环起始位置,防止出现“死循环”。
二、程序设计中的特殊处理技巧
●灵活使用宏代换函数&
灵活使用宏代换函数&,可大大减少程序的重复输入量,对程序的简化、优化都起到了很大的作用。使用方式主要有以下四种:
■可灵活地打开任何一个数据文件。
■用宏代换函数&替代命令行。
●VALID子句自定义函数的使用
FoxBASE优于DBASEⅢ的显著特点就是FoxBASE可以支持用户自定义函数、二维数组的内存变量,VALID就是其表现之一,VALID子句的〈条件〉项可为用户自定义函数(UDF),这个功能很强,可以使用户用一个程序来检验输入数据的合法性,可以为每个变量设计不同的数据合法性检验程序。
FoxBASE系统通过ON ESCA、ON KEY、ON ERROR三条程序设计命令,为我们提供了摸拟多通道程序同时执行的技术,形成了正常的程序流程、ESC键流程、任意键流程、错误陷阱流程四条并行的程序流程路线,如果在程序中联合使用,效果会更理想,使用会更方便,从而实现人工干预、人机“对话”。
FoxBASE命令
FoxBASE+基本命令一.数据库的基本操作1、CREATE [<数据库文件名>]2、USE [<数据库名> [ALIAS<别名>]]3、LIST STRUCTURE4、DISPLAY STRUCTURE5、RECSIZE()6、FCOUNT()7、MODIFY STRUCTURE8、APPEND [BLANK]9、INSERT [BEFORE] [BLANK]10、APPEND FROM <库文件名> [FIELDS <字段名清单>] [FOR<条件>]11、EDIT [<范围>] [FIELDS<字段名清单>] [FOR|WHILE<条件>]12、CHANGE[<范围>] [FIELDS<字段名清单>] [FOR|WHILE<条件>]13、REPLAVE [<范围>] <字段名1> WITH <表达式1> [,<字段名2> WITH <表达式2>,…] [FOR|WHILE<条件>]14、DELETE [<范围>] [FOR|WHILE<条件>]15、SET DELETE ON|OFF16、RECALL [<范围>] [FOR|WHILE<条件>]二.排序和索引1、SORT ON <字段名1> [</A>|</D>][/C] [,<字段名2> [</A>|</D>][/C],…] TO <库文件名> [<范围>][FIELDS<字段名清单>] [FOR|WHILE<条件>]2、LOCATE [<范围>] FOR|WHILE<条件>3、CONTINUE4、SET FILTR TO <条件>5、INDEX ON <数值表达式> TO <索引文件名> [UNIQUE]6、USE <数据库名> INDEX <索引文件名清单>7、SET INDEX TO <索引文件名清单>8、CLOSE INDEX9、SET INDEX TO10、REINDEX11、FIND <字符串>|<数字>12、SEEK <表达式>三、统计与汇总1、COUNT [<范围>] [FOR|WHILE<条件>[TO <内存变量>]]2、SUM [<范围>] [<表达式清单>] [TO <内存变量清单>] [FOR|WHILE<条件>]3、AVERAGE [<范围>] [<表达式清单>] [TO <内存变量清单>] [FOR|WHILE<条件>]4、TOTAL ON <关键字> TO <汇总库名>[<范围> [FIELDS<字段名清单>]][FOR|WHILE<条件>]四、多重数据库的操作1、SELECT <工作区>|<别名>|<0>2、SELSCT 03、SELECT STATUS4、CLOSE DATABASE5、SET RELATION TO [<关键字>|<数值表达式>|RECNO() INTO <别名>] [ADDITIVE6、SET RELATION TO7、CLOSE RELATION8、JOIN WITH <别名> TO <数据库文件名> FOR <条件> [FIELDS<字段名清单>]9、UPPER ON <关键字> FROM <别名> FOR <条件> REPLAVE <字段名1> WITH <表达式1> WITH <字段名1>[,<表达式2> WITH <字段名2,…> ]五、子程序和过程文件1、DO <子程序名> [WITH <参数清单>]2、SET PROCEDURE TO [<过程文件名> [,<过程文件名2>,…]] [ADDITIVE]3、SET PROCEDURE TO4、CLOSE PROCEDURE5、DO <程序名> [IN <文件名>] WITH <参数表>6、PARAMETERS <参数表>7、PUBILC8、PRIVATE六、格式化程序设计1、@<行1,列1>[CLEAR] [TO <行2,列2> [DOUBLE]]2、@<行,列> SAY <表达式>3、@<行,列> [SAY <表达式>] GET <变量> [RANGE <数值1>,<数值2>] [VALID <条件>]4、READ5、SET FORMAT TO <屏幕格式文件>七、数据库的维护1、COPY TO <数据库文件名> [<范围>] [FOR|WHILE <条件>][FIELDS<字段名清单>]2、COPY STRUCTURE TO <数据库文件名> [FIELDS<字段名清单>]3、COPY TO <数据库文件名> STRUCTURE EXTENDED4、CREATE [<数据库名>] FROM <结构描述文件>5、ERASE <文件名>6、DELETE FILE <文件名>7、LIST MEMORY [TO PRINT]8、DISPLAY MEMORY [TO PRINT]9、SAVE TO <内存变量文件名> [ALL LIKE|EXCEPT <内存变量结构>]10、RELEASE [<内存变量清单>][ALL LIKE|EXCEPT <内存变量结构>]11、RESTORE FROM <内存变量文件名> [ADDITIVE]。
Foxbase
FoxBASE数据库∙数据库基础知识∙FOXBASE概况∙返回上层目录∙FOXBASE数据库的基本操作∙索引、查询和统计∙FOXBASE的进一步操作数据库基本知识∙基本概念∙关系数据库数据库出现以前,应用程序的数据是以文件的形式存贮在外存贮器里的。
一定程度上解决了数据的组织管理和共享。
随着人们对处理数据的量和质不断提高,数据文件对应用的依赖性、查询效率之低下和不便维护等缺点就暴露了出来。
而数据库正是为了解决这些问题被提出的。
1.基本概念*数据库管理系统(DBMS)数据库管理系统包括:(1)数据描述语言(DDL)用以定义库结构和用户的建库的命令。
(2)数据库操作语言(DML)包含数据库的基本操作命令和编写应用程序结构所用的程序结构控制命令。
(3)数据库管理例程管理数据库的程序的集合。
*数据库应用程序一般说来,数据库应用程序是一种由DBMS提供的命令集编写的命令序列。
可以在数据库的环境下运行。
*数据库系统数据库系统是由数据库(数据)、数据库管理系统和应用程序组成的。
2.关系数据库*数据模型数据模型是指描述数据库里的相关数据的一种方式。
有层次型(树型)、网型和关系型。
*关系数据库的基本结构关系数据库是按照多元关系定义数据之间的联系的一种数据库。
从关系数据库定义的内涵来说,数据库就是一个建立在n个集合{P}上的n元关系;从定义的i外延来看,可以形象地把一个数据库描述为一张二维的表。
这张表有n列,而行数与数据量(记录的数量)相应。
顶上面一行叫表目,有n个字段名或属性,对应着关系的n个集合;一列中其余表格里的值对应属于它的元素。
除表目行以外的每一行叫做一个元组,是数据库里的一个记录,对应着n元关系中的一个元素(n元组)。
*关系数据库的运算(1)选择运算:在一个数据库中,选择满足给定条件的所有元组,组成一个新的数据库(子关系)的运算。
在选择运算中,新数据库里的每一个元组都是原有数据库中一个完整的元组。
(2)投影运算:在一个数据库中,按一定的次序,选择若干字段。
Foxbase+的基本操作
9
10
键入APPEND,进入全屏幕状态 依次输入每个字段内容 一条记录输完后,再输入下条记录 全部记录输完后,按^W存盘
11
一、修改数据库结构 二、修改数据库记录
12
修改数据库结构
打开数据库YY
.use xsdj.dbf
键入修改结构命令
.modify stru list stru
修改方法与CREATE命令同
13
修 改 数 据 库 记 录
browse
delete
常用 命令
replace insert
edit或chang
ቤተ መጻሕፍቲ ባይዱ
14
15
课件结束
谢谢观看
请多提宝贵意见!
字段名 类型 宽度 小数 ━━━━━━━━━━━━━━ 1
Character
0
0
5
输入字 段 名
字段名 类型 宽度 小数 ━━━━━━━━━━━━━━ 1 姓名 Character 0 0
在此输入 字 段 名
6
输 入 字 段 类 型
字段名 类型 宽度 小数 ━━━━━━━━━━━━━━
1 姓名 Character 0 0
空格键选择 或键入字母
7
输入字 段宽度
字段名 类型 宽度 小数 ━━━━━━━━━━━━━━ 1 姓名 Character 0 8
在此输 入宽度
8
数 值 型 输 入 小 数 位 数
字段名 类型 宽度 小数 ━━━━━━━━━━━━━━ 1 姓名 Character 8 0 2 成绩
Numeric
非数字型 不需输入
5
2
在此输入 小数位数
.use xsdj.dbf list
foxbase系统状态和环境的设置
系统状态和环境的设置一、设置开关状态设置系统开关状态的命令格式为:SET 〈状态参数〉ON|OFF这种形式的SET 设置相当于双向开关,ON为开启状态,OFF为关闭状态。
1、设置字符串精确匹配:SET EXACT OFF|ON系统默认为OFF状态,用“=”对字符串进行比较时,比较到等号右面的字符串结束即终止,如果匹配,则结果为真。
当设置为ON时,被比较的两个字符串必须完全相同。
2、设置删除开关:SET DELETED OFF|ON(1)设置为OFF时,删除标记*失效,被逻辑删除的记录参与其他命令的操作,系统初态默认为OFF(2)设置为ON时,删除标记*生效,操作命令忽略被逻辑删除的记录。
此时,这些记录除占有原记录号之外,如同不存在。
(3)以下两种情况除外:无论SET DELETED 处于何种状态,如果命令中用记录号指定的记录带*号,此记录仍然参加操作。
记录索引和重新索引命令总是包括所有物理上存在的记录。
3、会话开关:SET TALK OFF|ON(1)系统默认为ON,以便在圆点提示符下随时获得命令执行如果。
命令执行结果在屏幕上反馈显示,如变量赋值,排序或索引的记录个数等。
(2)设置为OFF状态时,命令执行结果不在屏幕上反馈显示,为避免命令响应信息干扰正常输出信息,常在程序开关把TALK 设置为OFF,使得程序执行时屏幕界面整洁。
4、携带记录开关:SET CARRY OFF|ON(1)在用APPEND、BROWSE 命令以全屏幕编辑方式向数据库追加记录时,决定是否把最后一个记录的内容复制到新追加的记录中,ON表示复制,当输入的记录有些字段相同或相近时,可以减少数据输入的工作量,OFF为系统默认值,表示不复制。
(2)在用INSERT命令以全屏幕编辑方式向数据库插入记录时,决定是否把当前记录的内容复制到新插入的记录中。
(3)复制的记录并不自动生效,如果对复制的记录不作任何修改而直接按回车键,由于数据库中不应有重复记录,系统不保存该记录。
中文FOXBASE命令集
SET STATUS ON/OFF
控制是/否显示状态行
SET STEP ON/OFF
每当执行完一条命令后,暂停/不暂停程序的执行
SET TALK ON/OFF
是否将命令执行的结果传送到屏幕上
SET TYPEAHEAD TO
设置键盘缓冲区的大小
SET UNIQUE ON/OFF
LIST MEMORY
列出当前内存变量及其值
LIST STATUS
列出当前系统状态和系统参数
LIST STRUCTURE
列出当前使用的数据库的库结构
LOAD
将汇编语言程序从磁盘上调入内存
LOCATE
将记录指针移动到对给定条件为真的记录上
LOOP
跳过循环体内LOOP与ENDDO之间的所有语句,返回到循环体首行
中文FOXBASE命令集
目录
命令
简要说明
?
在下一行显示表达式串
??
在当前行显示表达式串
@...
将数据按用户设定的格式显示在屏幕上或在打印机上打印
ACCEPT
把一个字符串赋给内存变量
APPEND
给数据库文件追加记录
APPEND FROM
从其它库文件将记录添加到数据库文件中
AVERAGE
计算数值表达式的算术平均值
把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。无LOCATE则出错
COPY TO
将使用的数据库文件复制另一个库文件或文本文件
COPY FILE
复制任何类型的文件
COPY STRUCTURE EXTENED TO
当前库文件的结构作为记录,建立一个新的库文件
数据库基础与操作(foxbase)
《数据库基础与操作(FoxBASE)》备课教案目录数据库基础 (1)数据库管理技术的发展 (1)数据库与数据模型 (1)数据库系统 (1)数据库管理系统 (1)数据库应用系统 (2)关系数据库基本概念 (2)关系 (2)关系数据库 (2)三种关系操作 (2)FOXBASE概述 (3)组成、运行环境和安装 (3)启动、退出和使用方式 (3)主要技术参数和文件类型 (3)FOXBASE使用基础 (4)数据类型 (4)常量和变量 (5)运算符和表达式 (6)常用函数 (7)FOXBASE库文件的建立 (10)数据库文件结构的建立 (10)数据库文件的初始记录的输入 (11)数据库文件结构的显示和修改 (11)数据库文件的打开与关闭 (12)打开数据库文件 (12)关闭数据库文件 (12)记录的显示、定位与顺序查询 (12)显示数据库文件的记录 (12)记录的绝对定位 (14)记录的相对定位 (14)记录的顺序查询 (15)记录的增、删、改和全屏幕编辑 (15)增添新记录 (15)记录的删除 (16)记录的修改 (17)记录的全屏幕编辑 (18)记录的排序、索引和索引查询 (19)排序 (19)索引 (20)索引查询 (22)数据记录的统计处理 (22)计数 (22)求和与求平均值 (23)汇总 (23)多数据库文件的操作 (24)工作区的概念 (24)数据库的关联 (25)多数据库的更新 (26)数据库的连接 (27)数据库文件的复制 (27)数据库文件结构的复制 (27)数据库文件的复制 (28)数据库文件和数据文件之间数据的转移 (28)磁盘文件操作命令 (28)将屏幕显示的所有内容存入指定的文本文件 (28)其它常用磁盘操作命令 (29)《数据库基础与操作(FoxBASE)》数据库基础数据库管理技术的发展❒计算机管理数据的三个阶段:手工管理、文件管理和数据库管理1.手工管理方式(又称自由管理方式):这种方式要求用户必须掌握数据在计算机内部的存储地点和方式,才能在程序中使用这些数据。
FoxBASE应用程序中实现有选择地修改字段值
FoxBASE应用程序中实现有选择地修改字段值mS卜5.FoxBASE应用程序中实现有选择地修改字段值弋1,1用FoxBASE编制程序进行数据处理时,几乎都要涉及到记录蕺据的謦改,而在一条记录中,往往字段很多,这些字殷既有需要修改的,也有不需要修改的.如果把一条记录的所有字段统统搬到屏幕上供修改,一方面会增加操作人员的出错率,另一方面降低丁程序的使用效率.为克跟上述同题,可牲先让操作者选择要修改的字段,然后将选中的字段列出来供修改.倒如在做工资表时,本月数据与上月数据有很大一部分是相同的,只有少数几个字段栏且是每月要变的t只要对这几个栏*南道市建筑安装工程总公司226006南遭目的数据进行修改就成丁本月的数据运用上述方法来实现这种功能,效果根好.下面的程序就是具体的实现方法此程序可以任意选择字段,选择的个数灵活,不受限制.程序说明数据文件为DA TABASE.DBT,字段库为ZDK. DBF.zDK.DBF的结掏为,字段戢据类型长度FIELDC自定j:NAME.C自定FLAGCZI5eek(h~dle,1.SEEK—SET)lread(ha.dle,by,32)lfor(il一0,il<16lil十十)for(J2=0’i2<2li2十十)f啦(一O.i3<Bli3十十)ff(g~etbit(by[il*2+【2]}?--i3))rfor(rl0=0Frh<rhslrb十十)for(eb=04cb<chs}cb+十)putpixel(in十(i2-8+i3)*r+rb,yll+il*cbs十cb,cnr)Ix11一x11+16rhs{))retura(xl1)I}LⅡtgethitOmsi~edcharc,intn)return((c》n)8d){)/*屏幕瀑穆函敷?/voidseral[up(unsign~dcharxl,unsignedcharyl1 uninedcharx2,u∞edchary2,un导igIIedcharcolor- unsignedcharI/aes){unmnREGSreglreg.h.ah=6Ileg.h.al=lines;reg.h.ch=xlFrg-h.c1=yl’reg.h.db.=x2,reg.hdl—y2}leg.bh=color;int86(0xl0,&reg,~a-eg)I4使用过程首先在Turboc集成环境下按Ctrl—F9生成MNDY.EXE可执行文件,然后在FoxBASE打印原程序中加凡SETPRINTJIDPR.TXT和RUN MNDY命令,前者加在SETDEVITOPRINT命令之后,后者加在原程序RETURN命令之前.为了提高模拟打印的效果,最好在FoxBASE原程序的前面再加一条SETCONSOFF命令,用以屏蔽掉生成PR. TXT文件时可能产生的打印控稍符号.程序运行时用Pause(Break)链暂停,用Esc键中断模拟打印.程序在Aeer386,AST386等计算机上调试通过,所用汉字库为UCDOS2.1的16点阵字库融曼飘晰新浪潮鬻熏霎誊ZDKDBF中的FIELD字段值必须是DA TABAS—EDBF巾的字段名,否刑修改时在DA TABASE.DBF 中找不到对象(字段).匮为字段选择是在ZDK.DBF 中进行的,而数据修改是在DA TABAsE.DBF中进行,两库之间必颓有这种关系.孚段名取的是字母代号,表达的意思不直观,匮此蚋了一个NAME字段,作为FIELD的汉字说明,选择时是以NAME为对象.FLAG字段为选择标记,其值为★”表示选中,否则表示泼选中.程序清单CLEARSETTALKOFFSETSTA TUSOFFSETSC0REB0ARDOFFUSEZDK&&打开字段库REPLAILFLAGWITH&&选中标记初始化DIMEQ(RECCOUNTO)&&用于判断”造”与不造Q吼F&&赋韧始值,为不选130WHILE.TGoT0P@0,0sA Y.DOWHILE】EOF()@ROW{)+l,l0PROMPTNAME&&把所有宇段名列出来作为菜单,供选择SKIPEDDOMENUTOOFrlONIFOPTION一0&&按Ese健则选择结束XI.r瑚.)IFQ(OPTION)一NOT.Q(OPTION)&&选择开关, 奇数次为选中,偶数敬为连中去除Q(OPTION)&&如果选中,则@OPTION,25SA Y’★.88在屏暮上作选中标记G()OPTIONREPLFLAGWITH★.8&在字段库里怍选中标记ELSE&&如果选中去除,剐@OPTION.25SA Y.&&在屏幕上去障选中标记G()0”I()NREPLFLAGWITH&&击除宇段库里的选中标记ENDIF1FOPTIONRECCOUNT()&&选择后指针向下移一条OPTION1oPTION—OPT10N一1ENDIFENDDOCLEARCOUNTFORFLAG一.★T0NUMBER&&进中的字段十数存在NUMBER变量里1TNUMBER=0&&选择中敦为0则退出USERETUENⅨrGOTOPZD=‘.&&存放选中的字段名@0,0SA YD0WHILE1E0F(1FFLAG一★ZD—ZD+,+TRIM(FTELD)@ROW()+1,10SA YNAME&&连接选中的字段名&&显示宇段名,供修改时对应着看SKIPE’NDDOZD=RIGHT(ZD.LEN(ZD)一1)&&去掉最左端的逗号USEDA TABASE&&打开数据库D[)WHILElEOF(SCA TTERTORWFIELD&2D&&读出选中的宇段内窖@0,0SA YTEMP穹1IX)WHILETEMP<NUMBER@ROW()十】,20GETRW(TEMP)对选中的字段内容进行修改TEMP=TEMP+jENDDOREADGA T}mRFROMRWFIELD8.~ZD&&存盘TF-二.Y&&判断程序流向@24,10SA Y继续修改<Y/N)?GETTFREAD1FUPEER{TF)<>’Y.ENDIF SKTP ENDDO CEEAR 52. CLOSEALL RETU■。
第七部分FOXBASE+程序设计基础
第七部分FOXBASE+程序设计基础一、概述FOXBASE的两种命令方式:单命令执行方式和程序执行方式。
结构化程序设计语言的三大基本结构为顺序结构、分支结构和循环结构。
所有文本编辑软件均可用来建立和编辑命令文件,命令文件的扩展名为“.PRG”,FOXBASE+自身提供一个功能强大的命令文件编辑器,用于新建和编辑命令文件,其命令为:MODIFY COMMAND [文件名] 这是一条全屏幕编辑命令,输入或修改完毕后按CTRL+W(或CTRL+END)键存盘并返回圆点提示,文件的运行命令:DO <命令文件名>。
二、FOXBASE+提供以下三种具有人机对话的交互赋值命令:1、等待语句语句格式:WAIT[<提示信息>]TO<内存变量>该语句等待键盘输入一个字符,并可存入指定的内存变量,程序再继续运行。
功能注释:(1) 输入字符不加定界符,输入后立即执行,无需回车,无论输入何内容均作为字符型数据存储在内存变量。
如果直接回车,内存变量内容则为空字符。
(2) 若不用TO<内存变量>选项,输入的单字符则不保留。
如果语句中省略提示信息,系统默认的提示信息是“键入任意键继续......”。
2、输入字符串语句语句格式:ACCEPT[<提示信息>]TO<内存变量>执行该语句时,暂停程序的运行,显示语句中的提示信息,等待用户键入数据。
系统将接受的输入作为字符串存入指定的内存变量,程序继续运行。
功能注释:(1)系统将用户的输入一律作为字符串,输入时不必加定界符,以回车结束输入。
(2)输入字符串的长度不能超过254个字符(127个汉字)。
3、输入表达式语句语句格式:INPUT[<提示信息>]TO<内存变量>该语句等待键盘输入,将用户输入的内容作为表达式存入指定的内存变量,程序继续运行。
功能注释:(1)用户输入的数据可以是数值型、逻辑型、日期型或字符型,以回车结束输入。
数据库应用基础-FoxBASE+课程设计
数据库应用基础-FoxBASE+课程设计1. 背景介绍如今,数据库的应用已经越来越广泛,人们在生活和工作中经常会使用数据库。
在这种情况下,人们希望能够掌握基本的数据库应用知识,以方便自己在使用数据库时能够更加高效地完成工作。
因此,今天我们将会介绍一门基础的数据库应用课程-FoxBASE+。
2. FoxBASE+简介FoxBASE+ 是一个关系数据库管理系统(RDBMS),这是基于命令行的软件。
它使用 SQL (Structured Query Language) 查询语言,报告生成以及处理数据的管理工具。
FoxBASE+ 是一种高效的数据库管理系统,特别适用于管理数据的软件开发。
3. 数据库应用基础-FoxBASE+课程设计为了更好的掌握FoxBASE+数据库的应用,我们可以进行以下的课程设计来进一步学习。
3.1 数据库设计首先,我们要进行数据库的设计,包括以下步骤:•选择合适的数据库软件•设计数据表结构•建立数据表之间的关系在 FoxBASE+ 中,我们可以通过创建表来构建我们的数据库,SQL 语句可以帮助我们描述每个表的结构,如下所示:CREATE TABLE tableName (column1 datatype,column2 datatype,column3 datatype,...);我们需要根据实际需求创建相应的列,例如:CREATE TABLE Customers (CustomerID int PRIMARY KEY,CustomerName varchar(255) NOT NULL,ContactName varchar(255),Country varchar(255));3.2 数据录入其次,我们可以通过 SQL 语句或通过 FoxBASE+ 提供的表格界面进行数据录入。
以下是一个实例,用于向 Customers 表中插入数据:INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country) VALUES (1, 'Alfreds Futterkiste', 'Maria Anders', 'Germany');3.3 搜索和排序从数据库中检索数据是最基本的任务之一。
foxbase命令
Foxbase+数据库命令集目前,尽管不少老师都在使用Foxpro数据库软件处理数据,但是,我们曾经使用过的Foxbase +数据库命令以其灵活、独到的特点仍然让我们爱不释手。
为了帮助大家系统地掌握Foxbase+数据库命令,本人收集整理成文如下:在下一行显示表达式串在当前行显示表达式串@... 将数据按用户设定的格式显示在屏幕上或在打印机上打印ACCEPT 把一个字符串赋给内存变量APPEND 给数据库文件追加记录APPEND FROM 从其它库文件将记录添加到数据库文件中AVERAGE 计算数值表达式的算术平均值BROWSE 全屏幕显示和编辑数据库记录CALL 运行内存中的二进制文件CANCEL 终止程序执行,返回圆点提示符CASE 在多重选择语句中,指定一个条件CHANGE 对数据库中的指定字段和记录进行编辑CLEAR 清洁屏幕,将光标移动到屏幕左上角CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量CLEAR MEMORY 清除当前所有内存变量CLEAR PROGRAM 清除程序缓冲区CLEAR TYPEAHEAD 清除键盘缓冲区CLOSE 关闭指定类型文件CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。
无LOCATE则出错COPY TO 将使用的数据库文件复制另一个库文件或文本文件COPY FILE 复制任何类型的文件COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中COUNT 计算给定范围内指定记录的个数CREATE 定义一个新数据库文件结构并将其登记到目录中CREATE FROM 根据库结构文件建立一个新的库文件CREATE LABEL 建立并编辑一个标签格式文件CREATE REPORT 建立宾编辑一个报表格式文件DELETE 给指定的记录加上删除标记DELETE FILE 删除一个未打开的文件DIMENSION 定义内存变量数组DIR 或DIRECTORY 列出指定磁盘上的文件目录DISPLAY 显示一个打开的库文件的记录和字段DISPLAY FILES 查阅磁盘上的文件DISPLAY HISTORY 查阅执行过的命令DISPLAY MEMORY 分页显示当前的内存变量DISPLAY STATUS 显示系统状态和系统参数DISPLAY STRUCTURE 显示当前书库文件的结构DO 执行FoxBase程序DO CASE 程序中多重判断开始的标志DO WHILE 程序中一个循环开始的标志EDIT 编辑数据库字段的内容EJECT 使打印机换页的命令,将PROW()函数和PCOL()函数值置为0ELSE 在IF...ENDIF结构中提供另一个条件选择路线ENDCASE 终止多重判断ENDDO 程序中一个循环体结束的标志ENDIF 判断体IF...ENDIF结构结束标志ERASE 从目录中删除指定文件EXIT 在循环体内执行退出循环的命令FIND 将记录指针移动到第一个含有与给定字符串一致的索引关键字的记录上FLUSH 清除所有的磁盘存取缓冲区GATHER FROM 将数组元素的值赋予数据库的当前记录中GO/GOTO 将记录指针移动到指定的记录号HELP 激活帮助菜单,解释FoxBASE+的命令IF 在IF...ENDIF 结构中指定判断条件INDEX 根据指定的关键词生成索引文件INPUT 接受键盘键入的一个表达式并赋予指定的内存变量INSERT 在指定的位置插入一个记录JOIN 从两个数据库文件中把指定的记录和字段组合成另一个库文件KEYBOARD 将字符串填入键盘缓冲区LABEL FROM 用指定的标签格式文件打印标签LIST 列出数据库文件的记录和字段LIST FILES 列出磁盘当前目录下的文件LIST HISTORY 列出执行过的命令LIST MEMORY 列出当前内存变量及其值LIST STATUS 列出当前系统状态和系统参数LIST STRUCTURE 列出当前使用的数据库的库结构LOAD 将汇编语言程序从磁盘上调入内存LOCATE 将记录指针移动到对给定条件为真的记录上LOOP 跳过循环体内LOOP与ENDDO之间的所有语句,返回到循环体首行MENU TO 激活一组@...PROMPT命令定义的菜单MODIFY COMMAND 进入FoxBASE+系统果指定文件名以.PRG为后缀,则编辑一个的字处理状态,并编辑一个ASCII码文本文件(如FoxBASE+命令文件)MODIFY FILE 编辑一个一般的ASCII码文本文件MODIFY LABEL 建立并编辑一个标签(.LBL)文件MODIFY REPORT 建立并编辑一个报表格式文件(.FRM)文件MODIFY STRUCTURE 修改当前使用的库文件结构NOTE/* 在命令文件(程序)中插入以行注释(本行不被执行)ON 根据指定条件转移程序执行OTHERWISE 在多重判断(DO CASE)中指定除给定条件外的其它情况PACK 彻底删除加有删除标记的记录PARAMETERS 指定子过程接受主过程传递来的参数所存放的内存变量PRIVATE 定义内存变量的属性为局部性质PROCEDURE 一个子过程开始的标志PUBLIC 定义内存变量为全局性质QUIT 关闭所有文件并退出FoxBASE+READ 激活GET语句,并正是接受在GET语句中输入的数据RECALL 恢复用DELETE加上删除标记的记录REINDEX 重新建立正在使用的原有索引文件RELEASE 清楚当前内存变量和汇编语言子程序RENAME 修改文件名REPLACE 用指定的数据替换数据库字段中原有的内容REPORT FORM 显示数据报表RESTORE FROM 从内存变量文件(.MEM)中恢复内存变量RESTORE SCREEN 装载原来存储过的屏幕映象RESUME 使暂停的程序从暂停的断点继续执行RETRY 从当前执行的子程序返回调用程序,并从原调用行重新执行RETURN 结束子程序,返回调用程序RUN/!在FoxBASE+中执行一个操作系统程序SAVE TO 把当前内存变量及其值存入指定的磁盘文件(.MEM)SAVE SCREEN 将当前屏幕显示内容存储在指定的内存变量中SCATTER 将当前数据库文件中的数据移到指定的数组中SEEK 将记录指针移到第一个含有与指定表达式相符的索引关键字的记录 SELECT 选择一个工作区SET 设置FoxBASE+控制参数SET ALTERNATE ON/OFF 设置传送/不传送输出到一个文件中SET ALTERNATE TO 建立一个存放输出的文件SET BELL ON/OFF 设置输入数据时响铃/不响铃SET CARRY ON/OFF 设置最后一个记录复制/不复制到添加的记录中SET CENTURY ON/OFF 设置日期型变量要/不要世纪前缀SET CLEAR ON/OFF 设置屏幕信息能/不能被清除SET COLOR ON/OFF 设置彩色/单色显示SET COLOR TO 设置屏幕显示色彩SET CONFIRM ON/OFF 设置在全屏幕编辑方式中,要求/不要求自动跳到下一个字段SET CONSOLE ON/OFF 设置将输出传送/不传送到屏幕SET DATE 设置日期表达式的格式SET DEBUG ON/OFF 设置传送/不传送ECHO的输出到打印机上SET DECIMALS TO 设置计算结果需要显示的小数位数SET DEFAULT TO 设置默认的驱动器SET DELETED ON/OFF 设置隐藏/显示有删除标记的记录SET DELIMITER TO 为全屏幕显示字段和变量设置定界符SET DELIMITER ON/OFF 选择可选的定界符SET DEVICE TO SCREEN/PRINT 将@...SAY命令的结果传送到屏幕/打印机SET DOHISTORY ON/OFF 设置存/不存命令文件中的命令到历史记录中SET ECHO ON/OFF 命令行回送到屏幕或打印机SET ESCAPE ON/OFF 允许ESCAPE退出/继续命令文件的执行SET EXACT ON/OFF 在字符串的比较中,要求/不要求准确一致SET EXACLUSIVE ON/OFF 设置数据库文件的共享SET FIELDS ON/OFF 设置当前打开的数据库中部分/全部字段为可用SET FIELDS TO 指定打开的数据库中可被访问的字段SET FILTER TO 在操作中将数据库中所有不满足给定条件的记录排除SET FIXED ON/OFF 固定/不固定显示的小数位数SET FORMAT TO 打开指定的格式文件SET FUNCTION 设置F1-F9功能键值SET HEADING ON/OFF 设置LIST或DISPLAY时,显示/不显示字段名SET HELP ON/OFF 确定在出现错误时,是否给用户提示SET HISTORY ON/OFF 决定是/否把命令存储起来以便重新调用SET HISTORY TO 决定显示历史命令的数目SET INDEX TO 打开指定的索引文件SET INTENSITY ON/OFF 对全屏幕操作实行/不实行反转显示SET MARGIN TO 设置打印机左页边SET MEMOWIDTH TO 定义备注型字段输出宽度和REPORT命令隐含宽度SET MENU ON/OFF 确定在全屏幕操作中是否显示菜单SET MESSAGE TO 定义菜单中屏幕底行显示的字符串SET ODOMETER TO 改变TALK命令响应间隔时间SET ORDER TO 指定索引文件列表中的索引文件SET PATH TO 为文件检索指定路径SET PRINT ON/OFF 传送/不传送输出数据到打印机SET PRINTER TO 把打印的数据输送到另一种设备或一个文件中SET PROCEDURE TO 打开指定的过程文件SET RELATION TO 根据一个关键字表达式连接两个数据库文件SET SAFETY ON/OFF 设置保护,在重写文件时提示用户确认SET SCOREBORAD ON/OFF 设置是/否在屏幕的第0行上显示FoxBASE+的状态信息SET STATUS ON/OFF 控制是/否显示状态行SET STEP ON/OFF 每当执行完一条命令后,暂停/不暂停程序的执行SET TALK ON/OFF 是否将命令执行的结果传送到屏幕上SET TYPEAHEAD TO 设置键盘缓冲区的大小SET UNIQUE ON/OFF 在索引文件中出现相同关键字的第一个/所有记录SKIP 以当前记录指针为准,前后移动指针SORT TO 根据数据库文件的一个字段或多个字段产生一个排序的哭文件STORE 赋值语句SUM 计算并显示数据库记录的一个表达式在某范围内的和SUSPEND 暂停(挂起)程序的执行TEXT...ENDTEXT 在屏幕上当前光标位置显示...的文本数据块TOTAL TO 对预先已排序的文件产生一个具有总计的摘要文件TYPE 显示ASCII码文件的内容UNLOCK 解除当前库文件对记录和文件的加锁操作UPDATE 允许对一个数据库进行成批修改USE 带文件名的USE命件令打开这个数据库文件。
FOXBASE中下拉式菜单的简单实现
FOXBASE中下拉式菜单的简单实现
彭光前
【期刊名称】《计算机应用研究》
【年(卷),期】1991(008)005
【摘要】“下拉式”菜单由于具有简单明了、新颖直观的特点,受到软件开发者的普遍欢迎。
其实现方法在不少报刊中部有介绍,且大多采用INKEY()函数取得光标键值来编程。
其实,对拥有FOXBASE的用户,可用FOXBASE中的四条在一些书藉中末介绍的命令,可以方便地编写“下拉式”菜单功能选择程序。
【总页数】3页(P31-33)
【作者】彭光前
【作者单位】无
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.FOXBASE中实现下拉式三级菜单 [J], 傅险峰
2.FOXBASE中实现下拉式三级菜单 [J], 傅险峰
3.在FOXBASE+中建立下拉式和上弹式菜单 [J], 罗劲光
4.在汉化FoxBase中实现下拉式菜单的一种方法 [J], 金海;谢卫
5.在FOXBASE+中建立上弹式菜单和下拉式菜单 [J], 翟瑞娟
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FOXBASE简明教程基本概概念一、信息、数据与数据处理1 数据与信息为了记载、传送、处理信息,人们使用各种各样的物理符号来表示信息,这些符号及其组合就是数据。
2 数据处理数据处理就是对原始数据的综合加工以导出结果数据(信息)的过程。
/二、数据库与数据库系统1 数据库(Data Base)数据库是存储在计算机外部存储器上逻辑相关文件的集合。
2 数据库管理系统(DBMS)数据库管理系统是指帮助用户建立、使用和管理数据库的软件系统,简称DBMS(Data Base Management System)。
DBMS通常由以下三部分组成:(1)数据描述语言(DDL)用来描述数据库的结构,供用户建立数据库;(2)数据操作语言(DML)供用户对数据库进行数据查询、统计、存储、维护、输出等操作;(3)其它管理程序和控制程序,用于公用管理。
3、数据库系统数据库系统是指采用了数据库技术的完整的计算机系统,简称DBS(Data Base System)。
它主要包括:计算机的硬件系统、软件系统、数据和用户等四部分。
4 关系数据库的三种基本操作(1)、选择操作(Selection)(2)、投影(Projection)(3)、连接(Join)/三、数据模型数据库是以一定的组织方式存储在一起的、共享的、独立于应用程序的、相互关联的数据的集合。
这个集合的组织形式称为数据模型,它决定了数据库中数据之间联系的表达方式。
1 层次模型2 网络模型3 关系模型/四.FoxBASE关系数据库管理系统FoxBASE是美国FoxSoftware公司继Ashton-Tate公司的dBASE系列之后,陆续推出的Fox系列DBMS。
现在国内使用的中西文FoxBASE,是根据西文的多用户版本汉化开发而成的,也有2.00和2.10两种版本。
1 FoxBASE的主要特点(1)FoxBASE和dBASEⅢplus完全兼容。
(2)具有很快的运行速度。
(3)FoxBASE用C语言开发,易于移植和推广。
(4)提供多种运行方式,即可在交互方式下运行,也可在程序方式下运行。
2 FoxBASE的组成与运行环境(1) FoxBASE系统组成1)MFOXPLUS.EXE该文件是主要运行文件之一,其作用是解释并执行FoxBASE的最常用命令。
2)MFOXPLUS.OVL该文件也是主要运行文件之一,其作用是解释并执行FoxBASE 的其它不常用命令。
以上两个文件是运行FoxBASE的必备文件。
3)FOXHELP.HLP该文件是帮助用户学习和使用FoxBASE的。
4)FOXBIND.EXE该文件是将若干个命令文件装配成一个过程文件。
5)该文件是将用FoxBASE语言编成的源程序翻译成可执行的目标程序。
(2)、FoxBASE的运行环境1)硬件环境·FoxBASE可以在IBMPC/XT以上微机及其兼容机上运行,或在V AX小型机上运行。
·至少要求360K内存空间,内存越大,运行速度越快。
2)软件环境·DOS操作系统3.10版以上,或UNIX、XENIX操作系统。
·任何一种汉字操作系统。
/五、FoxBASE的文件类型与主要性能指标1、FoxBASE的文件类型在汉字FoxBASE系统中文件的类型是以扩展名来区分的,共定义了11种类型的文件。
其中,命令文件(.PRG)、内存文件(.MEM)、文本文件(.TXT)是独立的,而其它各类文件是由库文件(.DBF)派生出来的。
2、FoxBASE的主要性能指标(1)、与数据库文件有关的技术参数1)一个数据库文件中可容纳的记录数10亿个2)一个数据库文件中可容纳的总字节数20亿个3)一个记录中可容纳的字段数128个4)一个记录中可容纳的字节数4000个(2)、与文件操作有关的技术参数1)可同时打开的不同类型的文件数48个2)可同时打开的不同数据库文件数10个?FOXBASE的语言规则/一.FoxBASE的数据类型及表示1.基本数据类型(1)字符型:用C表示。
(2)数值型:用N表示。
(3)逻辑型:用L表示。
(4)日期型:用D表示。
(5)备注型:用M表示。
(6)屏幕型:用S表示。
2.常数与变量(1)常数1)字符型常数2)数字型常数3)逻辑型常数4)日期型常数(2)、变量FoxBASE的变量有字段变量和内存变量两种。
1)字段变量字段变量也叫字段名变量。
2)内存变量内存变量是一种独立于数据库文件而存在的变量。
3)内存变量值所有的内存变量只有在赋值后才能使用。
FoxBASE提供了两种为内存变量赋值的方法:一种是通过"TO〈内存变量〉"子句的命令建立,另一种是赋值命令将数据赋于内存变量。
其格式为:格式①:STORE 表达式TO 内存变量表格式②:内存变量=表达式4)内存变量值的输出内存变量的值可以通过下列两种形式来显示:?/?? 表达式/二.FoxBASE表达式FoxBASE提供了四种类型的表达式,分别是算术表达式、字符表达式、关系表达式和逻辑表达式等。
1、运算符FoxBASE提供了算术运算符、字串运算符、关系运算符和逻辑运算符四类。
2、表达式表达式是由同类型的各种数据,如常数、变量、函数通过各种运算符联结起来具有一定意义的式子。
(1)数值表达式:(2)字符表达式:(3)关系表达式:(4)逻辑表达式:/三.FoxBASE函数及应用所谓函数,就是针对一些常见问题预先编好的一系列子程序,当应用时遇到此类问题就可以调用相应的函数,也就是执行相应的函数子程序。
函数的一般形式是:函数名(自变量表)其中函数名是系统规定的,自变量表可以是一个变量或多个自变量,也可以为空,即:函数名(),此时函数名后面的一对圆括号不能省略。
1、数值运算函数(1)、求绝对值函数ABS格式:ABS(〈数值表达式〉)(2)、求整函数INT格式:INT(〈数值表达式〉)(3)、四舍五入函数ROUND格式:ROUND(〈数值表达式1〉,〈数值表达式2〉)功能:按〈数值表达式2〉指定的位数对〈数值表达式1〉的数值进行四舍五入。
(4)、指数函数EXP格式:EXP(〈数值表达式〉)(5)、自然对数函数LOG格式:LOG(〈数值表达式〉)(6)、平方根函数SQRT格式:SQRT(〈数值表达式〉)(7)、取余函数MOD(或称求模函数)格式:MOD(〈数值表达式1〉, 〈数值表达式2〉)功能:取〈数值表达式1〉除以〈数值表达式2〉的余数。
(8)、求最大值函数MAX格式:MAX(〈表达式1〉,〈表达式2〉)功能:求〈表达式1〉和〈表达式2〉中的大者。
(9)、求最小值函数MIN格式:MIN(〈表达式1〉,〈表达式2〉)2、字符操作函数(1)、判子字符串函数AT格式:A T(〈字符表达式1〉,〈字符表达式2〉)功能:求子串位置函数,给出〈字符表达式1〉在〈字符表达式2〉的起始位置数值。
(2)、求子串函数SUB格式:SUBSTR〈字符表达式〉,〈起始位置〉[,〈字符个数〉]功能:函数在〈字符表达式〉的字符串中,由〈起始位置〉开始取出〈字符个数〉所指定的字符。
(3)、取左子串函数LEFT格式:LEFT(〈字符表达式〉,〈数值表达式〉)功能:从〈字符表达式〉的字符串的最左边字符开始,返回该字符串的一个子串。
(4)、取右子串函数RIGHT格式:RIGHT(〈字符表达式〉,〈数值表达式〉)(5)、取消前部空格函数LTRIM格式:LTRIM(〈字符表达式〉)(6)、取消尾部空格函数RTRIM和TRIM格式:RTRIM/TRIM(〈字符表达式〉)(7)、宏代换函数&格式:&<数值型表达式>[、](8)、构造空格串函数SPACE格式:SPACE(〈数值表达式〉)3、日期和时间函数(1)、求系统日期函数DA TE格式:DATE()(2)、求系统时间函数TIME格式:TIME()(3)、求日期中的日子函数DAY格式:DAY(〈日期表达式〉)(4)、求月份数MONTH格式:MONTH(〈日期表达式〉)(5)、求年份函数YEAR格式:YEAR(〈日期表达式〉)(6)、求星期函数DOW格式:DOW(〈日期表达式〉)4、转换函数(1)、大写字母转换为小写函数LOWER格式:LOWER(〈字符表达式〉)(2)、小写字母转换为大写函数UPPER格式:UPPER(〈字符表达式〉)(3)、字符转换为数值函数V AL格式:V AL(〈字符表达式〉)(4)、数值转换为字符函数STR格式:STR(〈数值表达式〉[,〈长度〉][,〈小数位数〉]) (5)、字符转换为日期函数CTOD格式:CTOD(〈字符表达式〉)(6)、日期转换为字符函数DTOC格式:DTOC(〈日期表达式〉[,1])(7)、ASCII码值转换为字符函数CHR格式:CHR(〈数值表达式〉)(8)、字符转换成ASCII码值函数ASC格式:ASC(〈字符表达式〉)5、测试函数(1)、字符串长度测试函数LEN格式:LEN([字符型表达式])(2)、数据类型测试函数TYPE格式:TYPE(〈字符型表达式〉)(3)、文件测试函数FILE格式:FILE(〈文件名〉)(4)、文件结束测试函数EOF格式:EOF([数值型表达式])(5)、文件起始测试函数BOF格式:BOF([数值型表达式])(6)、检索测试函数FOUND格式:FOUND([数值型表达式])(7)、记录删除测试函数DELETE格式:DELETE([数值型表达式])(8)、记录号测试函数RECNO格式:RECNO([数值型表达式])(9)、记录测试函数RECOUNT格式:RECOUNT([数值型表达式])(10)、记录大小测试函数RECSIZE格式:RECSIZE[数值型表达式])(11)、库文件名测试函数DBF格式:DBF([数值型表达式])(12)、字段数测试函数FCOUNT格式:FCOUNT[数值型表达式])(13)、字段名测试函数FIELD格式:FIELD(〈数值型表达式1〉[,〈数值型表达式2〉]) (14)、索引文件函数NDX格式:NDX([数值型表达式])(15)、当前工作区测试函数SELECT格式:SELECT( )/四.FoxBASE的命令结构及运行方式1、命令的分类FoxBASE命令从使用方式上分为两大类:(1)交互命令即在圆点方式下能够立即执行的命令;(2)程序命令只能在程序中以规定的结构形式出现的命令。
2、命令结构FoxBASE命令的一般结构为:命令动词短语表在FoxBASE命令中,有许多是对数据文件记录进行操作的命令,其基本结构格式如下:命令动词[〈范围〉][FIELDS〈字段名表〉][FOR/WHILE〈条件〉][TO PRINT]命令格式中的符号约定如下:[]:可选参数表示符。
〈〉:必须参数表示符。
常用的短语有下列三个:(1)范围①ALL全部记录②NEXT N 从当前记录开始的连续N个记录(包括当前记录在内)。