比如Edit1中输入1可以查询到SQL表中00000001的雇员信息;输入20可以查询到SQL表中00000020的雇员信息。
也就是说Edit1中输入截掉雇员编号前面的零,仍然可以可以查询到相应雇员的信息。

解决方案 »

  1.   

    使用模糊查询不就行了,加入@Edit1是传入的edit1的值
    select * from table where id like '%'+rtrim(ltrim(@Edit1))+'%'
    当然也可以先传入trim(Edit1.Text)的值,sql语句里就不截取空格了
      

  2.   

    最笨的方法
    str:string;
    str:=inttostr(00000000+strtoint(edit1.text));
    select * from table where ziduan=str
      

  3.   


    之前语句是这样的:where employeeno='''+employeeno_Edit1.Text+'''
    如何改成like语句?
      

  4.   

    sql := 'select * from employees where employeeno like ''%'+Trim(employeeno_Edit1.Text)+'''';
      

  5.   

    var
      i,empno:integer;
      sempno:string;
      __sql:string;
    begin
      empno := StrToInt(Trim(Edit1.Text));
      for i:=0 to 8-len(Trim(Edit1.Text)) do
        sempno := '0'+sempno;
      sempno := sempno + IntToStr(empno);  __sql := 'select * from employee where empno='''+sempno+'''';
    end;
      

  6.   

    like的方法应该不行
    比如 20
    会出现
    00020
    00120
    00220
    ***
    99920
    etc
      

  7.   

    var i1, i2: integer;
      str1, str2: string;
    begin
      Str1 := '00000000';
      Str2 := Str1 + trim(Edit1.Text);
      i1 := length(Str1);
      i2 := length(Str2);
      Edit2.Text := copy(Str2, i2 - i1 + 1, i1);Edit1 输入
    Edit2 输出__sql := 'select * from employee where empno='''+trim(Edit2.Text)+''''; 
      

  8.   

    比如在Edit1中输入560可以查询到数据库表A对应00000560的雇员信息;
        在Edit1中输入4563可以查询到数据库表A对应00004563的雇员信息;对Edit1中输入编号进行左补零操作,再对相应编号雇员信息进行查询。
      

  9.   

    1.方法一:var
    i:Double;
    begin
    if  TryStrToFloat(edit1.Text,i) then begin
       with adoquery1 do begin
         close;
         sql.Text:='select * from [员工信息表] where [雇员编号]='''+FormatFloat('00000000',i)+'''';
         open;
       end;
    end;
    2.方法二:with adoquery1 do begin
       close;
       sql.Text:='select * from [员工信息表] where [雇员编号] like ''%'+edit1.text+'''';
       edit1.Text:=sql.Text;
     end;
      

  10.   

    修正一下:
    方法2:with adoquery1 do begin
       close;
       sql.Text:='select * from [员工信息表] where [雇员编号] like ''%'+edit1.text+'''';
       open;
     end;
      

  11.   

    方法三:procedure TForm1.Button1Click(Sender: TObject);
    var
    s:string;
    i:integer;
    begin
      if trim(edit1.Text)<>'' then  begin
        i:=8-Length(edit1.Text);
        s:=StringOfChar('0',i);
        s:=s+edit1.Text;
        with adoquery1 do begin
         close;
         sql.Text:='select * from [员工信息表] where [雇员编号]='''+s+'''';
         open;
       end;
      end;
    end;