for j := 1 to i do
begin
with TADOQuery.Create(nil) do
begin
Connection := TDBConnector.Instance.Connection;
sSQL := 'select * from TB_CardNumInfo where CardNum = '''+Copy(AValue,(j*4)+1,(j*4)+3)+'''';
SQL.Text := sSQL;
Open;
if RecordCount < 1 then
Result := '卡产品号没有找到';
Next;
end;
end;上面代码 如果j=1的时候应该是提取AValue的5-7位啊, 但是为什么结果是1-7位
begin
with TADOQuery.Create(nil) do
begin
Connection := TDBConnector.Instance.Connection;
sSQL := 'select * from TB_CardNumInfo where CardNum = '''+Copy(AValue,(j*4)+1,(j*4)+3)+'''';
SQL.Text := sSQL;
Open;
if RecordCount < 1 then
Result := '卡产品号没有找到';
Next;
end;
end;上面代码 如果j=1的时候应该是提取AValue的5-7位啊, 但是为什么结果是1-7位
你想5-7应该写成,Copy(AValue,(j*4)+1,3)固定长度3个
AValue是什么值如果有中文
最好转成widestring