1第一章visualfoxpro数据库管理系统软件操作环境实验一:visualfoxpro集成环境及项目管理(一)、实验内容:一、VFP的启动与退出基本了解了VFP的工作环境以及使用VFP时的启动与退出。二、工具栏VFP提供了11种工具栏。其打开与关闭有两种方法。工具栏中的工具为编辑程序提供了很大的方便。三、命令窗口1、命令窗口是一个浮动型窗口,其打开和关闭有多种方法。2、命令窗口是用来输入命令从而实现编程目的的重要窗口。3、在命令窗口中输入命令后按下回车键便可执行所输入的命令。4、以*、&&开头的命令是注释处理部分。5、通过对命令窗口的学习,简单了解了下一些命令:如1+2+3与”1”+”2”+”3”所达到的目的是不一样的。CLEAR是用于清除VFP主窗口中等所有显示信息。6、在命令窗口中还可以实现对windows中的应用程序的调用,如运行计算器的命令是:RUN/NCALC。7、在VFP中重复执行命令是很方便的,只需要选中所需再次执行的命令,按下回车即可,当然还有好几种方式。四、选项对话框选项对话框是用于对VFP工作环境的设置,对话框中有很多的选项卡,可用于各种要求的设置。五、创建项目文件1、项目文件保存时需要使用拓展名PJX(相关的备注文件PJT)。2、对于文件的保存也可以在命令窗口中实现。例如需将“d:\vfp\实验01”设置成当前文件夹,只需输入“SETDEFZULTTOd:\vfp\实验01”再按下回车即可。3、保存文件时项目文件名为jxgl。4、根据实验课本的讲解操作,简单了解了下项目管理器和选项卡,以及利用项目管理器进行添加文件,移去文件。(二)问题与收获问题:1、对于项目文件的打开,不知道如何打开多个项目文件。2、对于命令列表中以前执行的命令的清除工作不是很了解。收获:利用选项卡进行VFP操作环境设置时,结束并确认已做设置的操作有三种,但是三种操作方式是有区别的。1)、单击对话框中出现的确定按钮:这是对设置的暂时性储存,只会在本次使用VFP程序的时候实现。2)、单击对话框中出现等设置为默认值:这是对设置的永久性保存,系统以后被使用时都将自动存储该默认设置。3)、单击对话框中的确定按钮的同时按SHIFT键。这种操作方式在保存设置的同时,在命令窗口中自动生成了注释。2第二章visualfoxpro编程初步实验二:常量,变量,函数和表达式的使用(一)实验内容:一、常量的表示1、数值常量的表示中,需要注意的是:系统有默认的长度限制,超过限制的部分按四舍五入法,后面数字全部为0。(当数据位数太多时,最多存储、显示20位)2、字符型常量的界限符可以是单引号、双引号、方括号;3、逻辑型常量只有两个显示结果:.T.、.F.、逻辑常量中的字母大小写是等价的。4、日期时间常量的便是方法很多,可以通过SETSTRICTDATETO的形式,实现不同形式的输出。二、变量的赋值1、简单变量。访问方式有三种。可用TYPE测试变量的数据类型。对多个变量赋同一值时,可以使用STOREATOB,C。2、数组赋值之前需要声明,DIMENSIONabc[3],需要注意的是,这里的数组与C语言中不同,下标不是从0开始的。各元素的初始值为.F.,数组的值等于第一个元素的值,给整个数组赋值即相当于给数组中所有的元素赋这个值。3、二维数组中即使维数不同,对已存在的数组再次定义,原数组元素的值也会被继承。三、常用函数1、数值函数ABS()是求绝对值,MAX()是求最大值。需要注意的是:在拼音方式中,字符a小于A,但是在机内码表示中,a是大于A的。另外,不同数据类型不能进行比较。Int是取整函数,MOD()函数是用于返回余数,值得注意的是除数为负数的情况,被除数表达式中的小数位数决定了返回值中的小数位;除数表达式的正负决定了返回值的正负。ROUND()函数是返回圆整到指定小数位数的数值,需要四舍五入。RAND()函数是随机产生一个0~1的数值,小数位数可以通过SETDECIMALSTO来确定。2、字符函数。ALLTRIM()函数是截除字符串的前后空格,TRIM()是截除字符串末尾的空格,LEN()是计算字符串的长度,汉字算两个字符,AT()函数是用于确定字符串首次出现的位置,SUBSTR()是取子字符串,要注意汉字的取法,不能去半个汉字,并且使用输入法时一定要在英文状态下输入各个符号,否则运行出错。SPACE()可用于设置所需要的空格。3、日期时间函数。SETDATETO可以设置不同的时间输出类型,DATE(),TIME()等均是输出当前系统的时间,另外DOW()用于显示一个星期中的第几天,DAY()MOUTH()YEAR()分别用于显示日月年。4、数据类型转换函数。ASC()函数是求首字符的ASCII码值,对于汉字字符,则显示其机内码的十进制数表示。CHR()与ASC()相反,是通过ASCII码值求的对应的字符。VAL()函数是将字符型转换成数值型,并且可以通过SETDECITO设置显示的有效小数位数,值得注意的是A+B是单纯的字符相加,而VAL(A)+VAL(B)就是数值的相加。对于不能识别的内容,则输出0.00。DTOC()函数是将日期型转换成字符型,同样可以有多种输出形式,CTOD()与DTOC()相反,是将字符型转换成日期型,STR()则是将数值型转换成字符型。5、其他常用函数。BETWEEN()函数是判断第一个数是否在第二个数和第三个数之间,同样需要注意的是在机内码条件和在拼音条件下,有些字符的大小是不同的,3四、表达式(二)问题与收获:问题:1、对于逻辑型常量,如果我想要输出小写字母,或者是Y.N的形式,该如何表示。2、SETSTRICTDATETO0是指不需要进行严格的日期时间检查,但是电脑输出的是两个斜杠,没有日期显示。3、数组的输出形式很奇怪,不怎么看得懂。4、SAMPLE[2,2]与SAMPLE[5]等价,WHY??5、DATETIME()是用于显示当前系统的日期和时间,但是电脑显示不出来。收获1、了解了很多不同数值之间的转换关系。2、实验过程中,输入命令时出现了些低级的但是很容易被忽略的错误,提醒自己下次注意。3、对于很多表达式,只是见过,却不知如何使用,在实验中也得到了解答。4第三章数据库与表的创建和使用实验三数据库与表的创建(一)实验内容:一、数据库的创建创建数据库会同时出现三个文件,文件扩展名分别为:dbc,dct,dcx。二、数据库的打开与关闭CLOSEDATABASE和OPENDATABASE分别用于关闭和打开数据库,后面可以跟数据库文件名。三、创建数据库表1、使用表设计器创建表。数据库表的扩展属性的修改与删除可以在表设计器中进行,也可以用命令进行。2、利用CREATETABLESQL命令创建表结构。在命令窗口中,输入并执行CREATETABLEcj。并且可以设置CJ表的字段以及字段类型,宽度等。四、修改表结构1、利用表设计器修改表结构。修改表结构之后,工作文件夹中有一个名为kc.bak的备份文件,在需要时,可以将备份文件改名以找回修改前的文件。2、利用ALTERTABLE-SQL命令修改表结构。在命令窗口中输入:ALTERTABLEtjbADDCOLUMNtzN(3)是添加一个字段。同样也可以通过其他命令进行删除、改名、改写宽度的操作。五、表的打开与关闭表的打开与关闭可以在命令窗口中直接输入CLOSETABLES和USEJS等命令。六、数据库与表之间的关系操作1、数据库中表的移进和移出操作。移出的表文件人在存在,只不过是不属于原来的数据库了,而是变成了自由表。2、检验一个表只能属于一个数据库。对于已经在一个数据库下的表文件,如果再进行操作将他添加到另外的数据库下时,会出现:不能加入这个表的提示窗口。3、表与数据库的打开、关闭时的相互影响。利用DBUSED()命令测试数据库是否已打开。七、有关数据库和表操作的常用函数常用函数有SELECTUSEDALIASFIELDFCOUNT等。(二)问题1、WINDOWS资源管理器不知道在哪里查看。2、第六个实验中,有一个命令CLOSEDATABASEsjk输入命令窗口后执行时弹出对话框“含不能识别的短语或关键字”。WHY?5实验四、表数据的处理(一)实验内容:一、表的浏览、字段筛选和记录筛选。1、通过界面操作。直接通过项目管理器窗口中选择所需浏览的表,点击浏览命令按钮即可。对于字段和记录的筛选,再工作区属性中进行设置。其中需要注意的是字段的筛选设置完成后,需要重新打开浏览,才可以看到筛选的结果。2、通过命令操作。运用BROWSE命令,在命令窗口中进行筛选。二、表记录的输入。1、在表的浏览窗口中输入记录。可以在浏览表中进行追加,直接添加在表中。还可以通过命令窗口,运用ALTERTABLEjsADDCOLUMNzpG,直接为JS表增加一个通用性字段zp。也可以通过插入对象现象卡进行编辑。2、利用INSERT-SQL命令追加记录。3、利用APPENDFROM命令追加记录。三、表记录的修改。1、利用UPDATE命令修改表的数据。在命令窗口中,通过UPDATE命令,修改表中的数据。2、利用REPLACE命令修改表的数据。在命令窗口中,通过REPLACE命令设置对当前记录或者对所有记录进行修改。在项目管理器中,还有替换工具,同样可以快速方便的修改表记录中的数据。四、表记录的删除。表记录的删除分两步完成,第一步时给需要删除的记录设置删除标记,第二步时给设有删除标记的记录进行彻底删除。设置删除标记有三种方法。1、在浏览窗口中直接设置删除标记。这种方法就是直接手动查找,通过单击设置标记。2、利用DELETE-SQL命令设置删除标记。通过DELETEFROMjsWHERExdh=’01’.命令设置删除标记。3、利用DELETE命令设置删除标记。通过命令窗口进行设置。4、对带有删除标记的记录的访问。5、恢复记录。通过项目管理器的浏览窗口,直接单击删除标记列,时删除标记取消。还可以在表中恢复记录。同样,也可以通过命令窗口,RECALLALL,恢复所有记录。6、彻底删除记录。可以通过项目管理器中彻底删除按钮,也可以通过命令窗口中,输入DELETE命令,彻底删除。五、防止表数据被修改。在打开表的时候以只读方式打开。在命令窗口中输入:USEXSNOUPDATE,这样,如果有删除、添加、修改等操作时,便会出现:不能更新临时表的窗口。六、数据的复制在命令窗口中输入:COPYTOXS01FORXB=’女’,这样就能将性别为女的记录复制到表XS01中。(二)问题1、在第二个实验中,输入命令INSERTINTOJS(GH,XM,XB,CSRQ,JL);VALUE(‘020205’,’高一兵’,’男’,…)显示语法错误。2、第二个实验中,APPENDFROMJSB显示JSB文件不存在。3、第四个实验中,对带有删除标记的访问,究竟能不能忽略有标记的记录。6实验五、表记录的定位与表索引的建立和使用(一)实验内容:一、表记录的定位1、利用界面操作。浏览表中内容时,可以对表中调整指针指向的记录,通过菜单中表——转到记录——下一个、上一个等等进行调整。需要注意的是,定位记录是定位到第一条符合条件的记录。2、利用命令操作。命令SKIP是用来调整移动记录的条数,如果SKIP后面没有数据,则是移动到下一条,命令RECNO是用于显示现在所指向的记录的位置,GOTO语句是将指针直接指向所需要在的位置,BOF是用于查看当前记录是否指向头指针,EOF是用于查看当前记录是否指向文件尾。调整指针所指位置时,不可以超出范围,否则出现错误提示框。二、创建表的结构复合索引1、利用表设计器创建结构复合索引。文件夹中可以看出,创建索引后系统自动地生成了索引文件GZB.CDX。2、利用INDEX命令创建结构复合索引。命令格式:INDEXONXHTAGXHCANDIDATE。3、利用ALTER-SQL命令创建结构复合索引。三、结构复合索引的修改与删除四、索引的使用1、利用界面操作使用索引。菜单中表,属性可以设置索引顺序。2、利用命令使用索引。命令格式:US