05 Visual Foxpro中的数据表的查询
Visual FoxPro表的基本操作

14
Visual FoxPro 1.记录输入窗口15Visual F NhomakorabeaxPro
2.备注型字段数据的输入 在记录输入窗口中,备注型字段显示
“memo”标志,其值通过一个专门的编辑窗 口输入。具体的操作方法是:
将光标移到备注型字段的memo处,按 Ctrl+PgDn或双击字段的memo标志,进入 备注型字段编辑窗口。录入结束按Ctrl+W 保存,或按Ctrl+Q不保存退出。
2.字段类型
字段类型表示该字段中存放数据的类型 。
3
Visual FoxPro
3.字段宽度
字段宽度用以表明该字段允许存放的最大字节 数或数值位数。在建立表结构时,应根据所存数据 的具体情况规定字符型、数值型、浮动型这3种字 段的宽度,若有小数部分则小数点也占一位。其他 类型字段的宽度均由系统统一规定,它们是:货币 型、日期型、日期时间型、双精度型字段宽度均为 8字节,逻辑型字段宽度为1字节,整型、备注型字 段和通用型字段宽度均为4字节。
12
Visual FoxPro
2.命令操作方式 其命令格式:
CREATE [<表文件名>|?] 在命令中使用?或省略该参数时,打开“
创建”对话框,提示输入表名并选择保存表的 位置。
CREATE命令执行后,屏幕上弹出表设 计器窗口,以后的操作方法与菜单操作相同 。
13
Visual FoxPro 4.1.3 向表输入记录 在把刚建立好的表结构存盘以后,若要立即输 入记录,此时,屏幕显示记录输入窗口,用户可通 过它输入一个个记录。
10
Visual FoxPro (4)表字段设置完成后,选择“确定”按钮,结束表 结构的建立。这时将弹出对话框,询问“现在输入 数据记录吗?”,选择“否”,则退出建表工作,以后 需要时可以打开该表并输入数据。若选择“是”,则 可以立即输入数据。
Visual Foxpro中如何实现对EXCEL表格的操作

