在数据库中字段为rkdbh 类型 varchar 我在窗体上添加了一个edit控件,查询语句如下:
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select * from rk where rkdbh='''+trim(edit1.Text)+'''');
adoquery2.Open;问题如下:
数据库中rkdbh数据类型为 000012  000013 000014 我想在edit控件中手动输入12后,就能查询出000012的记录,请问sql语句中where条件怎么去写?

解决方案 »

  1.   

    '...where rkdbh like ''%'+trim(edit1.text)+'%''');
      

  2.   

    //uses StrUtils
    'select * from rk where rkdbh='''+RightStr('000000' + trim(edit1.Text), 6)+''''---------
    问题如果解决请及时结帖
      

  3.   

    ('select * from rk where rkdbh=''%'+trim(edit1.Text)+'''')
      

  4.   


    //防止注入
    adoquery2.SQL.Add('select * from rk where rkdbh=:params'); 
    parameter.ParamByName('params').AsString:=RightStr(IntToStr(1000000+StrToInt(Edit1.Text)),6);
      

  5.   

    用like肯定不行了,用like的话0000012与0010012都符合条件。
      

  6.   

    adoquery2.Close; 
    adoquery2.SQL.Clear; 
    adoquery2.SQL.Add('select * from rk');
    adoquery2.SQL.Add(' where rkdbh='+''''+'%'+trim(edit1.Text)+'%'+''''); 
    adoquery2.Open;