Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

6. ELŐADÁS Adatbázis kezelés Delphiben Származtatott mezők Delphi programozás.

Hasonló előadás


Az előadások a következő témára: "6. ELŐADÁS Adatbázis kezelés Delphiben Származtatott mezők Delphi programozás."— Előadás másolata:

1 6. ELŐADÁS Adatbázis kezelés Delphiben Származtatott mezők Delphi programozás

2 Komponensek: DataSource – adatforrás Table - helyi tábla gyors eléréséhez Query – lekérdezés DataBese – tranzakció, kapcsolat ellenőrzésére, biztonsági műveletek, távoli adatbázis kapcsolódása, másodneves hivatkozás StoredProc – tárolt eljárás (SQL kiszolgálókkal) Delphi programozás Adatbázis kezelés

3 Adatmegjelenítő komponens egyéb tulajdonságai: Options –Editing –RowSelect Etc. Columns Delphi programozás DBGrid tulajdonságok

4 Egy oszlop kiválasztható a szerkesztőablakban Annak tulajdonságlistája megjelenik az ObjectInspectorban, ami szerkeszthető, események rendelhetők hozzá: ReadOnly Width Title –Caption PickList (lásd köv. fólia) Delphi programozás DBGrid - Columns

5 PickList szerkesztőablakában felsoroltakat kínálja fel a program,mint mezőérték Delphi programozás DBGrid - Columns - PickList Megjegyzés: Származtatott mezők esetén más értéket nem vehet fel a lista, egyébként igen.

6 Delphi programozás Táblamező elérése - Field Adatmodulnev.Tablanev.FieldByName(‘Mezonev').AsString Adatmodulnev.Tablanev.Fields[0].AsString Adatmodulnev.Tablanev[‘Mezonev’].AsString A Field (TField osztály) komponens segítségével lehetséges. Az adatfüggő vezérlők közvetlenül az adatbázis mezőire vonatkozó Field objektumhoz kapcsolódnak A táblák és lekérdezések a mezőket ebben tárolják A következő mezőhivatkozási módok egyenrangúak, tetszőlegesen használhatók:

7 Delphi programozás Mezőobjektumok jellemzői Value – értéket írhatunk, olvashatunk AsString, AsInteger… - leolvashatjuk és típust átállíthatjuk IsNull – lekérdezhető, hogy üres-e az adott mező DisplayLabel – mezőcímke megadása (pl., magyarosítani szeretnénk) DisplayWidth – mezőszélesség átállítása EditMask – bemeneti maszk állítása (pl. dátumformátumnál, telefonszámnál) MinValue, MaxValue – megengedett értékek megadása Visible – láthatóság ReadOnly – nem szerkeszthető mező Adatmodulnev.Tablanev.FieldByName(‘Mezonev').Value

8 Adatbázisunkban a redundanciát kerüljük  de adatmegjelenítéskor célszerű idegen kulcs helyett nevesíteni a felhasználó számára a mezőértékeket. Ez származtatott mezőkkel érhető el. Típusai: Kikeresett mező (Lookup field) – értékét egy másik táblából vesszük Számított mező (Calculated field) – értéke képlet alapján számolandó, az adat nincs egyik táblában sem Delphi programozás Származtatott mező számítása

9 Példánkban a személyek végzettségét tároló adatbázist használunk. A végzettséget külön táblában tároljuk ( szem_kepesites, szem_kepesites_nev ) Szeretnénk megjeleníteni a képesítés azonosító helyett a képesítés megnevezését. Delphi programozás Kikeresett mező létrehozása szem_kepesitesszem_kepesites_nev

10 Delphi programozás Kikeresett mező létrehozása Helyezzünk el egy új Table komponenst, melyet a szem_kepesites táblára irányítunk.

11 Delphi programozás Kikeresett mező létrehozása Tábla megnyitásával (dupla balegér klikk)a szerkesztőablak segítségével vegyük fel a megjeleníteni kívánt mezőket: Egyrészt az eredeti mezőnevek szerint – Add fields Másrészt a kikeresett mező szerint (lásd köv. fóliák) - New field

12 Delphi programozás Kikeresett mező létrehozása New field – szerkesztőablak segítségével megadhatók a származtatott mező paraméterei: Neve Típusa (Data, Calculated, Lookup)

13 Delphi programozás Kikeresett mező létrehozása Lookup definition Key field – kapcsolódó mező az adattáblánkból Dataset – Keresőtábla LookupKeys – A kapcsolódó mező a keresőtáblából Result Field – Választott mező érték

14 Delphi programozás Számított mező létrehozása Másik típus a számított mező, amikor az új mezőértéket képlet alapján számoljuk. Mező típusa: Calculated

15 Delphi programozás Számított mező létrehozása Az új mező számítását a táblakomponens OnCalcFields eseménymezőjében kell megadni. procedure TForm1.Table3CalcFields(DataSet: TDataSet); begin with Dataset Do begin FieldByName('Szül_év').Value:= FieldByName('Életkor').Value; end;

16 Delphi programozás További metódusok Hibakezelés metódusa: Not VarIsNull(mezőnév) Értékkeresés: Lookup

17 Delphi programozás Listakomponensek Ha az adattartalmat adattáblába szeretném vezetni: DBListBox, DBComboBox lebomló lista tartalmát nekünk kell megadni DataSource DataField Items with DBComboBox Do begin DataSource := adatforras; DataField := ‘Mezőnév’ Items.Add(‘Informatikus’); end;

18 DBLookupListBox, DBLookupComboBox a lebomló lista tartalmat is adattáblából vesszük ListSource – mely adatforrásból van az adattartalom ListField – mely mező jelenjen meg KeyField – mely mező értékét írja a DataSource DataField mezőjébe DataSource DataField Delphi programozás Listakomponensek Ha az adattartalmat adattáblába szeretném vezetni:


Letölteni ppt "6. ELŐADÁS Adatbázis kezelés Delphiben Származtatott mezők Delphi programozás."

Hasonló előadás


Google Hirdetések