比较字符串的一部分

J B*_*Bom 2 delphi

我遇到了Delphi的问题.

我必须比较一个4字符串的字符串,数据库中的数据是6个字符长(邮政编码(荷兰)).

我现在拥有的是:

procedure Tfmpostcode.Button1Click(Sender: TObject);
var
  postcode : string;
  target: string;
begin
 postcode := ePostcode.text;
 target :=  leftStr(postcode,4);
 dm.atinlog.filter   := 'postcode ='  + (target);
 dm.atinlog.filtered := true;
 dbgrid1.visible := true;
end;
Run Code Online (Sandbox Code Playgroud)

我一直在网上搜索,我发现你可以使用ansistring.但它给出了一个错误.

缺少运算符或分号

我该怎么办?

我更新了代码

附加信息:

我需要将字符串的一部分与数据库中的数据进行比较如果我在编辑字段中输入5504BX,dbgrid应该显示5504LA 5504KJ,所有这些都以前4个数字开头.这些字母无关紧要.

Mik*_*son 6

我想你需要引用字符串.使用QuotedStr.

dm.atinlog.filter   := 'postcode = '  + QuotedStr(target);
Run Code Online (Sandbox Code Playgroud)

如果你需要一张外卡比赛,你可以做到

dm.atinlog.filter   := 'postcode like '  + QuotedStr(target+'%');
Run Code Online (Sandbox Code Playgroud)