说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

筛选数据-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
筛选数据-Delphi资料

·设定范围·

所谓范围,就是指定一个上下界,筛选出落在上下界内的一组连续记录。为方便说明,我们先生成一个

项目,并在Form1中放入如下组件:

组件名 属性

Table1 DatabaseName:=DBDEMOS

TableName:=Customer.db

DataSource1 DataSet:=Table1

DBGrid1 DataSource:=DataSource1

本例中我们使用了Delphi自带的别名'DBDEMOS'下的一个数据库:Customer.db,这是一个记录顾客基

本信息的数据库。当我们把Table1的Active属性置为True时,在DBGrid1中会显示出该库的内容。下面我们

往Form1中放入一个Button1,编写Button1的OnClick事件如下:

procedure TForm1.Button1Click(Sender: TObject);

begin

with Table1 do

begin

KeyExclusive:=True;// 为True时不包括边界值,为False时包括边界值,缺省为False;

SetRangeStart;

Fieldbyname('CustNo').AsString:='1000'; //设定范围上界

SetRangeEnd;

FieldbyName('CustNo').AsString:='2000'; //设定范围下界

ApplyRange; //使范围生效

end;

end;

以上是设定范围的很典型的一组语句。运行程序,单击按钮后,顾客号在1000至2000之间的顾客记录被

筛选了出来。范围一旦被设定,在整个应用程序执行过程中都是有效的。当然,我们可以调用CancelRange

方法来暂时使范围失效,以后需要范围生效时,可直接调用ApplyRange方法,而不需要再次设定范围的上下

界。另外,我们可以调用EditRangeStart和EditRangeEnd的方法来改变范围的上下界。

使用范围的唯一条件是,设定范围的字段必须已建索引。对没有建立索引的字段使用范围是不允许的。

·使用过滤器·

过滤器筛选出来的记录可以是连续的,也可以是非连续的。过滤器不受索引的限制,而且即使有索引,

过滤器也不依赖,也就是说,过滤出来的记录是未经排序的。过滤器的使用非常简单,可以直接在Table组

件的Filter属性中写入包含过滤条件的字符串,并把Filtered属性置为True来启动过滤器。在上例中,我

们可以在Table1的Filter的属性框内写入:(CustNo>1000) and (CustNo<2000)

当我们把Table1的

Filtered属性置为True时,DBGrid1内将显示出顾客号在1000至2000之间的顾客记录。当过滤条件比较复

杂时,我们可以通过编写Table1的OnFilterRecord事件来实现。例如:

procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);

begin

Accept:=(DataSet[′CustNo′]>1000) and (DataSet[′CustNo′]<2000) and (DataSet[′

Country′]=′US′);

end;

运行程序,所有CustNo在1000至2000之间并且Country='US'的顾客记录被筛选了出来。在

OnFilterRecord事件中,我们可以使用条件分支语句或者循环语句,因而非常灵活,便于完成条件很复杂

的记录筛选工作。和范围一样,过滤器一旦设定,就将维持到应用程序的结束。当然,我们可以将Filtered

属性置为False来使过滤器失效。

和范围相比,过滤器方便灵活,而且不受索引限制,但正是因为没有索引支持,当记录数量比较大时,

过滤器的速度会受影响。因此

范围和过滤器各有各的适用场合。

·使用查询·

即通过TQuery组件来使用SQL语句实现记录的筛选。大家可能对这种方法比较熟悉,这里只做简单说明

,如上例中的记录筛选用一条很简单的SQL语句就能实现:

Select * from Customer

Where (CustNo>1000) and (CustNo<2000)

使用SQL语言可以实现条件很复杂的筛选,当记录数量很大或条件很复杂时,应尽量使用SQL语言来查询

和前两种方法相比,使用查询更加灵活多变,适应性更强,而且也不受索引的限制。但这种通过SQL语

句的筛选是一次性的。当调用TQuery的Open方法(或Active:=true)后,TQuery返回查询结果集,之后就

失去了对结果集的范围限制。当结果集中的某些记录发生改变(如某条记录的Custom变为3000),不满足筛

选条件时,这种方法不能马上察觉,必须再次调用TQuery的Open方法才能实现。

