下边是我在中间层中的程序,用于返回数据到客户端。
procedure Tappserverforjb.SelectAllData(const SQlText: WideString;
  var Vdata: OleVariant);
begin
  with  DM.ADOQSelect do
  begin
    Close;
    SQL.Clear;
    SQL.Text :=  SQlText;
    try
      Open;
      CldSelect.Active := False;
      CldSelect.Active := True;
      Vdata := CldSelect.Data;
    finally
      CldSelect.Close;
      Close;
    end;
  end;
end;
这是我在客户端调用中间层中的函数。
var
  sqltxt :string;
  dataTemp : Olevariant;
begin
  sqltxt := 'select  sum(Mark_score) as  Mark_score,Mark_id from shiftScore where Mark_shift=1  and Mark_Y='+''''+'2006-01-01'+''''+' group by  Mark_id order by Mark_id ';
  socketMark.AppServer.SelectAllData(sqltxt,dataTemp);
  cdstmep.Data :=dataTemp;
end;奇怪的是,求和就的不到数据,如果把sum去掉,很正常。那位大哥帮拌解决一下?