按7楼得看了一下,好像不是那个原因;
show出来得就是 ID in (‘102’)
下面得代码也看看吧;如图个人和部门也调用了代码,但是没问题得;对了,还有我们开发部得没问题,远程看了一下现场得,这是现场发现得问题
function TInfoQueryRule.GetIDStrings(AType, AState, ABizURL: string): string;
var
lIDStr, lID: string;
begin
lIDStr := '';
if AType = 'SELF' then
begin
with DataSetQueryRule_Self do
begin
Close;
SQLFiltered := False;
SQLFilter := 'TFLOW.FSTATE = ''' + AState +
''' and TFLOW.FPROCURL = ''' + ABizURL + '''';
SQLFiltered := True;
Open;
First;
while not Eof do
begin
lID := FieldByName['FID'].AsString;
if lIDStr <> '' then
lIDStr := lIDStr + ',''' + lID + ''''
else
lIDStr := '''' + lID + '''';
Next;
end;
lIDStr := '(' + lIDStr + ')';
end;
end
else
if AType = 'DEPT' then
begin
with DataSetQueryRule_Dept do
begin
Close;
SQLFiltered := False;
SQLFilter := 'TFLOW.FSTATE = ''' + AState +
''' and TFLOW.FPROCURL = ''' + ABizURL + '''';
SQLFiltered := True;
Open;
First;
while not Eof do
begin
lID := FieldByName['FID'].AsString;
if lIDStr <> '' then
lIDStr := lIDStr + ',''' + lID + ''''
else
lIDStr := '''' + lID + '''';
Next;
end;
lIDStr := '(' + lIDStr + ')';
end;
end
else
if AType = 'ORG' then
begin
with DataSetQueryRule_Org do
begin
Close;
SQLFiltered := False;
SQLFilter := 'TFLOW.FSTATE = ''' + AState +
''' and TFLOW.FPROCURL = ''' + ABizURL + '''';
SQLFiltered := True;
Open;
First;
while not Eof do
begin
lID := FieldByName['FID'].AsString;
if lIDStr <> '' then
lIDStr := lIDStr + ',''' + lID + ''''
else
lIDStr := '''' + lID + '''';
Next;
end;
lIDStr := '(' + lIDStr + ')';
end;
end
else
if AType = 'ALL' then
begin
with DataSetQueryRule_All do
begin
Close;
SQLFiltered := False;
SQLFilter := 'TFLOW.FSTATE = ''' + AState +
''' and TFLOW.FPROCURL = ''' + ABizURL + '''';
SQLFiltered := True;
Open;
First;
while not Eof do
begin
lID := FieldByName['FID'].AsString;
if lIDStr <> '' then
lIDStr := lIDStr + ',''' + lID + ''''
else
lIDStr := '''' + lID + '''';
Next;
end;
lIDStr := '(' + lIDStr + ')';
end;
end;
Result := lIDStr;
end;
end. |