(2)数据库实验
- 格式:doc
- 大小:572.00 KB
- 文档页数:17
实验一表的创建1.1实验目的:(1)熟悉VFP的开发环境(2)掌握主窗口、菜单、工具栏和命令窗口的使用方法(3)掌握用各种方式建立表结构,输入记录、追加记录、浏览记录1.2实验内容:1、启动VFP开始\程序\Microsoft Visual FoxPro2、熟悉环境练习命令窗口的关闭与打开(窗口\命令窗口),工具栏的打开与关闭。
3、创建表结构,并输入记录(在E盘上新建文件夹CJGL,文件保存在此)(1)用菜单创建,文件\新建\表\新建文件,学生信息表(文件名为XS,如图5.1)学生信息表:学号(C)姓名(C)性别(C)出生时间(D)专业(C)总学分(N)备注(M)照片(G)练习在表设计器中练习插入字段,删除字段。
在表中输入5条记录,注意备注字段和通用字段内容的输入方式,观察输入请与输入后有什么不同?图5.1用鼠标双击XS表备注字段,打开备注字段的编辑窗口,在该窗口中输入备注内容。
用鼠标双击照片字段,打开通用字段的编辑窗口,插入图像有以下两种方法:●击通用字段,选择“编辑”菜单中的“插入对象”菜单项,打开“插入对象”对话框,选择对象类型为“BMP图像”,单击“确定”按钮,即可在通用字段编辑窗口中编辑图片。
●先把要插入的图像在WINDOWS的画图程序中复制到剪贴板上,在VFP双击照片字段,然后选择“编辑”菜单中的“粘贴”菜单项。
(2)用CREATE命令创建课程信息表(文件名为KC,如图5.2)并输入5条记录课程信息表:课程号(C)课程名(C)类别(C)开课学期(N)学时(N)学分(N)图5.2(3)创建成绩信息表:(文件名为XSKC,如图5.3)并输入5条记录成绩信息表学号(C)课程号(C)成绩(N)学分(N)*注意:以上三表最好按图中信息输入,保存在E:\CJGL中以备后用。
用APPEND命令或“显示”菜单下的“追加方式”命令分别给以上三个表追加5条记录。
用BROWSE命令浏览表的内容,用“显示”菜单下的“浏览”命令和“编辑”命令浏览,并观察二者的区别。
实验二表的基本操作2.1实验目的(1)掌握修改表结构的方法(2)掌握记录的修改、删除、定位、排序等操作(3)掌握表的计算功能2.2实验内容set default to e:\cjgl &&在命令窗口中设置,默认路径为E:\CJGLuse xs.dbf &&打开已经建好的学生信息表1、用菜单的方式修改表的结构,单击查看菜单中的表设计器命令,在表设计器中为学生信息表中增加新字段,民族,字符型,宽度为6。
用list structure 和 display structure命令查看修改后的表结构。
2、用命令的方式修改表的结构,在命令窗口中输入modify structure命令,在表设计器中为学生信息表中增加新字段,政治面貌,字符型,宽度为4。
●用自己熟悉的方式,在学生信息表中增加联系方式字段,之后再把这个字段删除。
练习在表设计器中调整字段的排列顺序。
3、用菜单的方式浏览表,单击查看菜单中的浏览命令,显示表(如图5.1):查看之后用ctrl+w或直接单击关闭按钮,将表关掉。
用命令方式,在命令窗口中输入browse命令也可将该表显示出来,此时可以看到菜单栏中多了“表”菜单,用其中的命令可以实现对记录的追加、修改、替换、定位、删除等操作。
4、命令:browse field 学号,姓名,专业for 性别=”女” && 用表格浏览所有女生的学号,姓名和专业●练习用表格浏览所有计算机科学与技术专业学生的姓名,性别和出生时间。
5、命令:list /display all &&显示所有学生的基本信息(只在屏幕显示)list for 专业=”计算机科学与技术” &&显示所有计算机科学与技术的学生●练习显示所有男生的基本信息。
●练习显示1985年以后出生的学生名单。
6、替换字段:browse &&显示现有的所有记录append blank &&追加一条空记录list && 显示记录,表的末尾有条空记录go bottom &&将记录指针指向最后一条记录replace 学号 with “01040107”,姓名 with “吴有祥”list &&最后空记录已添加内容用菜单方式,单击表―>追加新记录,直接输入数据。
7、备注型字段中追加内容:replace all 备注 with "体育班长" for姓名="刘中" &&命令方式用菜单方式,单击表->替换字段…,打开如下图6.1对话框:单击替换就可以了,注意运算符和字符定界符在英文状态下。
图图 6.18、转到记录:use xs.dbf &&在工作区中打开学生信息表?recno() &&显示当前记录号的函数,当前记录号为1skip?recno() &&当前记录号为2go bottom?recno() &&当前记录号为10skip?eof() &&显示.T.,因为记录指针指向表的最后一条记录的下一个go 5?recno() &&当前记录号为5用菜单方式,单击表->转到记录->第一个,最后一个,上一个,下一个,记录号等,同时当前记录号在状态栏中显示出来。
9、定位记录:use xs.dbflocate for 专业=”电子信息工程”display &&显示记录号为7的记录continuedisplay &&显示记录号为8的记录continue &&状态栏提示已到定位范围末尾display &&因为没找到,所以无显示。
用菜单方式,单击表->转到记录->定位…打开如下图6.2对话框:图6.2单击定位会定位在找到的第一个记录上,没有continue的功能。
10、删除记录:use xs.dbfset delete off &&设置删除标记的记录显示delete for 学号=”01040107” &&给该记录加上删除标记list &&刚删除的记录旁边有*删除标记browse &&表格中刚删除的记录旁边有黑块删除标记set delete on &&设置删除标记的记录不显示list &&只显示没有删除标记的记录(browse也一样)?recount() &&显示表中记录的总个数11recall for学号=”01040107” &&取消对该记录的删除或说取消删除标记list &&显示全部记录delete for 学号=”01040107”pack &&对加了删除标记的记录彻底删除?recount() &&显示表中记录的总个数10用菜单方式,单击表->删除记录…可打开如下图6.3对话框:图6.3单击删除就会为该记录加上删除标记。
再单击表->彻底删除就可以将该记录从表中彻底删除。
11、表的连接:select 1use xs &&在工作区1中打开xs表select 2use xskc &&在工作区2中打开表xskcjoin with xs to 成绩 fields 学号,xs.姓名,课程号,成绩,学分 for 学号=xs.学号&&为学生成绩表中加入姓名字段,保存在成绩表中select 3use 成绩 &&用browse命令显示在学生成绩库中加入了姓名字段12、表的计算(利用学生成绩表):use xscount to n &&把表中记录的个数赋值给内存变量n?”学生数=”,nuse xskc.dbfsum 成绩 for 学号=”01040101” to zf &&统计01040101号学生的总分?”01040101号学生的总分是”,zfaverage 成绩for 课程号=”0101” to jf &&统计0101号课程的均分?”0101号课程的均分是”,jfcalculate avg(成绩),min(成绩),max(成绩),std(成绩) for 课程号=”0101”&&统计计算0101号课程的均分,最低分,最高分和标准偏差。
实验三内存变量和常用函数3.1实验目的掌握内存变量和常用函数的使用3.2实验内容1.内存变量的使用在命令窗口中输入下列命令,观察主窗口中显示的信息,写出显示的内容。
R=10S=3.14159*r*rStore “面积” to s1,s2?r,s,s1,s2 &&主窗口中显示ndate={^2005-6-30}+1姓名_1=”金中华”姓名_2=”赵红”姓名_3=”鞠春松”display memory &&显示所有内存变量save to mymem?file(“mymem.mem”) &&显示为release all except 姓名* &&清除除了以“姓名”开头的其他内存变量display memory &&显示所有内存变量姓名_3=”林时”?姓名_3 &&显示为restore from mymem &&将内存变量从保存的文件中恢复了display memory &&显示所有内存变量姓名=”林时”?姓名 &&显示内存变量为use xs.dbf?姓名 &&显示字段变量为?M->姓名 &&显示内存变量为2.常用函数的使用在命令窗口中输入下列命令,观察主窗口中显示的信息,写出显示的内容。
Xh=”01040102”Xm=”赵红”?len(xh),len(xm) &&显示为?left(xm,2) &&显示为?right(xm,2) &&显示为?substr(“01040102”,3,2) &&显示为专业=”计算机”zxf=40?xm+left(xh,2)+”院”+str(zxf)+”分” &&显示为?”红”$xm &&显示为?empty(“”) &&显示为temp=xh+xm-trim(专业)?at(“计算机”,temp,1) &&显示为?int(680.34) &&显示为?sqrt(9) &&显示为?max(2,4.5,-100) &&显示为?mod(26,10),mod(23,-5) &&显示为set decimals to 4 &&设置小数位数为4位?round(1536.2854,2) &&显示为n=int(val(xh)/100)?n &&显示为?chr(65)+str(n) &&显示为?asc(“12345”) &&显示为?date(),time() &&显示为set date to ymdset mark to “.”Set cent on?date(),time() &&显示为?datetime() &&显示为d=date()t=datetmie()?d+1,t+1 &&显示为?year(d),month(d),day(d),dow(d) &&显示为t={^2005-6-30 10:30 a}?dtoc(t),ttoc(t) &&显示为出生时间={^1985.12.8}?date()-出生时间+1 &&显示为?left(xh,2)!=”02” &&显示为?zxf>=36 &&显示为?(date()-出生时间+1)<30 &&显示为婚否=.T.?.not.婚否 &&显示为cvar=”fox”?”Visual &cvar.Pro6.0” &&显示为实验四:数据库和数据库表的创建4.1实验目的(1)掌握数据库和数据库表的创建。