MainDataListDm.pas 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. unit MainDataListDm;
  2. // 各期主要数据一览表,与项目管理界面更新有关
  3. // 切换最新一期数据与其他各期数据时,保存最新一期数据
  4. // 保存时,如当前期为最新一期数据,保存最新一期数据
  5. // 往期数据只做历史数据备用,不做修改
  6. interface
  7. uses
  8. SysUtils, Classes, sdDB, sdProvider, ADODB;
  9. type
  10. TMainListData = class(TDataModule)
  11. sdpMainDataList: TsdADOProvider;
  12. sddMainDataList: TsdDataSet;
  13. private
  14. FProjectData: TObject;
  15. public
  16. constructor Create(AProjectData: TObject);
  17. destructor Destroy; override;
  18. procedure Open(AConnection: TADOConnection);
  19. procedure Close;
  20. procedure Save;
  21. function GetPhaseMainRecord(APhaseIndex: Integer): TsdDataRecord;
  22. property ProjectData: TObject read FProjectData;
  23. end;
  24. implementation
  25. {$R *.dfm}
  26. { TMainListData }
  27. procedure TMainListData.Close;
  28. begin
  29. sddMainDataList.Close;
  30. end;
  31. constructor TMainListData.Create(AProjectData: TObject);
  32. begin
  33. inherited Create(nil);
  34. FProjectData := AProjectData;
  35. end;
  36. destructor TMainListData.Destroy;
  37. begin
  38. inherited;
  39. end;
  40. function TMainListData.GetPhaseMainRecord(
  41. APhaseIndex: Integer): TsdDataRecord;
  42. begin
  43. Result := sddMainDataList.Locate('PhaseID', APhaseIndex);
  44. if not Assigned(Result) then
  45. begin
  46. Result := sddMainDataList.Add;
  47. Result.ValueByName('PhaseID').AsInteger := APhaseIndex;
  48. end;
  49. end;
  50. procedure TMainListData.Open(AConnection: TADOConnection);
  51. begin
  52. sdpMainDataList.Connection := AConnection;
  53. sddMainDataList.Open;
  54. end;
  55. procedure TMainListData.Save;
  56. begin
  57. sddMainDataList.Save;
  58. end;
  59. end.