home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / FRMQRYSP.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-15  |  2.1 KB  |  56 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Frmqrysp.hpp"
  6. #include "DmCSDemo.hpp"
  7. //---------------------------------------------------------------------------
  8. #pragma resource "*.dfm"
  9. TFrmQueryProc *FrmQueryProc;
  10. //---------------------------------------------------------------------------
  11. __fastcall TFrmQueryProc::TFrmQueryProc(TComponent* Owner)
  12.   : TForm(Owner)
  13. {
  14. }
  15. //---------------------------------------------------------------------------
  16. void TFrmQueryProc::WriteMsg(char *szWrite)
  17. {
  18.    StatusBar1->SimpleText = szWrite;
  19. }
  20. //---------------------------------------------------------------------------
  21. void __fastcall TFrmQueryProc::FormShow(TObject *Sender)
  22. {
  23.   DmEmployee->EmployeeTable->Open();
  24.   // Allow data flow from the EmployeeTable to the local EmployeeSource.  This
  25.   //   will allow DataChange events to execute the query procedure
  26.   EmployeeSource->Enabled = True;
  27.   // Explicit query preparation is not required, but gives the best possible
  28.   //  performance
  29.   if (EmployeeProjectsQuery->Active != True)
  30.      EmployeeProjectsQuery->Prepare();
  31. }
  32. //---------------------------------------------------------------------
  33. void __fastcall TFrmQueryProc::EmployeeSourceDataChange(TObject *Sender,
  34.       TField *Field)
  35. {
  36.    char szMsg[300];
  37.    // Execute the ProjectsQuery, which uses a query procedure
  38.    EmployeeProjectsQuery->Close();
  39.    EmployeeProjectsQuery->Params->Items[0]->AsInteger =
  40.       DmEmployee->EmployeeTableEMP_NO->Value;
  41.   EmployeeProjectsQuery->Open();
  42.  
  43.   sprintf(szMsg, "Employee %d is assigned to %d project(s)",
  44.            DmEmployee->EmployeeTableEMP_NO->Value,
  45.            EmployeeProjectsQuery->RecordCount);
  46.   WriteMsg(szMsg);
  47. }
  48. //---------------------------------------------------------------------
  49. void __fastcall TFrmQueryProc::FormHide(TObject *Sender)
  50. {
  51.    // Turn off the DataChange event for the form, since DmEmployee.EmployeeTable
  52.    // is used elsewhere
  53.    EmployeeSource->Enabled = True;
  54. }
  55. //---------------------------------------------------------------------
  56.