Visual Foxpro中如何实现对EXCEL表格的操作VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。
比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。
这就需要我们在VFP中直接来控制Excel。
下面就在开发VFP 应用项目时对Excel的控制作一下介绍:1.创建Excel对象oExcel=CREA TEOBJECT("Excel.application")2.添加新工作簿oExcel.Workbooks.add3.设置第3个工作表为激活工作表oExcel.Worksheets("sheet3").Activate4.打开指定工作簿oExcel.Workbooks.Open("c:\temp\ll.xls")5.显示Excel窗口oExcel.visible=.t.6.更改Excel标题栏oExcel.Caption="VFP应用程序调用Microsoft Excel" 7.给单元格赋值oExcel.cells(1,4).value=XM(XM为数据库字段名) 8.设置指定列的宽度(单位:字符个数)oExcel.ActiveSheet.Columns(1).ColumnWidth=5 9.设置指定行的高度(单位:磅)oExcel.ActiveSheet.Rows(1).RowHeight=1(设定行高为1磅,1磅=0.035厘米)oExcel.ActiveSheet.Rows("50:100").RowHeight=1 &&设置第50行至100行的高度10.在第18行之前插入分页符oExcel.Worksheets("Sheet1").Rows(18).PageBreak=1 11.在第4列之前删除分页符oExcel.ActiveSheet.Columns(4).PageBreak=012.指定边框线宽度(Borders参数如下)ole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3 13.设置四个边框线条的类型oExcel.ActiveSheet.Range("b3:d3").Borders(2).LineSty le=1(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)14.设置页眉oExcel.ActiveSheet.PageSetup.CenterHeader="报表1" 14.设置页眉(字体大小)oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1" &&'&'后面的50可以自定义,表示字体的大小15.设置页脚oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页"15.设置页脚(字体大小)oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P页" &&'&'后面的28可以自定义,表示字体的大小16.设置页眉到顶端边距为2厘米oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 17.设置页脚到底边距为3厘米oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035 18.设置顶边距为2厘米oExcel.ActiveSheet.PageSetup.TopMargin=2/0.03519.设置底边距为4厘米oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.035 20.设置左边距为2厘米oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.03521.设置右边距为2厘米oExcel.ActiveSheet.PageSetup.RightMargin=2/0.035 22.设置页面水平居中oExcel.ActiveSheet.PageSetup.CenterHorizontally=.t.23.设置页面垂直居中oExcel.ActiveSheet.PageSetup.CenterV ertically=.t.24.设置页面纸张大小(1-窄行8 5 11 39-宽行14 11 9:A4)oExcel.ActiveSheet.PageSetup.PaperSize=125.打印单元格网线oExcel.ActiveSheet.PageSetup.PrintGridlines=.t.26.拷贝整个工作表edRange.Copy27.拷贝指定区域oExcel.ActiveSheet.Range("A1:E2").Copy28.粘贴oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial 29.在第2行之前插入一行oExcel.ActiveSheet.Rows(2).Insert30.在第2列之前插入一列oExcel.ActiveSheet.Columns(2).Insert31.设置字体oExcel.ActiveSheet.Cells(2,1)="黑体"32.设置字体大小oExcel.ActiveSheet.Cells(1,1).Font.Size=2533.设置字体为斜体oExcel.ActiveSheet.Cells(1,1).Font.Italic=.t.134.设置整列字体为粗体oExcel.ActiveSheet.Columns(1).Font.Bold=.t.35.清除单元格公式oExcel.ActiveSheet.Cells(1,4).ClearContents36.打印预览工作表oExcel.ActiveSheet.PrintPreview37.打印输出工作表oExcel.ActiveSheet.PrintOut38.mandBars(1).Controls(1).accChild(18).Exe cute &&打印(菜单序号18为Excel2003的‘打印’项)&&不同版本Excel的菜单序号可以通过以下程序取得*(需要在VFP7.0以上运行)oXls=GETOBJECT("","excel.sheet")XlApp=oXLS.APPLICA TIONXlSheet=XlApp.ActiveSheetbars=mandBars.COUNTSTR=''FOR i=1 TO barsSTR=STR+CHR(13)+ALLTRIM(STR(i))+'、'+mandBars(i).accName+'(NAME:'+xlapp.C ommandBars(i).NAME+'INDEX:'+ALLTRIM(STR(mandBars(i).IND EX))+')'bars2=mandbars(i).accChildCountFOR j=1 TO bars2TRYobj=mandbars(i).CONTROLS(j)STR=STR+CHR(13)+''+ALLTRIM(STR(j))+'、'+mandbars(i).CONTROLS(j).accname+'(ID: '+ALLTRIM(STR(mandBars(i).CONTROL S(j).ID))+')'FOR k=1 TO obj.accChildCountTRYIF NOT EMPTY(obj.CONTROLS(k).accname )STR=STR+CHR(13)+''+ALLTRIM(STR(k))+'、'+obj.CONTROLS(k).accName+' (ID:'+ ALLTRIM(STR(obj.CONTROLS(k).ID))+')'ENDIFCA TCHEXITENDTRYENDFORCA TCHEXITENDTRYENDFORW AIT WINDOWS ALLTRIM(STR(i))+' / '+ALLTRIM(STR(bars))+''+STR(i/bars*100,10,2)+'%' NOW AITENDFORSA VE TO XLS.txt ALL LIKE STRMODIFY COMMAND XLS.txtRETURN39.工作表另存为oExcel.ActiveWorkbook.SaveAs("c:\temp\22.xls")检测当前目录是否有同名的EXCEL表,如果有先删除,再另存IF !FILE(SYS(5) + CURDIR() + "result.xls")oExcel.ActiveWorkbook.SaveAs(SYS(5) + CURDIR() + "result.xls")ELSElcFileName = loExcel.GetSaveAsFilename("result", "Excel (*.xls), *.xls")IF !EMPTY(lcFileName)IF FILE(lcFileName)DELETE FILE (lcFileName)ENDIFoExcel.ActiveWorkbook.SaveAs(lcFileName)ENDIFENDIF40.放弃存盘&& 避免出现保存对话框oExcel.ActiveWorkbook.saved=.t.41.存盘oExcel.ActiveWorkbook.save42.关闭工作簿oExcel.Workbooks.close43.退出ExceloExcel.quitRELEASE oExcel &&只有释放对象变量, EXCEL进程才会完全关闭44.合并单元格oExcel.ActiveSheet.Range("A4:B5").MergeCells=.t.45.下列设置大家自己理解With crfole.ActiveSheet.PageSetup.LeftHeader = chr(13)+"左页眉"2.CenterHeader = "中页眉".RightHeader = "右页眉".LeftFooter = "左页脚".CenterFooter = "中页脚".RightFooter = "右页脚".orientation=1 &&1竖排,2横排EndWithWith crfole.Range("A4:C4").MergeCells = .t..WrapText =.f..Orientation = 0.AddIndent =.f..ShrinkToFit = .f.EndWith46.文本对齐oExcel.range("A4:c4").HorizontalAlignment =1 &&水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)oExcel.range("A4:c4").V erticalAlignment =2 &&垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)47.拷贝整个工作表(含格式)oExcel.activesheet.cells.copy &&拷贝oExcel.sheets(1).select &&选择第一工作表oExcel.ActiveSheet.Paste &&粘贴oExcel.ActiveSheet.Cells(3,4).value && ActiveSheet 为当前的Sheet工作薄名字,Cells(3,4).value 为第3行第4列的值以上控制调用语句在中文VFP5.0企业版下运行通过,运行环境为Excel 97及中文Windows 9848. 显示某个单元格的批注内容oExcel=CREA TEOBJECT("Excel.application") oExcel.Workbooks.OPEN("d:\TEST\testa.xls") oExcel.VISIBLE=.T.?oExcel.Range("B5").Comment.Text &&显示B5单元格的批注内容oExcel.Workbooks.CLOSEoExcel.QUITRELEASE oExcel49.oExcel.ActiveSheet.PageSetup.PrintTitleRows="$1: $1" &&每页都打印行标头(每页顶部出现的单元格的行)50.保护工作表:oExcel.ActiveSheet.PROTECT('密码',.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.)51.保护工作薄oExcel.ActiveWorkbook.PROTECT('密码',.T.,.T.)第一个.T.:保护工作簿结构第二个.T.:保护工作簿窗口52.设置允许用户编辑区域oExcel.ActiveSheet.Protection.AllowEditRanges.Add("区域3",oExcel.ActiveSheet.Range("A2:D5"))53.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为.F.oExcel.DisplayAlerts = .F.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。
visualfoxpro教程 (3)

