delphi mysql模糊搜索_Delphi设计数据库查询的几种方法

本文分享了DELPHI中如何通过FILTER属性进行快速数据库查询,包括静态和动态过滤,以及如何使用SELECT语句进行复杂条件查询、字段重命名、计算和模糊搜索。适合Delphi开发者提升数据库操作效率。
摘要由CSDN通过智能技术生成

DELPHI在设计数据库的查询方面真是太简单上手了,在实际运用中,本人归纳了以下几点,与大家共享。

(一) 过滤

(1) 一般过滤

DELPHI在设计数据库查询时使用的最简单最普遍的方法。在表的属性中(例如TABLE1),有 FILTER属性,设置该属性值为要查询的条件,静态设置方法就是直接在该属性值后输入条件,如:XB=’男’ AND NL<35 ,然后设置该表的另一属性FILTERED值为TRUE,TABLE1.ACTIVE为 TRUE后,这样在DBGRID中就能看到符合条件的记录了;动态设置方法就是在程序的运行过程中根据应用需要设置和改变条件,这时在输入条件时就用:

WITH TABLE1 DO

BEGIN

FILTER :=‘ XB=’+‘‘‘‘+‘男’+’’’’+‘ AND NL<35 ’;

FILTERED :=TRUE ;

END;

(2)查询以某个字开头的记录

如要查询姓李的记录,在FILTER中输入:XM = ‘李* ’;

(3)查询备注形或图形字段

上面的查询字段是普通的字段,如果要查询MEMO,PICTURE之类的字段,例要查询简历不为空时则在FILTER属性值中输入为: NOT ( JL IS NULL)。

(二) 使用SELECT语句

(1)一般的条件动态设置如下(比如数据库名为DA.DB):

WITH QUERY1 DO

BEGIN

CLOSE ;

IF PREPARED THEN UNPREPARE ;

SQL .CLEAR ;

SQL .ADD(‘ SELECT * FROM DA WHERE XM= :XM ’) ;

PARAMS[0].ASSTRING:=‘刘清’ ;

PREPARE ;

OPEN ;

END;

静态设置,只要在QUERY1的SQL属性值中输入条件,如果条件中有参数(条件值为

:变量名),则在PARAMS的值设定中输入条件值,是字母的话要区分大小写,设置QUERY1的ACTIVE为TRUE即可。

(2)在查询出来的结果中改变显示的字段名:

如将查询结果显示的原字段名XM改为 姓名:

SELECT XM AS 姓名,XB,NL FROM DA

这种方法可以针对在DBGRID中不同数据库显示出相同字段。

针对计算结果显示一个字段:(如查询某人的年工资,XM—姓名,BM—部门,YGZ—月工资额)

SELECT XM,BM,YGZ*12 AS 年工资额 FROM DA

两个字段计算显示一个结果字段:(如查询维修费用,SL—使用的零件数量,DJ:零件单价,DJBH—单据编号)

SELECT DJBH ,SL*DJ AS 维修费用 FROM WXK

(3)模糊查询:

使用LIKE 语句。如:要查询档案库中名字叫‘强’的人的记录:

SELECT * FROM DA WHERE XM LIKE ‘%强%’

动态设置的话用:

SELECT * FROM DA WHERE XM LIKE :XM

然后设置参数:PARAMS[0].ASSTRING :=‘%强%’ ;

如果要查询MEMO类字段如简历中包含“教师”这个条件的:

SELECT * FROM DA WHERE JL LIKE ‘%教师%’

以上例子在DELPHI5下测试通过。

posted on 2005-08-12 15:29 cyberfan 阅读(156) 评论(0)  编辑 收藏 引用 所属分类: delphi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值