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

筛选数据-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方法才能实现。

苹果发布会后的冷思考,64位芯片为开发者带来了什么? 中兴Geek评测:高性价比的英特尔处理器智能机 SAE的资源、安全隔离与Container 平板电脑悬了 Phablets或成为未来移动设备的主流 拿什么拯救你:黑莓今年将裁员4500人 推荐10款免费的在线UI测试工具 最好的Java IDE之争:Eclipse PK IntelliJ IDEA Intel发布E5 2600 v2处理器 开放硬件监控信息 XP寿终大限将近 微软再次呼吁用户尽早“分手” Dropbox CTO:离开办公室就焦虑的技术宅男 看雪学院“走进企业看安全”活动百度站落幕 九大设计技巧+作品赏析 激发你的创作灵感! 排名前十CEO的工资条,你怎么看? 麻省理工TR35之IT界年轻有为创新者(下) Storm的“翻版”:LinkedIn开源实时数据处理系统Samza 呼吸监测耳机:一个在“呼吸”上做文章的可穿戴设备 谷歌7年210亿美元的基础设施建设,及可供17万家庭使用的风电 Touch ID很安全?德国黑客宣布已绕过苹果指纹识别系统 纽约警方鼓励用户升级iOS 7 你想好了吗? Android开发者不可或缺的四大工具 Mozilla开源TogetherJS:让网站拥有实时协作功能 可穿戴技术专家Jawbone UP向所有开发者开放API 18款在线代码片段测试工具 Gartner咨询公司研究副总裁彼得&#183;福斯特布鲁克:互联网安全新兴威胁与挑战 美国智库战略与国际研究中心(CSIS)詹姆斯&#183;刘易斯:网络安全神话、传说与现实 云安全联盟中国分会理事赵粮:建设可信的云生态环境 Web前端优化最佳实践及工具集锦 2013中国互联网安全大会(ISC)9月23日隆重举行 科技界最聪明的人:Facebook首任CTO激情燃烧的岁月 继乔布斯时间胶囊出土 其儿时的家或成历史遗迹 微软向7亿Windows 7用户发布Internet Explorer 11预览版 我想学java,但是,我现在只会c++? 急都急死了,快教教我如何用Resin配jsp服务器啊?? 请问哪里可以找到Delphi 6 Developer's Guide这本书? 请问VB中怎么把从ms sqlserver中查到的记录输出到其它库中?如foxpro …… http://www.ws.net.cn/cgi-bin/lb2/topic.cgi?forum=1&topic=6696&show=0快了看看,有没有你们喜欢的女生? 爽呀!!!Visual Studio.net实在是正点呀! 我想用delphi自带的Micorsoft help workshop做帮助行么,在delphi哪里呀,我没找到! 我打算按下一个按钮实现ctrl+space切换输入法的功能,可是不好使,大家帮我看看 在dreamweave ultradev下如何把ASP与本地服务器上的数据库连接起来。 请教,来者有份,200分大放送, 初学者关于Package的问题 再贴WebLogic Server 和 Weblogic Integration 有何不同,各是用来做什么的? 我在APPlication中开始处加上如下代码,在PB下运行时没问题,怎么编译后执行exe文件后老提示连不??为什么,请赐教!! 在静态切分窗口中,如何显示标题? 求教大虾:如何给软件加上licence限制 抗议CSDN帖子内容为楷体,同意者举手! 如何在画布上画一个带箭头的直线. *-->为对话框应用上妆!在线等待 [诚征交友]不诚勿扰,请条件适合男士入内 有谁用过Cute ftp上传软件,为什么一进行文件同步时,就出现404 object not find的错误 关于界面对象丢失的问题…… 请大家看看这个问题。 我真的很需要帮助。。。请问谁有360度可以许多张图片旋转的代码 360度全景特效 高分求树型结构源代码 现在出了本Jbuilder5的书。有没有谁有这本电子书啊? 高分求树型结构源代码 SDK问题 这句sql有问题吗? 关于驱动程序开发! 在SQL-SERVER中出现数据死锁的情况一般是什么,若是由多个用户同时向数据库更新数据而导致的死锁,解决此问题的办法有那些? 寻找源代码排版软件? 有没有用VC写过短信接收程序,我在接收中文时出现乱码。 请教大虾:用mideaplayer来播放一首歌,如何用progressbar来表示进度? 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? 编译出错,不解?请高手指点。 能否用Delphi 实现类似东石公司的虚拟光驱系统。 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? include头文件的问题 急!!!为什么TBlobField 下载时大小受限制,怎么解决? 关于导出动态连接库中的类的问题,不知道这里有没有高手? 一个让我痛苦了n天的问题 关于Hook的一个问题 联合查询如何修改? 获取密码时出错???? my gf photo 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件? VC中组合框为什么不能下拉? 请问哪有最新的wise for window .net的版本可以下载 "java原型开发"指得是什么开发? 能否用VC++实现类似东石公司的虚拟光驱系统 请问会话Bean和实体Bean的区别在那?能给出例子吗? 子集和真子集有什么区别?若A={1,2,3},B={1,2,3}那么A是B的子集,B也是A的子集?而且两集合相等?若A={1,2},B={1,2,3},那么A是B的子集?还是真子集? 1 mol FeCl3与水完全反应转化为氢氧化铁胶体后,其中胶体粒子的数目为NA为什么错了 质量相等的甲乙两球,其密度比是1比2,将它们分别放入水中,甲的浮力是乙球浮力的五分之六,求甲球密度 双曲线的渐近线公式 用含1mol氯化铁的溶液可制得6.02×10*23个氢氧化铁胶体粒子,哪错了 根据IPV4 规定 A类和C类网络IP地址的范围分别是多少?把具体的数字写出来 1mol某烷烃完全燃烧时消耗氧为多少mol,生成多少水? 双曲线顶点到渐近线的距离, 1mol氢氧化铁胶体粒子中所含的氢氧化铁的个数为NA个 ,为什么错 关于集合求A∩B和A∪B的区别设A={x|x 如果双曲线经过点(6,如果双曲线经过点(6,√3)且它的两条渐近线方程是x+-3y=0,那么双曲线方程是?方法 制备氢氧化铁胶体,用1mol/L的氯化铁溶液行吗 集合{(a,b)}与{a,b}的区别就是集合带括号(a,b)与集合不带括号a,b 双曲线共渐近线说明什么? 一摩尔氯化铁完全水解转化为氢氧化铁胶体生成多少人胶粒 差集A-B与B-A有什么差别举个例子 双曲线的渐近线的问题为什么可以讲双曲线的标准式的1改成0求渐近线呢?这个又表示什么意义呢? 1)将1L2mol/L的氯化铁溶液制成胶体后,其中含有氢氧化铁胶粒数为多少2)黄河入海口处的三角洲的形成是否与胶体性质有关 3)电泳现象是否说明胶体带电 A交B=空集 和A U B=空集 有什么区别?A U B=空集 可以德到什么结论? 双曲线渐近线求法通法是化为标准式 再将右边的1变为0 请问是何道理 用含有0.1molFeCl3的饱和溶液制得的氢氧化铁胶体中,胶粒数一定小于0.1NA. {a,b}和{b,a}是不同的集合么? 为什么在解决天体运动问题中天体的匀速圆周运动所需的向心力由万有引力完全提供,不是万有引力还提供给重力,只分一点给向心力吗?我搞不懂啦! 请写出这个化学反应的离子化学式向氢氧化钙液体中通入二氧化碳请写出离子方程式为什么这样写,回答得好的话提高悬赏,谢谢 高一物理必修2题目某同学使小球沿课桌面飞出,用数码相机拍摄小球做平抛运动的录像{每秒15帧照片},并将小球运动的照片打印出来.请问:他大约可以得到几帧小球正在空中运动的照片?{麻烦 已知地球半径为R,地球附近重力加速度为g,计算在距地面高为h的圆形轨道上的卫星做匀速圆周运动的线速度v和周期T. 一些化学反应.有离子方程试的还要写出来.1.浓硫酸跟铜2.浓硫酸跟碳3.稀硝酸跟铜4.浓硝酸跟碳 填空题 所有 还有实验题 怎么算的 有两个不同轨道上的行星A和B绕着它们的中心体C运动,三点始终保持一条直线,且A和B分别在两端.AB为L,A质量为m,B质量为M.求T为什么这道题不符合公式 M=4π²R³/GT²它们的周期一样,中 Ip地址的正确表示方法?下面地址那个正确,怎么判断?(211.123.256.1)(211.123.2.157)(211.123.24.258) 1.两颗小行星都绕太阳做圆周运动,它们的周期分别是T和3T,则它们绕太阳运动的轨道半径之比为多少?2.已知太阳光从太阳射到地球需要500s,地球绕太阳公转的周期约为3.2X10的七次方秒,地球的质 下列( )经济业务的发生不会使得“资产=负债+所有者权益”这一会计等式左右双方的总额发生变动.分别说明原因,下列( )经济业务的发生不会使得“资产=负债+所有者权益”这一会计等 IP地址表示方法有种ip地址的的写法为 192.168.0.1/24 这种方法表示的是个怎么意思啊 比如我要表示192.168.0.25 该怎么表示 我要表示192.168.0.30--192.168.0.40应该怎么表示 求指点具体的算法、规则之 A、B两艘快艇在湖面上做匀速圆周运动,在相同的时间内,它们通过的路程之比是4:3,运动方向改变的角度之比是3:2,它们的向心加速度之比是多少? 氧化铁中混有二氧化硅怎么除 氯酸钾和氧化铜反应?···``` 高一物理必修2题目,麻烦告诉我怎么做?某只走时准确的时钟,分针与时针由转动轴到针尖的长度之比为1.2:1. (1)分针与时针的角速度之比等于多少? (2)分针针尖与时针针尖的线速度之比 1二氧化硅中含有三氧化二铁,如何除去2氧化铜中含有碳粉,如何除去3氯化钾中含有二氧化锰4硝酸钾中含氯化钠和二氧化锰5氢气中含氯化晴和水6二氧化碳中氯化晴和水 氯酸钾和氧化铜生成什么? 两焦点在Y轴上的双曲线的渐近线是什么? 会计恒等式中(资产=负债+所有者权益)和(资产=负债+所有者权益+收入-费用)的区别和具体意思!收入—费用=利润,那么,资产=负债+所有者权益+利润,为什么要加利润? 氧化铜能溶于稀硫酸,是什么微粒使得氧化铜溶解?请设计实验证明 集合A是集合B的真子集与集合A是集合B的子集之间有什么区别? 资产=负债+所有者权益,这一会计恒等式的右端两个因素的位置为什么不能颠倒? 1mol氢氧化铁胶体粒子所含Fe(OH)3的个数NA? 以集合U=a,b,c,d 的子集中选出2个不同的子集,需同时满足以下两个条件:(1)a、b都要选出;(2)对选出的任意两个子集A和B,必有 ,那么共有 种不同的选法必有A属于B或B属于A 有36种 的确是选 支付每月租金,对会计恒等式中的:资产、负债、所有者权益的影响是什么? 完全水解生成氢氧化铁胶体粒子的数目约为选哪个同,请说明不正确的原因 完全燃烧标况下气态烷烃的混合物2.24升,生成二氧化碳6.6克,水4.05克,求我算了几次 总和答案不对 下列经济中,同时涉及到“资产=负债+所有者权益”会计恒等式两边的经济业务的有( ).A、从银行提取现金B、支付欠款C、收回外单位欠款D、收到捐款E、收到投资者投入资本答案是BCDE,请问为 所有的化学反应都有离子产生吗? 子集与真子集有共同点,当A集合属于B集合时,怎么区分A集合是B集合的子集或真子集呢 描写夏天的古诗 离子在化学反应中不一定发生变化,【离子不变化,那么怎么算化学反应呢.有些复分解反应一些离子并没有参与反应,所以这个不能当反例. 某气态烷烃和气态烯烃的混合物2.24L,完全燃烧后水重4.05克,二氧化碳6.6克,书混合气体平均分子量.求混合气体的成份和体积百分组成 离子共存为什么"hco3-"不能和H+ 也不能和OH-共存?为什么氢氧化铜不能和硝酸钠反应? “windows提示:此网络中的另一台计算机与该计算机的IP地址相同. 集合a属于集合b 集合a是集合b的子集 集合a是集合b的真子集 三种说法的区别 化学反应中离子在溶液中大量共存是说他们之间不会反应吗? 又怎么判断反应是否进行? 可以告诉我吗? 谢谢 在溶有1mol氢氧化铁胶体中,是不是含有N A 个氢氧化铁胶粒?为什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