注册 登录
编程论坛 Delphi论坛

求delphi+sql设计中怎么查询含有多个数字相同的数字

起飞 发布于 2013-05-10 20:35, 747 次点击
变量 km_num:string 是全局变量

procedure Tmingxikemu.DBGrid1CellClick(Column: TColumn);
begin
    km_num:=adoquery1.Fieldbyname('科目编号').AsString ;
  
end;

end

procedure Tmingxikemu.BitBtn1Click(Sender: TObject);
begin
  adoquery1.Close ;
   adoquery1.SQL.Clear ;
  adoquery1.SQL.Add('select * from 科目表1 where 科目编号 like '''+km_num+'%''');
   adoquery1.Open ;
为什么只能查到一个km_num所指的一个值  而把km_num改为数字就可以查到所有所写数字开头的全部数
2 回复
#2
mayanzs2013-05-15 15:10
既然用了km_num:=adoquery1.Fieldbyname('科目编号').AsString ;
那like '''+km_num+'%'''其实与
='''+km_num+''''完全一致了,即只能查到一个km_num所指的一个值了。
#3
mayanzs2013-05-15 15:11
如果要查以km_num的打头的第一个数字相同的记录,
则km_num:=copy(adoquery1.Fieldbyname('科目编号').AsString,1,1) ;
1