clearForm()-JQuery API clearInputs()-JQuery API fieldSerialize(true)-JQuery API fieldValue(successful)-JQuery API formSerialize(true)-JQuery API formToArray(true)-JQuery API resetForm()-JQuery API $.recallDroppables()-JQuery API $.SortSerialize()-JQuery API Draggable(hash)-JQuery API DraggableDestroy()-JQuery API Droppable(options)-JQuery API DroppableDestroy()-JQuery API Sortable(options)-JQuery API SortableAddItem(elem)-JQuery API $.meta.setType(type, name)-JQuery API data()-JQuery API disableTab(position)-JQuery API enableTab(position)-JQuery API tabs(initial, settings)-JQuery API triggerTab(position)-JQuery API triggerTab(position)-JQuery API Tooltip(settings)-JQuery API PHP简介-PHP初学入门教程1 选择PHP的理由 -PHP初学入门教程2 从一个简单的程序来了解PHP -PHP初学入门教程3 PHP语法基础 -PHP初学入门教程4 建设一个简单的交互网站(一) -PHP初学入门教程5 建设一个简单交互的网站(二) -PHP初学入门教程6 建设一个简单交互的网站(三)密码验证 -PHP初学入门教程7 PHP文件上传 -PHP初学入门教程8 调用外部程序的问题 偶去吃饭了!大家去吗?我请客好了:) 大家能不能介绍一下四川的迈普 VB6到VB.NET升级问题?有的FORM可以升级,有的不行,错误如下:(急!!!搞定立即散分!在线等!) 男人的花样,女人的年华(淡月儿) 如何在VB中正确将调用的Excel进程关闭? 请问 void UpdateDialogControls()函数怎么用……(******) 求教:我想拦截CreateProcess()的调用,并取出参数是否可行???? 我想请问一下sql的认证问题 触发器:For ,Instead OF 和After有什么区别?? slq7.0是不是不支持Instead OF 和After 远程访问方案征求!!! 为什么在我的XP的文件夹里面有Thumbs.db???? 不难的问题,请帮忙!! 如何改变ASP.NET Web应用程序生成的项目的位置?? 如何在JBuilder7中连接远程MS SQL2k数据库? 为什么在x-win32的窗口中,不能使用KDevelop,创建QT工程?? 数据源的连接问题?急!急!急!急!急!急!急!急!在线等待! paradox7表有没有最大记录数或最大容量?! 请问safety-critical systems是什么系统? 为什么<textarea>会有字数限制,我写了超过330个字符就不能提交表单了。 看看吧,想改變這种現象!!<marquee>能移動內容,但它移動時有空白(要等全移完后才又重新移)能否不要這中間的空隙。 那里有 netapi32.dll 中所有的函数及结构体的Delphi版定义? 在ASP里怎么能才让字符的ASC2码值加一。比如a加一之后等于b 谁有ehlib和fastreport的使用资料,哪下载??? 有关排序的问题? 高分相送!,求地税信息化方案 一个java程序,怎么写不进去?等待…… SOS!!! 是显卡的问题吗? 挂接的Fat32文件系统文件名为乱码 Linux 下的 中文输入法 十分奇怪的问题,win2000下编辑框粘贴文本出错。 为什么我的iis打不开了?(在线等待) win2000下 “内存指令不能读” 的错误怎么解决???? 问用ASP+SQL SERVER的朋友一个问题。在线等待。。 Web Services 的客户端和服务器能不能双向通信 98里的IIS服务在哪里停掉! 怎样在同一系统中既做服务器又作客户端?谢谢! 喜欢的女孩,交往半年后才知道大我2岁,郁闷!大家说该怎么办??? 怎么样用create函数创建一个窗口,用来显示提示信息 有两天没加可用分了,大家是没感觉,还是无所谓?我要饿死了,救命……来者有分! 用PHP如何在取得了属性drwxrwxrwx之后,判断是否为可删除? 在VC中,用quickwatch看vector变量时,怎么只能看到装在容器里的第一个变量 状态栏问题 如何使鼠标移到输入框上,输入框里面的字就会成 被选择 状态? 五百里加急(分不够另给) 与 硬件 有关 怎样配置root启动菜单~???~ [求助][急]关于SQL语句优化 高分求IBM WebSphere Application Server 高级版! 经常上csdn上的哥们把照片亮出来啊:) 在asp.net(用vb)中怎么连接ORACLE数据库? well的比较级怎么写 有没有很好的英语口语经典句子 Mike除了迈克(男名)还有什么意思? So sad but trur For me there's only well比较级well的比较级 mike什么意思 “There's only onething out there for me!”是什么意思 well比较级和最高级 Is it a korean or an english car?Is it a korean or an english car?english car 不是一个名字短语吗?前面应该放a才对啊,korean 是形容词,前面应该不能放a的啊? at the end与in the end的区别at the end of、in the end、by the end of 三个词的区别是什么? they will watch an american film next sunday evenimg 改一般疑问句 急 havesomlunch,mike的意思? 歌词是:there there get crazy there there get stupid i know i know that you the only one for me接着:you are my best friend ... 中翻英:你要确保中午之前到达这里.(make sure) Is it a Koren car or an English car or 前面的car是不是多余, (Only for you,Only for me,Only for us!英文很差……谁能告诉我下意思…… make sure后宾语从句是否要用一般表将来 《格列佛游记》的故事梗概 My dear,I'm so sad.But true.For me,there's only you! 写英语评论时最好用什么时态 格列佛游记内容梗概? eer发/i+饿{音标大不出来}/音的单词有哪些 2013年8月20号是星期几? 谁知道新视野大学英语视听说教程4 mp3在哪里下啊我要的是和CD那样的 很长 连贯的 不是一小段一小段的MP3模式的 20.格列佛游记是一部()的政治讽刺小说构成这部讽刺小说,讽刺意味的主要因素有两个方面一是()二是() 2013年8月19号星期几? 新视野大学英语4,mp3哪找啊? 《格列佛游记》是一部杰出的讽刺小说,作者运用虚构的情节和幻想的手法,揭露了批判了当时英国统治阶级的腐败与罪恶,是对的吗 Next time I neet to make a lunch invitation personal I will send a letter.until then, I will stick with text message翻译 股票技术指标中的MIKE是什么意思 Please ()someting in English.A.talk B.say C.tell D.speak并说出为什么 求翻译:我们预计下周寄样品给你.We will send you the sample by next week.这样写对吗? mike是什么意思呢? Please____English in the English class. A.say B.talk C.tell D.speak 把下面句子变为被动语态I will send a message immediately well的比较级和最高级是什么 我爱你盛过爱自己 翻译!我爱你盛过爱自己 怎么翻译? 反意疑问句 如果陈述部分没有助动词,be动词,情态动词那么疑问句部分的动词用什么? 急求用英文介绍carly rae jepsen用英语介绍 详细一点 谢谢! 急求精确的翻译:我讨厌你就像讨厌自己一样,我爱你就像爱自己一样.语法准确,用词准确,简单易明!在线翻译的貌似有差异,请求英语能者帮帮忙!谢谢! that power的歌词翻译成中文 MiKe是什么意思? 《最后一课》从“接着,韩麦尔先生从这一件事谈到那一件事……”到“一下子塞进我们的脑子里去”?这两段的中心意思是什么?急用~ good well的比较级和最高级是怎么样 2011年12月英语三级作文,作文:如果你捡到了别人的钱包,你想写一个海报来寻找给失主 地点:汽车站 时间2011年10月8号 描述:黑色的钱包一个,里面有一张身份证,银行卡2张,现金若干Lostand foun AIR CHAIR怎么练?我起AIR CHAIR的时候怎么会头贴地的?求高手指导!不要发视频.求文字教学! 最后一课 韩麦尔先生为什么恨不得要在离开前把所知道的全部塞进我们的脑子里? well的比较级和最高级是神马? they're going next week中文 【最后一课】韩麦尔先生为什莫要再离开前把所有知道的全塞进我们的脑袋里呢?知道的是知识哦! well的比较级和最高级 well的比较级是什么 语文:韩麦尔先生“恨不得”将他知道的东西一下子“塞”进我们的脑子里,“塞”的好处,为什么 把It is a English book转换为一般疑问句 well的比较级 请用英语口语翻译“我现在很好. far和well的比较级和最高级 well 比较级 有什么出色的英语口语聊天群? Amy has got some toys.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