Visual FoxPro教程简介Visual FoxPro是一个功能强大的关系型数据库管理系统(DBMS),由Microsoft公司开发和发布。
它是一种针对Windows平台的编程语言和开发工具,可用于创建、管理和维护数据库应用程序。
本教程将引导您从基础开始,逐步学习如何使用Visual FoxPro进行数据库开发。
我们将涵盖以下内容:1.Visual FoxPro的安装和设置2.创建和管理表格3.数据的插入、查询和更新4.数据库索引和关系5.使用查询语言(SQL)进行高级数据操作6.创建报表和图表7.Visual FoxPro的高级特性和调试技巧安装和设置在开始学习Visual FoxPro之前,您需要先安装该软件并进行一些基本设置。
以下是安装步骤:1.下载Visual FoxPro安装程序,它通常以扩展名为.exe或.msi的形式提供。
2.双击安装程序并按照安装向导进行操作。
3.在安装过程中,您可以选择安装目录、启动菜单项等选项。
4.完成安装后,您可以打开Visual FoxPro并开始进行设置。
在设置Visual FoxPro时,您可能需要配置数据库连接、外部工具和编辑器偏好等。
创建和管理表格在Visual FoxPro中,表格是存储数据的基本单位。
您可以通过以下步骤创建和管理表格:1.打开Visual FoxPro,点击菜单栏的“文件”->“新建”->“数据库”。
2.在数据库文件对话框中,选择存储表格的文件夹和文件名,并点击“确定”。
3.在打开的表格编辑器中,点击菜单栏的“编辑”->“添加表格”。
4.输入表格名称,并定义表格的字段、数据类型和约束等。
5.点击“保存”以保存表格定义。
在表格编辑器中,您可以添加、修改和删除字段,定义字段的属性和关系。
您还可以设置索引、约束和触发器等以保证数据的完整性和一致性。
数据的插入、查询和更新通过Visual FoxPro,您可以方便地进行数据的插入、查询和更新操作。
vfp多表查询的例子

