您的位置:首页 > 编程语言 > Delphi

Delphi多条件模糊查询的实现

2020-02-16 03:02 701 查看


多条件模糊查询功能是所有信息系统的标配功能,其核心原理在于如何有效的建立模糊查询的SQL语句。这里把以前经手的项目中的局部代码整理并分享出来,供大家参考复用,欢迎Copy&Paste。

简要说明

接下来展示的Demo有5个数据字段作为模糊查询的条件,任意输入就可以进行多条件组合模糊查询。

代码部分

以下代码在Delphi7下正常运行。需要注意2点:

  1. 当全部查询条件为空值时,要对sql语句进行默认查询处理;
  2. 组合sql时的转译符号的处理;
procedure TForm_Main.cxButton_QueryClick(Sender: TObject);
var
sSQL : String;
begin
sSQL := 'SELECT * FROM goods WHERE 1=1';
// if all condition is blank, query Top 100
if (cxTextEdit_type.Text = '') and (cxTextEdit_brand.Text = '')
and (cxTextEdit_material.Text = '') and (cxTextEdit_size.Text = '')
and (cxTextEdit_name.Text = '') then
begin
sSQL := 'SELECT * FROM goods LIMIT 100';
end
else if cxTextEdit_type.Text <> '' then
begin
sSQL := sSQL + ' AND type LIKE ''%' + cxTextEdit_type.Text + '%''';
end;
if cxTextEdit_brand.Text <> '' then
begin
sSQL := sSQL + ' AND brand LIKE ''%' + cxTextEdit_brand.Text + '%''';
end;
if cxTextEdit_material.Text <&
4000
gt; '' then
begin
sSQL := sSQL + ' AND material LIKE ''%' + cxTextEdit_material.Text + '%''';
end;
if cxTextEdit_size.Text <> '' then
begin
sSQL := sSQL + ' AND size LIKE ''%' + cxTextEdit_size.Text + '%''';
end;
if cxTextEdit_name.Text <> '' then
begin
sSQL := sSQL + ' AND name LIKE ''%' + cxTextEdit_name.Text + '%''';
end;
......
end;

参考资料

这篇 《实现多条件模糊查询SQL语句》讲得十分详细,我就不多重复了,大家比对看吧。

PS:最佳实践就是多演示少码字,哈哈~

阅读原文

  • 点赞
  • 收藏
  • 分享
  • 文章举报
cutepat 发布了11 篇原创文章 · 获赞 0 · 访问量 1583 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: