希望当输入字段不完整时能显示出包含输入字段的所有信息?

解决方案 »

  1.   

    function EditComplete(mEdit: TEdit; mItems: TStrings;
      mCase: Boolean = True): Boolean;
    var
      I, T: Integer;
      vSubStr, S: string;
    begin
      Result := False;
      if (not Assigned(mEdit)) or (not Assigned(mItems)) then Exit;  vSubStr := mEdit.Text;
      if not mCase then vSubStr := UpperCase(vSubStr);
      for I := 0 to Pred(mItems.Count) do begin
        S := mItems[I];
        if not mCase then S := UpperCase(S);
        if (Pos(vSubStr, S) = 1) and (vSubStr <> S) then begin
          T := Length(vSubStr);
          mEdit.Text := mItems[I];
          mEdit.SelStart := T;
          mEdit.SelLength := Length(mItems[I]) - T;
          Result := True;
          Break;
        end;
      end;
    end; { EditComplete }procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      case Key of
        VK_BACK, VK_DELETE, VK_LEFT, VK_RIGHT, VK_DOWN, VK_UP: ;
      else EditComplete(TEdit(Sender), Memo1.Lines, False);
      end;
    end;
      

  2.   

    组sql语句吧   
    加%号支持模糊查询
      

  3.   

    Var
        NameStr:String;∥设置字符串中间变量
        Begin
        NameStr:=′王′;
        Query1SQLClear{清除SQL属性中的SQL命令语句}
        Query1SQLAdd(′Select*FromCustomdbwhere(Name1&gt;=N1)and(Name2&lt;=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;
      

  4.   

    我的输入字段要从edit.text中获取
      

  5.   

    Query1.Sql.Add('Select * from Table1 where Name='''+'%'+Edit1.Text+'%'+'''');
      

  6.   

    ADOQuery1.SQL.Add('课程名称 like'''+'%'+edit1.text+'%'+'''');
    这条语句对吗
      

  7.   

    Sorry. Wrong, It's 'Like'.
      

  8.   

    with adoquery1 do 
    begin
    close;
    sql.clear;
    sql.add('select * from table where Name=:Name');
    Parameters.ParamByName('Name').value:=trim(edit1.text)+'%';
    // Parameters.ParamByName('Name').value:='%'+edit1.text)+'%';
    sql.prepared;
    execsql;
    end;//edit1change事件