vfp多表查询的例子全文共四篇示例,供读者参考第一篇示例:Visual FoxPro(VFP)是微软推出的一款结构化查询语言(SQL)和关系数据库管理系统(RDBMS),在数据处理和数据分析方面具有良好的性能和灵活性。
VFP支持多表查询,使用户能够在多个数据表之间进行联合查询,以获取更细致的数据分析结果。
在VFP中,多表查询可以通过使用SQL语句来实现。
SQL语句是一种标准化的数据库查询语言,可以用来访问和操作数据库中的数据。
下面以一个实际案例来介绍VFP多表查询的用法:假设我们有两个数据表,一个是“学生信息表(Student)”,包含学生的姓名、性别和年龄等信息;另一个是“成绩表(Score)”,包含学生的考试科目、考试成绩等信息。
现在我们希望查询每位学生的姓名、年龄和各科成绩的总分,可以通过以下步骤实现:第一步:连接两个数据表在VFP中,我们需要连接两个数据表,以便在查询时能够同时获取学生信息和成绩信息。
可以使用SQL语句中的“JOIN”关键字来实现连接,具体代码如下:```SQLSELECT , Student.Age, SUM(Score.Score) AS TotalScoreFROM StudentJOIN ScoreON Student.ID = Score.StudentIDGROUP BY , Student.Age;```在上面的代码中,我们使用了“SELECT”语句来选择要查询的字段,包括学生的姓名、年龄和总分;使用“JOIN”关键字来连接两个数据表,其中“ON”后面的条件是两个数据表中的关联字段;使用“SUM”函数来计算每位学生的总分;最后使用“GROUP BY”语句来对结果进行分组,以获取每位学生的总分。
第二步:执行查询完成了连接两个数据表和编写查询语句后,我们就可以执行查询了。
在VFP中,可以在查询分析器中输入以上代码并执行,或者将代码嵌入到程序中进行执行。
执行查询后,就可以得到每位学生的姓名、年龄和总分的查询结果。
2005年9月全国计算机等级考试二级VF笔试试题

2005年9月全国计算机等级考试二级VF笔试试题一、选择题(每小题2分,共70分)(1)下列描述中正确的是()。
A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是()。
A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表(3)下列关于栈的描述中正确的是()。
A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列描述中正确的是()。
A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列关于软件工程的描述中正确的是()。
A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是()。
A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图(7)下列描述中正确的是()。
A)软件交付使用后还需要再进行维护B)软件工具交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决()。
A)数据共享问题B)数据安全问题C)大量数据存储问题D)简化数据维护(9)设有如下关系表:R S T则下列操作中正确的是()。
A)T=R∩SB)T=R∪SC)T=R×SD)T=R/S(10)数据库系统的核心是()。
A)数据模型B)数据库管理系统C)数据库D)数据库管理员(11)Visual FoxPro是一种关系型数据库管理系统,这里关系通常是指()。
Visual FoxPro数据库的基本操作

数据记录的删除与恢复
“表”菜单相应项。 1.删除 DELE FOR 条件 PACK ZAP 2.恢复 RECALL 注意:REPL、DELE、RECA默认只对当前记 录操作。
作业
阅读教材第3章 实验四
实验四增加一道编程题SY4.PRG,代 码事先写到作业本上,上机时调试通 过:程序运行时输入一个工资表中肯 定存在的人名,打开工资表,查找到 该人后,先显示他的记录,然后把这 个人的基本工资增加100元,显示修 改后的记录,最后关闭表。
建立数据库表续
空值:NULL,表示未存储数据,与0、 空字符串不同,如缓考的成绩应为 NULL,不应为0。输入NULL值可按 Ctrl+0(零)键(先在表设计器中为字 段设置允许NULL)。 在“创建”对话框中选定数据库表文件 存放的文件夹,输入文件名,然后保存。
建立数据库表续
输入记录时达到宽度,光标自动跳到下一个字 段,否则,按回车键。 输入D型数据月/日/年。如09/10/2003。输入L 型,只能输入T或F(大小写切换或中西文切 换)。输入M型,双击memo,打开编辑窗口输入。 输入G型,双击gen,打开编辑窗口,选择菜单 “编辑|插入对象”项,选择对象插入。 输入M、G型数据后,相应第一个字母变为大写, 同时出现与表文件同名的表备注文件(.FPT), 存放具体的备注、通用字段数据。
打开数据库文件
设置默认目录:工具|选项|文件 位置|默认目录 SET DEFA TO 文件夹路径 “打开”对话框 (选类型) OPEN DATABASE 数据库文件名 打开数据库后,出现数据库设计器 窗口及数据库设计器工具栏,可进 行各种数据库操作。
关闭数据库文件
CLOSE DATABASE 注意:单击数据库设计器窗口右上 角的关闭按钮×不能关闭已打开的 数据库,只是关闭了数据库设计器 (菜单“显示|数据库设计器”打 开),在“常用”工具栏中的“数 据库”下拉框中仍显示当前数据库 名字,表明未关闭。
重要资料VFP表操作索引、统计、关联、连接等讲解

