delphi报错
var i,j:integer;
mmsqls,mtsqls:string;
ttsqls:string;
// mmfilegroup:string;
mmvariant:string;
a,b:string;
strfile,strvalue:string;
begin
try
mmsqls:='select * from _syscopyschemejob where schemeid ='+ quotedstr(self.replid );
with self.DQuery do
begin
close;
sql.Clear;
sql.Add(mmsqls);
open;
end;
if self.DQuery.isempty then exit;
mmfilegroup:=self.DQuery.Fieldbyname('fieldgroup').AsString ; mmvariant:=self.DQuery.Fieldbyname('schemevariant').AsString ;
mtsqls:='select max(id) as seq from _sysCopyschemeVariant where fieldgroup='+quotedstr(mmfilegroup);
with self.DQuery do
begin
close;
sql.Clear;
sql.Add(mtsqls);
open;
end;
j:=self.DQuery.Fieldbyname('seq').AsInteger ;
if j<=0 then exit;
for i:=1 to j do
begin
mtsqls:='select * from _sysCopyschemeVariant where fieldgroup='+quotedstr(mmfilegroup)+'and id='+inttostr(i);
with self.DQuery do
begin
close;
sql.Clear;
sql.Add(mtsqls);
open; //fieldvalue fieldid
end;
a:=self.DQuery.Fieldbyname('fieldid').AsString ;
b:=self.DQuery.Fieldbyname('fieldvalue').AsString ;
if i=1 then
begin
strfile:=a;
strvalue:=b;
end
else
begin
strfile:=strfile+','+ a;
strvalue:= strvalue+','+ b;
end;
end;
finally
Freeandnil(self.DQuery) ;
end;
end;
Procedure TDBCopyScheme.Getshinitwhere() ; //得到来源表条件里面的值。
var
mySQls,filed:string;
A:ANSIString;
i:integer;
Str:TStringList;
shu:string;
begin
Str := TStringList.Create ;
try
str.Delimiter := '&';
str.DelimitedText:=bianwhere;
for i :=0 to Str.Count do
begin
if eco3funlib.FindStr(strfile,'Str.Strings[i]',false) then exit;
shu:=eco3funlib.GetRefFieldbySelfField(strfile,strvalue,'Str.Strings[i]',',');
bianwhere:= replacestr(bianwhere,'&'+Str.Strings[i]+'&',shu,false) ;--出错
end;
finally
end;
end;
报错
---------------------------
Debugger Exception Notification
---------------------------
Project iBaanC4.exe raised exception class EStringListError with message 'List index out of bounds (3)'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------