中国开发网: 论坛: 程序员情感CBD: 贴子 318010
ysb_ysb_ysb: 今天要搞玩了,明天上午就要搞演示,只有用最原始,最简单的办法搞了在说,哈哈
SetLength(ResultVariant,2);
tempCds := TClientDataSet.Create(nil);
sSql := 'Select * from SHAsysInfo where TypeFlag = ''1'' ';
GetData(sSql, vResultData);
tempCds.Data := vResultData;
ResultVariant[0] := vResultData;
SetLength(ArrCount, tempCds.RecordCount);
for I := Low(ArrCount) to High(ArrCount) do
ArrCount[I] := 0;
SetLength(ArrScore, tempCds.RecordCount);
tempCds.First;
for I := 0 to tempCds.RecordCount - 1 do
begin
ArrScore[I].MaxScore := tempCds.FieldByName('MaxScore').AsFloat;
ArrScore[I].MinScore := tempCds.FieldByName('MinScore').AsFloat;
FileName := FileName + ' OrderByScore as '+ tempCds.FieldbyName('Name_').AsString + ',' ;
cdsFilter.Next;
tempCds.Next;
end;
SetLength(tempVariant,2);
sSql := 'Select distinct' + FileName + ' ClassID,SubjectID from SHExamGrapeScore where ExamPlan = '''+vExamPlan+''' ';
GetData(sSql, vResultData);
cdsFilter.Data := vResultData;
cdsFilter.First;

sSql := 'Select * ';
GetData(sSql, vResultData);
cdsFilter.Data := vResultData;
cdsFilter.First;
for J := 0 to cdsFilter.RecordCount - 1 do
begin
for I := Low(ArrScore) to High(ArrScore) do
if (cdsFilter.FieldByName('SubjectScore').AsFloat >= ArrScore[i].MinScore) and
(cdsFilter.FieldByName('SubjectScore').AsFloat < ArrScore[i].MaxScore) then
begin
ArrCount[I] := ArrCount[I] + 1;
break;
end;
cdsFilter.Next;
end;
ResultVariant[1] := ArrCount;
vDetal := RetrieveData(ResultVariant);

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录