美文网首页
Delphi多条件模糊查询的实现

Delphi多条件模糊查询的实现

作者: hanhandog | 来源:发表于2019-11-17 07:56 被阅读0次

    多条件模糊查询功能是所有信息系统的标配功能,其核心原理在于如何有效的建立模糊查询的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 <> '' 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:最佳实践就是多演示少码字,哈哈~

    阅读原文

    相关文章

      网友评论

          本文标题:Delphi多条件模糊查询的实现

          本文链接:https://www.haomeiwen.com/subject/gccvictx.html