如何在DELPHI中实现字段模糊查询??

我在做一个简单的学生信息管理系统,其中查询部分是设计思路是这样的:使用两个combobox组件选择查询字段和对应字段可能的查询方式,一个edit组件用来输入查询条件,一个... 我在做一个简单的学生信息管理系统,其中查询部分是设计思路是这样的:
使用两个combobox组件选择查询字段和对应字段可能的查询方式,一个edit组件用来输入查询条件,一个查询按钮,一个用来显示结果的DBGrid。使用ADOQuery连接数据库。
例:选择“姓名”,查询方式中只会出现“姓名中包含”,在E dit中输入姓名中部分内容即可进行模糊查询。
选择“班级”,查询方式中会出现“专业”“班别”,在E dit中输入相应内容即可进行模糊查询。
Combobox 的设置没有问题。
哪位大侠能诉我如何编写查询程序?如果有实例代码就更好了
dragon.xf@163.com 我的电子邮箱
展开
 我来答
百度网友fd4aad1af
2006-04-14 · TA获得超过502个赞
知道答主
回答量:547
采纳率:0%
帮助的人:318万
展开全部
Delphi作为一个强大的数据库应用开发工具的一个重要标志,就是支持SQL编程。在实际的过程中,经常需要对某些字段进行模糊查询。如对“姓名”字段进行查询,当输入“王”时,能自动地将王姓的所有记录列出来。其实,通过结合SQL和Delphi的特点,就能很容易地完成这个功能。其基本原理是:查询时,将查询的范围控制在姓名大于‘查询字符串+chr(0)’与小于‘查询字符串+chr($ff)’之间,就能将满足条件的所有记录查询出来了。下面是具体的例子:
Var
NameStr:String;‖设置字符串中间变量
Begin
NameStr:=′王′;
Query1??SQL??Clear{清除SQL属性中的SQL命令语句}
Query1??SQL??Add(′Select*FromCustom??dbwhere(Name1>=N1)and(Name2<=N2)′);‖SQL命令语句
Query1??params[0]??AsString:=NameStr+chr(0);‖控制参数在NameStr+Chr(0)
Query1??params[1]??AsString:=NameStr+chr($ff);‖和NameStr+Chr($ff)之间
Query1??Open;‖打开数据库,执行SQL查询
End;
匿名用户
2006-04-14
展开全部
SQL 语句中加入 like
下面是偶一个系统用到的查询:

DataModule1.bxzlxg.sql.text:='select * from maindata where khcp like :khcps';

ataModule1.bxzlxg.Parameters.parambyname('khcps').value:='%'+khcp.text+'%';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式