home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / CACHEDUP.CPP < prev    next >
C/C++ Source or Header  |  1997-01-16  |  4KB  |  101 lines

  1. //----------------------------------------------------------------------------
  2. //Borland C++ Builder
  3. //Copyright (c) 1987 Borland International Inc. All Rights Reserved.
  4. //----------------------------------------------------------------------------
  5. //---------------------------------------------------------------------------
  6. #include <vcl\vcl.h>
  7. #pragma hdrstop
  8.  
  9. #include "cachedup.h"
  10. #include "datamod.h"
  11. #include "about.h"
  12. //---------------------------------------------------------------------------
  13. #pragma resource "*.dfm"
  14. TCacheDemoForm *CacheDemoForm;
  15. //---------------------------------------------------------------------------
  16. __fastcall TCacheDemoForm::TCacheDemoForm(TComponent* Owner)
  17.   : TForm(Owner)
  18. {
  19. }
  20. //---------------------------------------------------------------------------
  21. void __fastcall TCacheDemoForm::FormCreate(TObject *Sender)
  22. {
  23.    FDataSet = (TDBDataSet*)CacheData->CacheDS->DataSet;
  24.    FDataSet->CachedUpdates = CachedUpdates->Checked;
  25.    SetControlStates(FDataSet->CachedUpdates);
  26.    FDataSet->Open();
  27. }
  28. //---------------------------------------------------------------------
  29. void __fastcall TCacheDemoForm::SetControlStates(BOOL Enabled)
  30. {
  31.    ApplyUpdatesBtn->Enabled = Enabled;
  32.    CancelUpdatesBtn->Enabled = Enabled;
  33.    RevertRecordBtn->Enabled = Enabled;
  34.    UnModifiedCB->Enabled = Enabled;
  35.    ModifiedCB->Enabled = Enabled;
  36.    InsertedCB->Enabled = Enabled;
  37.    DeletedCB->Enabled = Enabled;
  38.    UseUpdateSQL->Enabled = Enabled;
  39. }
  40. //---------------------------------------------------------------------
  41. void __fastcall TCacheDemoForm::ReExecuteButtonClick(TObject *Sender)
  42. {
  43.    FDataSet->Close();
  44.    FDataSet->Open();
  45. }
  46. //---------------------------------------------------------------------
  47. void __fastcall TCacheDemoForm::ToggleUpdateMode(TObject *Sender)
  48. {
  49.    // Toggle the state of the CachedUpdates property
  50.    FDataSet->CachedUpdates =! FDataSet->CachedUpdates;
  51.    // Enable/Disable Controls
  52.    SetControlStates(FDataSet->CachedUpdates);
  53. }
  54. //---------------------------------------------------------------------
  55. void __fastcall TCacheDemoForm::UseUpdateSQLClick(TObject *Sender)
  56. {
  57.    FDataSet->Close();
  58.    if (UseUpdateSQL->Checked)
  59.       FDataSet->UpdateObject = CacheData->UpdateSQL;
  60.    else
  61.       FDataSet->UpdateObject = NULL;
  62.    FDataSet->Open();
  63. }
  64. //---------------------------------------------------------------------
  65. void __fastcall TCacheDemoForm::ApplyUpdatesBtnClick(TObject *Sender)
  66. {
  67.    FDataSet->Database->ApplyUpdates(OPENARRAY(TDBDataSet*, (FDataSet)));
  68. }
  69. //---------------------------------------------------------------------
  70. void __fastcall TCacheDemoForm::CancelUpdatesBtnClick(TObject *Sender)
  71. {
  72.    FDataSet->CancelUpdates();
  73. }
  74. //---------------------------------------------------------------------
  75. void __fastcall TCacheDemoForm::RevertRecordBtnClick(TObject *Sender)
  76. {
  77.    FDataSet->RevertRecord();  
  78. }
  79. //---------------------------------------------------------------------
  80. void __fastcall TCacheDemoForm::UpdateRecordsToShow(TObject *Sender)
  81. {
  82.    TUpdateRecordTypes UpdRecTypes;
  83.  
  84.    UpdRecTypes.Clear();
  85.    if (UnModifiedCB->Checked)
  86.       UpdRecTypes << rtUnmodified;
  87.    if (ModifiedCB->Checked)
  88.       UpdRecTypes << rtModified;
  89.    if (InsertedCB->Checked)
  90.       UpdRecTypes << rtInserted;
  91.    if (DeletedCB->Checked)
  92.       UpdRecTypes << rtDeleted;
  93.    FDataSet->UpdateRecordTypes = UpdRecTypes;
  94. }
  95. //---------------------------------------------------------------------
  96. void __fastcall TCacheDemoForm::miAboutClick(TObject *Sender)
  97. {
  98.   ShowAboutDialog();  
  99. }
  100. //---------------------------------------------------------------------
  101.