zoukankan      html  css  js  c++  java
  • Delphi与SQL模糊查询(转载)

    1.用变量进行模糊查询  
    对数据进行模糊查询主要用SQL语句LIKE来实现。该语句放在Where语句的后面,使用标识符“%”、“_”、“[]”、“[^]”对数据进行模糊查询。  
    例如,对姓名为“王”,并且姓名为两个字的学生信息。  
    Select * FROM MR_Student where 姓名 like '林_'  
    例如,查询数学成绩在70~79之间的学生信息。  
    Select * FROM MR_Student where 数学 like '7[0123456789]'  
    例如,查询除三年级二班的所有学生信息。  
    Select * FROM MR_Student where 班级 like '三年[^二]_'  
    例如,查询三年级的所有学生信息。  
    Select * FROM MR_Student where 班级like '三*'  
    下面对姓名进行模糊查询,只要在“姓名”文本框中输入名字中的任意一个字,便可以查找相关人员的信息。  
    操作步骤如下:  
    (1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDateTimePicker、TDataSource、TButton和TDBGrid等组件。  
    (2)主要程序代码如下:  
      with ADOQuery1 do  
      begin  
        close;  
        SQL.Clear;  
        SQL.Add('Select * FROM MR_Student where 姓名 like '+''''+'%'+Trim(edit1.Text)+'%'+'''');  
        open;  
      end;  
    上面的SQL语句也可以写成如下形式:  
    SQL.Add('Select * FROM MR_Student where 姓名 like ''%'+Trim(edit1.Text)+'%''');  
      
      
    2.使用参数进行模糊查询  
    在Delphi中进行模糊查询时,可以用TADOQuery组件来向SQL语句中传递参数。  
    其格式为:“Like:参数名”。  
    利用TADOQuery组件的ParamByName方法将值传递给参数。  
    * 注意:在Like后面必须加空格。  
    下面用TADOQuery组件进行参数传递,并对数据进行模糊查询。  
    操作步骤如下:  
    (1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDateTimePicker、TDataSource、TButton和TDBGrid等组件。  
    (2)主要程序代码如下:  
      with ADOQuery1 do  
      begin  
        close;  
        SQL.Clear;  
        SQL.Add('Select * FROM MR_Student where 姓名 like :aa');  
        Parameters.ParamByName('aa').Value:='%'+trim(Edit1.text)+'%';  
        open;  
      end;  
        
        
    3.复杂模糊查询  
    在对信息进行模糊查询的时候,也可以通过逻辑运算符(AND、OR、NOT)插入其他的查询条件来提高查询的速度。  
    下面是模糊查询和其他查询方法相结合而形成的复杂模糊查询。  
    操作步骤如下:  
    (1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDateTimePicker、TDataSource、TButton、TComboBox和TDBGrid等组件。  
    (2)主要程序代码如下:  
      if CheckBox1.Checked=true then  
       Str := ' and 班级='+''''+ComboBox1.Text+''''  
      else  
       ComboBox1.Enabled := False;  
      with ADOQuery1 do  
      begin  
       close;  
       SQL.Clear;  
       SQL.Add('Select * FROM MR_Student where 姓名 like ''%'+Trim(edit1.Text)+'%'''+Str);  
       open;  
      end;

  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/shawnloong/p/1874806.html
Copyright © 2011-2022 走看看