查询、统计和多表操作表文件中记录的顺序通常是人们在输入数据时按输入的先后次序存储的,并以记录号表示,这个顺序只反映了存放数据的先后顺序。
但在数据处理实际应用中,由于数据库十分庞大,为了高效方便地处理数据,常常需要对记录位置进行重新整理,并按某种指定的顺序对表记录进行处理。
例如,对学生成绩表按学号为序显示输出记录,以便查找;或按总分高低为序输出记录,以便进行比较等等。
对记录位置进行重新整理通常有排序和索引两种方法。
排序是对表文件进行物理位置的整理;索引是对表文件进行逻辑位置的整理。
一、排序表文件的排序操作就是根据表的某个关键字或关键字表达式重新排列表记录的位置。
执行排序操作后将生成一个新的表文件(称为:排序文件)。
新文件的结构和数据可以与源文件完全相同,也可以只取源文件的部分字段。
新文件不改变源文件内容和记录顺序。
【命令】 SORT TO<新文件名>ON <字段名1>[/A] [/D] [/C] [,<字段名2> [/A] [/D] [/C]…] [ASCENDING|DESCENDING][<范围>][FOR<条件>|WHILE<条件>][FIELDS<字段名表>| FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>]【功能】对当前表中指定范围内、满足条件的记录按指定字段升序或降序重新排序,并将排序结果存入新文件名中。
【说明】①排序结果存入由TO <新文件名>指定的表文件中,系统默认文件扩展名为.DBF。
②在ON子句中的字段名表示排序的关键字段。
当使用一个关键字时,叫“单重排序”;使用多个关键字时,叫“多重排序”。
在多重排序中,关键字有主次之分。
主关键字是指能够唯一标识某个记录的关键字;次关键字是指标识具有某种相同属性的某些记录的关键字。
在关键字表达式中,主关键字排在前面,次关键字排在后面。
Visual FOXPRO中的常用命令和函数

从另一个文件中提取数据添加到当前数据表的尾部:APPEND FROM filename|? [FIELDS字段名列表][ FOR条件]
其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
从当前打开的数据库中删除视图:DELETE VIEW viewname
打开一个表:USE tablename|? [IN工作区号]
将当前数据表与另一数据表连接后建立一个新表:JOIN WITH工作区号|表别名TO tablename FOR条件[FIELDS字段名表]
建立单索引文件:INDEX ON表达式TO单索引文件名[FOR<条件>] [UNIQUE] [COMPACT] [ASCENDING][DESCENDING][ADDITIVE]
建立复合索引文件:INDEX ON表达式TO TAG索引名[OF复合索引文件名] [FOR条件] [UNIQUE|CANDIDATE]
如果没有指定类型,则复制一个与当前的表相同的数据表。
复制表的结构:COPY STRUCTURE TO filename [FIELDS字段名列表]
复制任何文件:COPY FILE源文件TO目的文件
如果用此命令复制表,表须关闭
从磁盘上删除任意文件:(1)ERASE filename|?(2)DELETE FILE [filename|?]
从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]
如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 表达式查询命令
格式:seek<表达式> 功能:在数据表和有关索引打开时,查找与< 表达式>匹配的第一条记录。
1)索引文件或索引项必须起作用,<表达式>的 类型必须与索引关键字表达式一致。 2)可查找常量、变量或表达式的值,字符串必 须用定界符。 3)若查找成功,指针指向匹配的第一条记录, 可借助skip继续查找,否则指向文件尾。
例:在zgda中 1) 查找刘红梅的记录。 2) 查找职称是工程师的记录。
3) 为顺序查找,不要求数据表排序 4) 用命令continue继续查找下一条满足同样 条件录。 例:
在zgda中查找职称为高工的女职员。
查找结果的查看:
1) 查看状态栏
2) 运行?found( )
3) 运行display
4查询命令
格式:find<字符串>/<常数> 功能:在数据表和有关索引打开时,查找与< 字符串>/<常数>匹配的第一条记录。
4.4 数据表的查询与统计
4.4.1 数据表的查询 对数据表进行查询的方式: 查询设计器查询 SQL语句查询 简单的查询命令查询
(1) 条件查询
格式:locate [<范围>] for <条件> 功能:查找给定范围内满足条件的第一条记 录。 1)范围缺省时,默认为all,for<条件>是必须 的。 2) 查找成功,指针指向满足条件的第一条记 录。查找不成功,若指定范围,指针指向 指定范围的最后一条记录,否则指向文件 尾。
1) 索引文件或索引项必须起作用。 2) 只能查找字符串或常数,并且与起作用的索 引项对应的关键字相同。 3) 字符串不必用定界符。 4) 若查找成功,指针指向匹配的第一条记录, 可借助skip继续查找,否则指向文件尾。
例:在zgda中 1) 查找姓刘的记录。 2) 查找职称是工程师的记录。 3) 查找基本工资是1000的记录