function GetUserInfo: string; 
var
  adoq: TADOQuery;
  cds: TClientDataSet;
  dsp: TDataSetProvider;
  vData: string;
begin
  adoq := TADOQuery.Create(nil);
  adoq.Connection := fmLogon.adocMain;
  adoq.Active := false;
  adoq.SQL.Clear;
  adoq.SQL.Add('Select * from T_LOGIN_USER');
  adoq.Active := true;  dsp := TDataSetProvider.Create(nil);
  dsp.DataSet := adoq;
  dsp.Options := [poAllowCommandText];
  dsp.Name:='dsp';  cds := TClientDataSet.Create(nil);
  cds.ProviderName := 'dsp';
  cds.CommandText := 'Select * from T_LOGIN_USER';
  cds.Active := true;  //出错:Missing Data Provider or Data Packet
  vData := adoq['Pwd'];
  result := vData;
  cds.Free;
  dsp.Free;
  adoq.Free;
end;我已经指定了cds.ProviderName := 'dsp';为什么还出错呢?