[ Pobierz całość w formacie PDF ]
.PROPERTY_NUMBER=: l.PROPERTY_NUMBER 364 Część IIand l.ENDDATE=(select MAX(ENDDATE) from LEASEwhere PROPERTY_NUMBER=p.PROPERTY_NUMBER)and ((l.MOVEDOUTDATE >  TODAY ) or (MOVEDOUTDATE IS NULL))and l.TENANT_NUMBER = t.TENANT_NUMBERZapytanie wykorzystuje wartość PROPERTY_NUMBER do lokalizacji ostatniejtransakcji najmu nieruchomości, a w konsekwencji do określenia aktualnegonajemcy.Funkcja zwraca rezultat jedynie wtedy, gdy ostatni najemca jeszcze sięnie wyprowadził.W kodzie zapytania wykorzystana zostanie stała TODAY.InterBase przetłumaczy ją na bieżącą datę, zatem zapytanie wyszukuje informacjio ostatnim najmie, gdy data wyprowadzki z nieruchomości nastąpi w przyszłości(>  TODAY ) lub nie jest określona (IS NULL).Po wprowadzeniu zapytania, zachowujemy je klikając OK.Do zakończeniabudowy quTenantInfo prowadzą następujące kroki:1.Dwukrotnie kliknąć na właściwości zapytania Params i określić typ parametruPROPERTY_NUMBER jako Integer, po czym kliknąć OK.2.Kliknąć dwukrotnie na zapytaniu quTenantInfo, by otworzyć edytor pól.3.Wcisnąć kombinację klawiszy CTRL+A, celem dodania pól.4.Przyciskiem OK zatwierdzić dodanie do zapytania sześciu pól, a następniezamknąć edytor Fields.5.Komponent Querry jest zdefiniowany.Następny krok polega na dodaniu doformularza komponentu DataSource, aby móc skojarzyć pytaniez odpowiednimi elementami dostępu do danych.Umieścić komponentDataSource na formularzu dmRENTMAN i zmienić jego nazwę madsTenantInfo.6.Ustawić właściwość DataSet składnika DataSource, wskazując nazwęnowego komponentu Querry- quTenantInfo.Połączenie zapytania z formularzemPrzyszła pora na połączenie zapytania z formularzem kombinowanym tabeliWORDER, aby umożliwić mu pobieranie informacji o najemcach i ich adresach.Po tej czynności umieścimy na formularzu kilka komponentów, umożliwiającychobejrzenie odpowiedzi na zapytanie.Przygotowanie zapytaniaW projektancie Delphi otwieramy ponownie formularz kombinowany,fmRWORMDE0, a następnie zaznaczamy go (może zaistnieć koniecznośćwykorzystania listy wyboru inspektora obiektów, ze względu na zasłanianie go Formularze 365przez inne elementy).Wybieramy stronę Events inspektora i dwukrotnie klikamyzdarzenie OnCreate.W edytorze kodu wprowadzamy polecenie:dmRENTMAN.quTenantInfo.Prepare;Przygotowanie zapytania odbierającego zewnętrzne parametry (w żargonie Delphi:zapytania sparametryzowanego, parameterized query), może pomóc je szybciejzrealizować.Wywołanie metody Prepare powoduje wysłanie zapytania dosystemu bazy danych, gdzie zostanie poddane analizie składniowej i optymalizacji.Chociaż wywołanie procedury przygotowania nie jest wymagane,w rzeczywistości Delphi i tak ją wywoła przy każdym otwarciusparametryzowanego zapytania, nawet jeśli wcześniej przygotowanie nie zostałouaktywnione.Z tego powodu sensowne jest wywołanie metody Preparew momencie inicjowania formularza korzystającego z zapytania.Przebudowa formularzaAby umożliwić korzystanie z zapytania, należy:1.Przesunąć komponenty dedStartDate i dedEndData (wraz z etykietami)na prawą stronę formularza, by zrobić miejsce na informacje o najemcy.2.Umieścić sześć komponentów DBText i sześć etykiet na lewej częściformularza.3.Opisać nagłówki wszystkich sześciu etykiet odpowiednio do przeznaczenia pól,które opisują.Właściwości Font elementów Tlabel dodać atrybut Bold, copoprawi ich widoczność na ekranie.4.Ustawić właściwość DataSource wszystkich sześciu komponentów DBTextna dmRENTMAN.dsTenantInfo.5.Ustawić właściwość DataField wszystkich sterowników na odpowiadająceim pola zbioru odpowiedzi quTenantInfo.Uruchamianie zapytaniaPo umieszczeniu na właściwych miejscach wszystkich komponentów, należyjeszcze rozstrzygnąć, jak będziemy inicjować realizację zapytania.Godnerozważenia są dwie możliwości.Pierwsza to wyzwolenie zapytania w chwiliwyświetlania się formularza.W chwili edycji przez użytkownika wykazu pracpowinno zostać zainicjowane zapytanie, by umożliwić dostęp do właściwychinformacji w momencie ukazania się formularza.Drugą możliwością realizacjizapytania powinien być wybór dowolnej pozycji z listy rozwijalnej okienkadlcbPROPERTY_ADDRESS, by uaktualnić informacje z chwilą zmianyinteresującej użytkownika nieruchomości.Oczywiście zmiana wybranejnieruchomości musi spowodować podobną zmianę pól z danymi o najemcy [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • andsol.htw.pl