rpgGatherProjDm.pas 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. unit rpgGatherProjDm;
  2. interface
  3. uses
  4. SysUtils, Classes, sdProvider, sdDB, GatherProjInfo, ADODB;
  5. type
  6. TrpgGatherProjData = class(TDataModule)
  7. sdpGatherProj: TsdADOProvider;
  8. sddGatherProj: TsdDataSet;
  9. private
  10. procedure SaveGatherInfo(AProjs: TList);
  11. public
  12. constructor Create(AConnection: TADOConnection);
  13. procedure SaveDataTo(AProjs: TList; const ATableName: string);
  14. end;
  15. implementation
  16. {$R *.dfm}
  17. { TrpgGatherProjData }
  18. constructor TrpgGatherProjData.Create(AConnection: TADOConnection);
  19. begin
  20. inherited Create(nil);
  21. sdpGatherProj.Connection := AConnection;
  22. end;
  23. procedure TrpgGatherProjData.SaveDataTo(AProjs: TList; const ATableName: string);
  24. begin
  25. sdpGatherProj.TableName := ATableName;
  26. sddGatherProj.Open;
  27. sddGatherProj.BeginUpdate;
  28. try
  29. SaveGatherInfo(AProjs);
  30. finally
  31. sddGatherProj.EndUpdate;
  32. sddGatherProj.Save;
  33. end;
  34. end;
  35. procedure TrpgGatherProjData.SaveGatherInfo(AProjs: TList);
  36. var
  37. i: Integer;
  38. Rec: TsdDataRecord;
  39. ProjInfo: TGatherProjInfo;
  40. begin
  41. for i := 0 to AProjs.Count - 1 do
  42. begin
  43. ProjInfo := TGatherProjInfo(AProjs.Items[i]);
  44. Rec := sddGatherProj.Add;
  45. Rec.ValueByName('ID').AsInteger := i;
  46. Rec.ValueByName('ProjectID').AsInteger := ProjInfo.ProjectID;
  47. Rec.ValueByName('ProjectName').AsString := ProjInfo.ProjectName;
  48. end;
  49. end;
  50. end.