You are on page 1of 19

Delphi adatbzis-kezelse

Adatbzis tulajdonsgai
A Delphiben komponenseken keresztl vgezhet relcis adatbzis-kezels. - File\New Data Module (TDataModule): specilis form. - TTable: a komponens kapcsolatot teremt a tbla s a komponens kztt. - DatabaseName: adatbzis elrsi tja (vagy alias). - TableName: tbla neve. - Active: az adatbzis aktivltsgt mutatja (boolean). - RecNo: aktulis rekord sorszma. - RecordCount: sszes rekord szma. - Exclusive: a tbla kizrlagos, ms program nem frhet hozz. - ReadOnly: a tbla csak olvashat. - DisableControls/EnableControls: a tbla s a DBGrid kapcsolatnak megszntetse, engedlyezse. - Fields: tmb, amely a tbla mezit tartalmazza. - FieldCount: a tmb elemeinek szma. Pl. For i:= 0 to Table1.Field.Count-1 do Table1.Fields[i].DisplayLabel:=IntToStr(i); - TDataSource: a Table s adatbzis-kezel komponensek kztti kapcsolatot tartja fnn. - DataSet: a TTable neve. - TDBGrid: tblzat megjelentje. - DataSource: a TDataSource komponens neve. Adatbzis mezi Egy mez tulajdonsgai: - rtke: Value: rtk, AsString: stringbe konvertls, AsInteger: integerbe vlts, AsFloat: lebegpontosba vlts, AsBoolean: logikai, AsDateTime: dtum s id, AsCurrency: pnzformtum, AsVariant: brmilyen tpust felvehet futs kzben. - IsNull (boolean): azt mutatja, hogy a mez res-e. - FieldName: a mez tblabeli neve. - Name: a mez nevt mutatja (alapban tblanv s meznv konkatenlsa). - Alignment: a mezrtk megjelensnek igaztsa. - DisplayFormat: a mez megjelentsi formtuma (pl. 0 darab: "0 darab", # darab: "darab"). - DisplayLabel: a mez megjelensi neve. - DisplayWidth: a mez szlessge - MinValue, MaxValue: a mez minimlis s maximlis rtke. - ReadOnly (boolean): a mez csak olvashat. - Visible (boolean): a mez lthatsgt adja meg. - EditMask: a mez bemeneti formtuma (pl. EditMask:=!(999)000-000;1;_ - az "1" azt jelenti, hogy a zrjelek s szkzk is trolsra kerlnek, a "_" helyettest karakter, megjelense: "(___)___ -___). - CustomConstraint: a mez beviteli rtkt hatrozza meg (pl. CustomConstraint:=(Nem='Frfi') or (Nem='N') ). - ConstraintErrorMessage: ha a CustomConstraint jellemzbe rt felttel nem teljesl, hibazenetet ad (pl. ConstraintErrorMessage:='A szemly neme csak "Frfi" vagy "N" lehet!"). - RecordSize: az aktulis rekord mrete byte-ban. - FieldByName(mez): a mez sorszmt adja.

- FieldValues: az adott rekord mezinek tartalmt adja. - ClearFields: A mez sszes rtknek trlse. - Dupla klikk a Table-n\Add Fields. Pl. Label1.Caption:=DataModule1.Table1KOD.Value; - Display Label Pl. DataModule1.Table1DATUM.DisplayLabel:='Dtum'; - DisplayWidth: a mez kijelzsnek szlessge. - Visible: a mez lthatsgt mutatja (boolean); - Index: mez sorszma. - ReadOnly: csak olvashat (boolean); Adatbzis szrse - Filter: szrsi felttel. Pl. (KOD='0001') and (FIZMOD>'1') Pl. DataModule1.Table1.Filter:='('KOD="0001") and (FIZMOD>"1")'; - Filtered: szrt (boolean). Pl. DataModule1.Table1.Filtered:=True; - FilterOptions: loCaseInsensitive (a kis- s nagybetket nem klnbzteti meg), loNoPartialCompare (rszszra keres). Pl. DataModule1.Table1.FilterOptions:=[foCaseInsensitive, foNoPartialCompare]; Keress - Locate: ha megtallja a keresett rekordot, akkor aktuliss teszi. Locate (const KeyFields:string; const KeyValues:variant; Options:TLocateOptions):boolean; - KeyFields: keresend mez neve. - KeyValues: keresett rtk. - Options: loCaseInsitive (a kis- s nagybetket nem klnbzteti meg), loPartialKey (rszszra keres). Pl. DataModule2.Table1.Locate('KOD',Edit1.Text,[loPartialKey]); - LookUp: a keresett rekord megadott rtkeit adja vissza. LookUp (const KeyFields:string; const KeyValues:variant; const ResultFields:string:variant); ResultFields: azoknak a mezknek a nevei, melyeket visszatrsi rtkknt akarunk kapni. Pl. Label2.Caption:=DataModule2.Table2.LookUp('KOD','0007','DATUM');

Adatok szerkesztse
- llapot lekrdezse: State State: tbla llapota. - dsInactive: lezrt llapot, - dsBrowse: alapllapot, - dsEdit: szerkeszts alatt ll, - dsInsert: az aktulis rekord j (beszrs alatt ll). - j rekord beszrsa: Append (indexelt esetn a pozci utn, egybknt a vgre - a State dsInsert-re vlt) DataModule1.Table1.Append; DataModule1.Table1KOD.Value:='0012'; - BeforeInsert: beszrs eltti elem. - AfterInsert: beszrs utni elem. - OnNewRecord: minden beszrskor ltrejv esemny (pl. alaprtk-belltsra val). Pl. DataModule1.Table1FIZMOD.Value:=1;

- AppendRecord(const Values: array of const): megadhatjuk a beszrt rekord rtkt . Pl. DataModule2.Table1.AppendRecord(['0200',Date,'971211',]); - j rekord beszrsa az aktulis rekord el: Insert (State=dsInsert) DataModule1.Table1.Insert; DataModule1.Table1KOD.Value:='0012'; - Aktulis rekord szerkesztse: Edit (State=dsEdit) DataModule1.Table1.Edit; DataModule2.Table1.SetFields(['990417',Date]); - Mez tpusnak s rtknek belltsa. - Adatbzis vltoztatsnak mentse: Post DataModule1.Table1.Post; Hiba figyelse annak, hogy mdosthat vagy szerkeszthet-e a rekord: If DataModule2.Table1.State in[dsEdit, dsInsert] then DataModule2.Table1.Post; - OnPostError: Post-hiba esetn ltrejv esemny. - Adatbzis vltoztatsnak visszavonsa: Cancel DataModule1.Table1.Cancel; - Aktulis rekord trlse: Delete (nem krdez r) - OnDeleteError: Delete-hiba esetn ltrejv esemny. - DataSet: aktulis adatbzis. - EDataBaseError: adatbzis-hiba esetn ltrejv esemny. - Action: daFail (hibajelents angolul), daAbort (trls megszntetse hibazenet nlkl), daRetry (trls jra megprblsa). Pl. Table1.Delete; Adatbzis megnyitsa, lezrsa Az aktivltsg is hasol tulajdonsg - True esetn nyitott, Fasle esetn zrt (de nem megnyitott s lezrt). - Megnyits: Open - BeforeOpen: megnyits eltt ltrejv esemny. - AfterOpen: megnyits utn ltrejv esemny. DataModule1.Table2.Open; - Bezrs: Close - BeforeClose: bezrs eltt ltrejv esemny. - AfterClose: bezrs utn ltrejv esemny. DataModule1.Table2.Open; Pozcionls Ha nem alapllapotban van a tbla (State<>dsBrowse) akkor Post-ot hajtanak vgre. - Els rekordra ugrs: First DataModule1.Table1.First; - Utols rekordra ugrs: Last DataModule1.Table1.Last; - Elz rekordra ugrs: Prior DataModule1.Table1.Prior;

- Kvetez rekordra ugrs: Next DataModule1.Table1.Next; - Tbb rekordnyi ugrs: MoveBy(elem:integer) DataModule1.Table1.MoveBy(-5) - BeforeScroll: lptets eltt ltrejv esemny. - AfterScroll: lptets utn ltrejv esemny. - BOF (boolean): a tulajdonsg azt mutatja, hogy els-e az elem. - EOF (boolean): a tulajdonsg azt mutatja, hogy utols-e az elem. Pl. Table1.First While not Table1.EOF do begin Table1.Edit; Table1DATUM.Value:=Date; Table1.Next; end; - Knyvjelz elhelyezse: GetBookMark bo:= DataModule2.Table1.GetBookmark; - Ugrs a knyvjelzre: GotoBookMark(knyvjelz) DataModule2.Table1.GotoBookMark(bo); - Knyvjelz trlse: FreeBookMark(knyvjelz) DataModule2.Table1.FreeBookMark(bo);

Kt adatbzis sszekapcsolsa
Kt adatbzist egy-egy mezn keresztl kapcsolunk ssze, a segd adatbzistl kiindulva. Pl. 2 adatbzisban, egy KOD-on tbb ttel. A KOD az azonost mindkt adatbzisban. A 2 adatbzisban az azonostkat vgig ismteljk. Master: Detail: KOD KOD 00001 00001 00001 00002 00002 A 2 adatbzis KOD mezje indexelt legyen (IndexName). A 2 adatbzis kapcsolatt a segd (Detail) adatbzisnl kezdemnyezzk. 1. MasterSource=TDataSource (a f adatbzis). 2. Property\Detail Fields =KOD (az sszekapcsol mez - lehet ms nev, mint a MasterFiled). 3. MasterField: KOD (az sszekapcsol mez). 4. Add gombbal ltre kell hozni a kapcsolatot.

Szmtott mezk (Calculated Field)


A kalkullt mez olyan mez, mely msik mezk rtkbl szmthat ki. Nem kell j mezt

fizikailag ltrehoznunk. - TTable menszerkeszt ablakban (2 klikk a komponensen) jobb egrgomb, majd New Field: Type=Float (ha lebegpontos kell), FieldType=Calculated. - TTable Event\OnCalcField: annyiszor jn ltre, ahny rekordra kell kiszmtani az adott rtket, rtkeket, gy egy-egy esemnykor mindig az aktulis rekord rtkeibl szmthatjuk ki a kvnt rtkeket. A kalkullt mez csak olvashat! Pl. Procedure TDataModule2.Table1CalcFields(DataSet: TDataSet); begin Table1RESZAR.Values:=Table1MENNYISEG.Values; Table1AR.Value; end;

Kapcsolt mezk (Lookup Field)


Egy mez adatait felesleges lehet llandan ismtlden megadni (pl. NEME='Frfi'). Hatkonyabb, ha kdot rendelnk hozz, hiszen gy kisebb az adatbzis. Ehhez az aktulis tblt ssze kell kapcsolni a msik (keres)tblval egy-egy sszekapcsol mezn keresztl, s a kerestbla kvnt mezjbl tvesszk az rtkt. - j mez ltrehozsa: TTable\New Field\Type=LookUp, KeyFields: az alaptbla sszekapcsol mezje, Dataset: a kerestbla neve, LookUp Keys: a kerestbla sszekapcsol mezje, Result Field: a kerestblnak ebbl a mezjbl vesszk t az eredmnyt. - A mez lthatsgnak letiltsa: Pl. Table1.FieldByName('MEZO').Visible:=False; Mezk rtknek korltozsa - TTable Constrains property-re kattintva eljn a segdablak, ahol feltteleket adhatunk (Add). - CustomConstraint: szveges felttelads (lsd a II. alcm alatt). - DisableConstraints/EnableConstraints: korltozs tmeneti tiltsa/engedlyezse.

Rekord vgleges trlse: DbiPackTable, dBase-nl: Pack


A Delete nem fizikailag trli a rekordot, valjban csak trlsre jelli ki. - DbiPackTable; E mvelet eltt az adatbzist kizrlagoss kell tenni (ilyenkor nem frhet hozz ms program): TTable.Exclusive:=True; - A trlt rekordok megjelentse: - DbiSetProp; - iPropValue (boolean): a trlt elemek lthatsga. - Refresh: elemek lthatsgnak frisstse.

Adatbzis ltrehozsa s trlse

- Adatbzis trlse: DeleteTable; Pl. With DataModule2.Table1 do begin Close; EmptyTable; //rekordok trlse Open; end; - Adatbzis ltrehozsa: CreateTable; Eltte: - A tblzat adatait megadjuk. - FieldDefs propertiesben definiljuk a mezket (a FieldDefs properties TFiledDef tpus). - IndexDefs: propertiesben megadjuk az indexeket. Pl. With DataModule2.Table4 do begin begin Close; DatabaseName:='ADATBAZIS'; TableName:='TABLE.DBF'; TableType:=ttBase; With FieldDefs do begin Add('String', ftString, 10, False); Add('Boolean',ftBoolean, 0, False); end; With IndexDefs do begin Add('Index', string, []); Add('Index2','DAT',[]); end; CreateTable; Open; end; - j mez ltrehozsa: Add(Name;DataType; Size; Required); - Name: az j mez neve. - DataType: az j mez tpusa. - Size: az j mez mrete (nem ktelez minden esetben megadni). - Required: maradhat-e resen. - Clear: az sszes felvett elem trlse. - Count: az aktulisan megadott mezk szma. Pl. With Table1.FieldDefs do begin For i:= 0 to Count-1 do begin ListBox1.Items.Add(Items[i].Name); end; end;

Items properties: egy TFieldDefs tpus elemeket trol tmb, melyben pl. a mezk neveit trolhatunk (.Name esetn) - 0..n-1. Az Items-ben a Find-del kereshetnk. Pl. With Table1.FieldDefs do begin With Find('MEZO') do begin DataType:=ftString; end; end; IndexOf(Name): azt mutatja, hogy a Name hnyadik elem az indexben. Rekordok trlse Master-Detail kapcsolatban 1. A segdtbla trlse rekordonknt (a kapcsolt rekordok ltszanak). 2. A ftbla trlse. Pl. While not Table2.EOF do Table2.Delete; Table1.Delete; TDataSource Az Table s a DBGrid kztti kapcsolatot tarja fenn. - State (llapot): - doInactive: inaktv, - doBrowse: megjelents alatt, - doEdit: szerkeszts alatt, - doInsert: j elem beszrsa trtnik, - SetKey: keress vagy nszrs alatt, - doCalcFields: kalkullt mez kiszmtsa trtnik - doFilter: szrs alatt. - Esemnyek (Events): - onStateChange: az llapot megvltozott, - onDataChange: az adatbzis tartalma megvltozott, - onUpdateData: Post esemny ltrejtt, - AutoEdit (boolean): Ha True, akkor brmikor vltoztathat, ha False, akkor csak az Esit parancs kiadsa utn.

TQuery
A lekrdezs nem szrhet filterrel. - DataBaseName=az adatbzis helynek elrsi tja, vagy aliase. - SQL: SQL-ben lert szveges felttel (TString tpus). Pl. SELECT * FROM SZLAFEJ.DBF WHERE SZAM>80 - Active (boolean): ha True, ekkor elvgzi a lekrdezst, ha False, akkor nem trtnik lekrdezs. 7

SQL (Structural Query Language - struktrlt lekrdez nyelv) SELECT utastsa - SELECT mez1, mez2 FORM adatbzis - a mez1 s a mez2 mez kivlasztsa az adatbzisbl SELECT * FROM adatbzis - az sszes mez kivlasztsa az adatbzisbl - WHERE - felttel Pl. SELECT * FROM SZLAFEJ.DBF WHERE FIZMOD>"1" (csak 1-nl nagyobb fizmodu rekordok jelennek meg) - AND, OR - tbb felttel Pl. SELECT * FROM SZLAFEJ.DBF WHERE (FIZMOD>"1") AND (VEVOKEDO<>"02") - NOT - nem - IN - egy megadott halmazban lv elemekkel hasonlt ssze Pl. SELECT * FROM SZLAFEJ.DBF WHERE VEVOKOD IN ("0001","0003","0008") - LIKE - tredk keresse - "%": akrhny tetszleges karakter, - "_": egy tetszleges karakter, - "\": vezrl karakter megadsa eltti jelz Pl. SELECT * FROM SZLAFEJ.DBF WHERE NEV LIKE 'al\%%' (az "al%" stringrszlet keresse) - BETWEEN - kt rtkhatr ellenrzse (a kt rtket is beleszmtja) Pl SELECT * FROM PROBA.DBF WHERE MEZO BETWEEN 50 and 200 (azokat a rekordokat jelenti meg, amelyek 49 s 201 kztti rtket vesznek fel) - || - konstans string konkatenlsa mezstringgel Pl. SELECT * FROM PROBA:DBF WHERE MEZO1<>'abc' || MEZO2 - DISTINCT - azonos elemek kzl csak egy elem kivlasztsra szolgl Pl. SELECT DISTINCT TERMEK FROM SZAMLA.DBF - ORDER BY - rendezs - ASC/DESC - nvekv/cskken sorba val rendezs Pl. SELECT * FROM SZLAFEJ.DBF WHERE FIZMOD="1" ORDER BY DATUM DESC (DATUM szerint rendezi az adatbzist) - AVG(mez) - a mez rekordonknti tlagt adja meg Pl. SELECT AVG(MENNYISEG) FROM SZLATET.DBF - COUNT - annak a szmt adja meg, ahny rekord megfelel a felttelnek - SUM - a mez rekordonknti sszegt adja meg Pl. SELECT SUM(MENNYISEG) FROM SZLATET.DBF WHERE AR='12' - MIN/MAX - a mez legkisebbikt/legnagyobbikt adja meg Pl. SELECT SUM(MENNYISEG), MIN(MENNYISEG) FROM SZLATET.DBF - GROUP BY - csoportja a megadott mezt Pl. SELECT KOD, SUM(MENNYISEG) FROM SZLATET.DBF GROUP BY KOD - HAVING - szrs Pl. SELECT KOD, SUM(MENNYISEG) FROM SZLATET.DBF GROUP BY KOD HAVING

SUM(MENNYISEG)>15 - Kt adatbzis sszehasonltsa: (kt SELECT parancs kell, s elszr a 2. SELECT halytdik vgre) Pl. SELECT * FROM OSZTALY WHERE OATLAG<>(SELECT AVG(OSZTALYZAT) FROM TANULO Lekrdezsek paramterezse Egy lekrdezsnl nha nem kell magt az SQL SELECT utastst vltoztatni, elg egy konstanst. :vltoz Pl. SELECT * FROM SZLAFEJ.DBF WHERE KOD=:K - Params[n]: n. paramtervltoz tpusa Pl. With DataModule1.Query1 do begin Close; Params[0].AsInteger:=145; Open; end; - ParamByName(const String): paramtervltoz neve Pl. With DataModule1.Query1 do begin Close; ParamByName('K').Value:=Edit1.Text; Open; end; - A TQuery-t Open-nel nyitjuk s Close-zal zrjuk. - Prepare: optimalizlhatjuk vele a lekrdezs futst (a Delphi autmatikusan teszi). Paramterezett lekrdezsek automatizlsa - SELECT * FROM SZLAFEJ.DBF WHERE KOD:=KODV - DataSource propertiesben meg kell adni az adatbzis nevt. SQL utasts szerkeszthetsge RequestLive (boolean): ha True, akkor szerkeszthet az SQL string (a szerkeszthetsg fgg magtl az SQL stringtl is). TBachMovie: tbb adatbzis lemsolsa 1. Source: itt kell megadni, hogy honnan vegye a rekordokat (TDataSet). 2. Destination: itt kell megadni, hogy hova tegye a rekordokat (TTable). 3. DataBaseName: az adatbzis neve. 4. TableName: a tbla neve. 5. Mode: md (Indexeltek legyenek az adatbzisok.)

- batAppend: a forrsadatbzis sszes rekordja hozzfzdik a cladatbzishoz. - vatUpdate: a forrsadatbzis egyez mezit trja a ms rtkeket tartalmaz cladatbzisba. - batCopy: akr nemltez cl adatbzisba rja a forrsadatbzist. - batDelete: a cladatbzisban trldnek azok a rekordok, amelyek egyeznek a forrsadatbzis rekordjaival. 6. Execute: vgrehajts - Programfuts alatt: Pl. With BatchMove1 do begin Source:=Query1; Destination:=Table1; Mode:=batCopy; Execute; end; - Fejlesztsi idben: Jobb egrgomb a TBatchMove-n\Execute. Egyb lehetsgek: - ChangedTableName: itt llomnynevet adhatunk meg, amely nven ltrehoz egy Paradox adatbzist (Execute utasts esetn), amelybe a vltoztatott rekordok kerlnek. - ProblemTableName: az itt megadott llomnynven ltrejn egy Paradox adatbzis, amelybe a hibs rekordok kerlnek. - KeyViolTableName: az itt megadott llomnynvel ltrejn egy Paradox tbla, amelybe a forrsadatbzisbl a rekordok bekerlnek. - AbortOnProblem: (boolean): ha True, akkor az els hibs rekord msolsa utn a folyamat megszakad. - AbortOnKeyViol: ha True, akkor az els rekord msolsa utn kilp. - MovedCount: azt mutatja, hogy hny rekord kerlt mdostsra vagy msolsra a cladatbzisban. - ChangedCount: azt mutatja, hogy a ChangedTableName-ben megadott adatbzisba hny rekord kerlt. - ProblemCount: azt mutatja, hogy hny hibs rekord van. - KeyViolCount: megadja a hibs rekordok szmt. - CommitCount: azt mutatja, hny rekord kerlt t sikeresen az j tblba. - RecordCount: itt korltozhatjuk, hogy maximum mennyi rekord kerlhet a forrsadatbzisbl a cladatbzisba. 0 esetn nincs korltozs. - Mappings: j, ha a forrs- s cladatbzis meznevei nem azonosak. Itt megadhatjuk, hogy a forrs- s cladatbzis mely mezit tekintse azonosnak. Pl. VAROS=V1, NEV=ALKALMAZOTT TUpdateSQL - DeleteSQL: SQL trlse. - Insert SQL: SQL beszrsa. - Modify SQL: SQL mdostsa. - TUpdate Kind: ukModify, ukInsert, ukDelete (mdostott, beszrt, trlt). - SQL: az SQL string tmbn keresztl is elrhet. Pl. UpdateSQL1.SQL[ukModify]:=Memo1.Lines; - Query: TQuery elemeit tartalmaz tmb Pl. UpdateSQL1.Query[ukModify].DataBaseName='Proba';

10

- Utasts futtatsa: ExecSQL(UpdateKind: TUpdateKind); TDBGrid Az adatbzis tblzatos megjelentsre szolgl. 1. elem: 0, utols elem: Count-1. 1. DataSource-szel kapcsolni kell a Table-hz. Tulajdonsgok: - Columns: fejlc (oszlopok cmkje - mezk) belltsa. j fejlc hozzadsa: DBGrid.Colums.Add; - FieldName: a DataSource-szel kapcsold tbla egy mezje. - Title: a megjelen fejlc formzsa s szvege. - Items: a TColumn tpus tmb elemei ezen keresztl rhetek el. - Count: azt mutatja, hogy hny oszlop van. Pl. For i:=0 to DBGrid1.Columns.Count-1 do begin DBGrid1.Columns.Items[i].Color:=clRed; end; - Clear: elem trlse (az adatbzisbl is trli - nem fizikailag). - FieldName: mezk nevei. Pl. DBGrid.Columns.Add.FieldName:='Datum'; DBGrid.Columns.Items[2].FieldName:=Fizmod'; - Field: az adatbzis adott mezjt rhetjk el vele. Pl. Label1.Caption:=DBGrid.Columns.Items[2].Field.AsString; - Color: a tblzat adott oszlopnak a httrszne. Pl. DBGrid1.Columns.Items[4].Color:=clRed; - Font: a tblzat adott oszlopnak a bettpusa. - Style: stlus, - Color: karakterszn. Pl. Font.Style:=[fsBold]; - Alignment: szveg igaztsa. - taLeftJustify: balra igazts, - taRightJustify: jobbra igazts, - taCenterJustify: kzpre igazts. - PopupMenu: legrdl ment rendelhetnk egy oszlophoz (futs kzben jobb egrgombbazl rhetjk el). - ReadOnly: a kivlasztott oszlop csak olvashat. - ButtonStyle: itt megadhatjuk, hogy mi trtnjen, ha a megadott oszlopba lpnk. - cbsName: alaprtelmezett neve, - cbsEllipsis: egy nyomgomb jelenik meg, amelyben egy onEditButtonClick esemny keletkezik. - cbsAuto: oszlopba lpskor ComboBox jn ltre, ahonnan adatokat juttathatunk a cellba. PickList-ben rhatjuk le, mit tartalmazzon a ComboBox. A DropDownRows-ban megadhatjuk, hogy egyszerre hny elem ltszdjon a ComboBox-ban. - Width: itt az oszlop szlessgt korltozhatjuk. Pl. DBGrid1.Columns.Items[5].Width:=20; - Title: fejlc szvege. - Caption: a fejlc megjelensi neve, - Align: szveg igaztsa, - Color: httr szne, - Font: bettpus. Pl. DBGrid1.Columns.Items[1].Title.Caption:='Dtum';

11

DBGrid1.Columns.Items[1].Title.Color:=clRed; - FieldCount: a mezk szma. - SelectField: aktulis mez - SelectedIndex: az aktulis oszlop sorszma. Pl. Label1.Caption:=DBGrid1.SelectedField.AsString; - TitleFont: fejlc bettpusa (az sszes oszlop fejlcre rvnyes). Pl. DBGrid2.TitleFont:=FontDialog1.Font; - EditorMode: azt mutatja, hogy szerkeszts alatt ll-e a grid. - Option: belltsok (boolean tpus elemek) - dgEditing: ha True, akkor a gridben is szerkeszthetjk az adatokat, - dgAlwaysShowEditor: True esetn automatikusan szerkeszthet a mez, False esetn Enter-re vagy F2-re, - dgTitles: ha True, a fejlc lthat, - dgIndicator: True esetn a grid szli indiktor lthat, - dgColumnResize: ha True, az oszlopok mrete vltoztathat, - dgColLines: True esetn az oszlopelvlaszt vonal lthat, - dgRowLines: True esetn a sorelvlaszt vonal lthat, - dgTabs: ha True, akkor a gridben rvnyes a TAB s a SHIFT+TAB, - dgConfirmDelete: True esetn a CTRL+DELETE-tel trlhet az aktulis sor, - dgMultiSelect: ha True, akkor a CTRL+nyilakkal (rszenknt) vagy a SHIFT+nyilakkal (egysgknt) tbb elem is kijellhet, Esemnyek: - onTitleClick: oszlop fejlcre val kattints esemnye. TColumn vltoz jn ltre, amely az aktulis oszlop szmt adja meg. Pl. Label1.Caption:=Column.Title.Caption; Column.Title.Color:=clRed; - onColEnter: ez az esemny akkor jn ltre, amikor egy oszlopra lpnk. - onColExit: akkor jn ltre ez az esemny, ha egy oszloprl kilpnk. Pl. Label1.Caption:='Ez a tblzat'+IntToStr (DBGrid1.SelectedIndex)+'.oszlopa'; - onCellClick: celln val kattints esemnye. Ltrejn egy TColumn vltoz, amely az aktulis oszlop szmt adja meg. - onColumnMoved: akkor jn ltre ez az esemny, ha egy oszlopot thelyeznk. Ltrejn egy FromIndex s egy ToIndex vltoz, melyek azt mutatjk, hogy hnyadik oszlop hnyadik oszlop helyre kerl. TDBNavigator Adatbzis-mozgat gombsor. 1. Ltre kell hozni a kapcsolatot a DataSource-n keresztl. TNavigateBtn tpus konstansok: - nbFirst: els rekordra ugrik (TTable.First). - nbPrior: egyel visszalp (TTable.Prior). - nbNext: kvetkez rekordra lp (TTable.Next). - nbLast: utols rekordra ugrik (TTable.Last). - nbInsert: j rekordot szr be. - nbDelete: aktulis rekordot trli. - nbEdit: szerkesztmdba lp. - nbPost: elmenti a vltoztatsokat. - nbCancel: rvnytelenti a vltoztatsokat. - nbRefresh: jraolvassa az adatokat (ha mskppen is megvltozhatott az adatbzis). Tovbbi lehetsgek: - VisibleButton: azt mutatja, melyik gombok ltszdnak.

12

- Hint: az egsz komponens magarzszvege. - Hints: nyomgombok magyarzszvege (sorrendben egy-egy sor egy-egy nyomgombhoz tartozik). - ConfirmDelete: megerstskrst vgez a trlshez (angolul). - BtnClick(TNavigateBtn): valamely gomb megnyomsnak szimullsa. Pl. DBNavigator1.BtnClick(nbFirst); - Flat: True esetn a nyomgomb krvonala csak akkor ltszdik, ha fltte llunk az egrrel, s nincs letiltva. - BeforeAction: ez az esemny akkor jn ltre, ha lenyomtunk egy gombot, de mg nem hajtdott vgre a parancs. Kapunk egy TNavigateBtn tpus Button vltozt, amely azt mutatja, hogy melyik gombot nyomtuk meg. Pl. If Button=nbDelete then begin If MessageDlg('Trls megerstse', mtConfirmation, mbOkCancel, 0)<>mrOk then Abort; - onClick: nyomgomb lenyomsa, s a parancs vgrehajtsa utni esemny. Button vltozt kapunk, amely megadja, hogy melyik gomb lett lenyomva. TDBText Az aktulis mez megjelentse szolgl. - DataSource: adatbzis. - DataField: mez. - Field: program futsa alatt a mezt ezzel rhetjk el. Pl. DBText1.DataSource1.DataSet.Edit; DBText1.Field.Value:=Date; - AutoSize (boolean): Tue esetn a komponens szlessge automatikusan vltozik. - Transparent (boolean): True esetn a DBText mgtt elhelyezked komponens is lthat. TDBEdit Az aktulis mezt megjelenthetjk s szerkeszthetjk a beviteli mezben. A komponensbe rt stringre (vagy konvertlt rtkre) vltoztatja a mezt, ha a tbla mdosthat. - DataSource: adatbzis. - DataField: mez. - CharCase: a bert szveg megjelensi mdja. - ecLowerCase: minden bett kisbetre vlt, - ecNormal: alap, - ecUpperCase: minden bett nagybetre vlt. - ReadOnly (boolean): True esetn csak olvashat. - PasswordChar: ha nem #0, akkor az ide bert karakter fog megjelenni begpels kzben (pl. *). Az adatbzisban az eredeti adat fog megjelenni. - MaxLength: a beviteli mez maximum hosszt adja (ha nem 0). - AutoSelect (boolean): ha True, akkor a komponensre fkuszls utn automatikusan kijelli a benne foglalt teljes stringet. - Modified (boolean): azt mutatja, hogy megvltozott-e a szveg tartalma. Pl. If Edit1.Modified then... - SelText: a kijellt szveget trolja el. - SelStart: a kijells els karaktere, - SelLength: a kijellt string hossza. - Text: a DBEdit-et Text stringgel vltoztathatjuk meg s krhetjk le. - Field: egy mezt rhetnk el vele Pl. DBEdit.Field.AsString:='Hah!'; - Clear: trli a komponens tartalmt. - SelectAll: kijelli a teljes szveget.

13

- ClerSelection: a kijellt szvegrszt trli. - CopyToClipboard: a vglapra msolja a kijellt szveget. - CutToClipboard: kivgja a vglapra a kijellt szveget. - PasteFromClipboard: a vglapra msolt szveget beilleszti a megadott komponensbe. - onChange: ltrejn ez az esemny, ha a DBEdit tartalma megvltozik. TDBMemo Tbbsoros beviteli mez. - DataSource: adatbzis. - DataField: mez (az adatbzis mezje Memo tpus legyen!). - Field: egy mezt rhetnk el vele. DBMemo1.Field.DisplayLabel:=Ez egy mez; - AutoDisplay (boolean): ha True, akkor automatikusan megjelenik a DBMemo tartalma, amikor az adatbzisban lpkdnk. - ReadOnly (boolean): ha True, akkor csak olvashat. - AlignMent: szveg igaztsa. - taLeftJustify: balra igazts, - taCenter: kzpre igazts, - taRightJustify: jobbra igazts, - MaxLength: a maximlisan megadhat karakterek szmt adja meg. - ScrollBars: grgetsvok. - ssNone: nincs, - ssHorizontal: vzszintes, - ssVertical: fggleges, - ssBoth: vzszintes s fggleges. - WantTabs (boolean): True esetn a TAB lenyomst a DBMemo-n bell rzkeli. - WordWarp (boolean): True esetn a sor vgn lemaradt szvegrsz tkerl a kvetkez sorba, False esetn az egsz sz. - Lines: a DBMemo sorai. - Add(string): sor hozzadsa. - Modified (boolean):a szveg megvltozottsgt jelzi. - LoadMemo: egy file tartalmval tlti fel a DBMemo-t. - SelectAll: kijelli a teljes szveget a komponensen bell. - Clear: trli a DBMemo tartalmt. - ClearSelection: a kijellt szveget trli. - CopyToClipboard/CutToClipboard/PasteFromClipboard: vglap hasznlata. TDBImage Az adatbzisban lv kpeket jelenti meg. - DataSource: adatbzis. - DataField: mez (az adatbzis mezje dBase esetn binary, egyb esetn egyb kpformtum legyen!). Az adatbzismezbe j kpet beilleszteni, illetve onnan kpet kimsolni a vglapon keresztl lehet (CTRL+C, CTRL+X, CTRL+V). - Field: egy mezt rhetnk el vele. - AutoDisplay (boolean): True esetn mindig megjelenti az aktulis rekord DBImage-t, False esetn a LoadImage eljrssal kell betltennk. - Stretch (boolean): ha True, a kp mrett a komponens mrethez igaztja (nyjtja). - QuickDraw (boolean): True esetn nem hasznl specilis palettt a kp kirajzolshoz, hanem csak 256 sznt. (Alapesetben True.) - BorderStyle: itt azt lehet belltani, legyen-e keret. - bsNone: nincs keret,

14

- bsSingle: van keret. - Picture: kzvetlenl elrhetjk vele a kpet. Pl. BitBtn(PaintBox1.Canvas.Handle, 0, 0, DBImage1.Picture.Width, DBImage1.Height, DBImage1.Bitmap.Canvas.Handle, 0, 0, srcCopy); - ReadOnly (boolean): ha True, akkor csak olvashat. - LoadImage: egy file tartalmval tlti fel a DBImage-et. - CopyToClipboard/CutToClipboard/PasteFromClipboard: vglap hasznlata. TDBListBox Adatbzishoz igazod listadoboz. A listadobozban kivlasztott elem kerl a rekordmezbe. Ha a rekord kivlasztott eleme megegyezik a listadoboz egyik elemvel, akkor az az elem a listadobozban is ki lesz vlasztva. - DataSource: adatbzis. - DataField: mez. - Field: egy mezt rhetnk el vele. - Items: a listadoboz elemei, a rekord mezi a listadobozban. - Add(elemnv): j elem hozzadsa. - ReadOnly (boolean): ha True, akkor csak olvashat. - onDrawItem: olyan esemny, amely akkor jn ltre, ha kirajzol egy listaelemet. - Style: stlus. - lbStandard: alap, - lbOwnerDrawFixed: lland mret elemek, - lbOwnerVariable: vltoz mret elemek. - ItemHeight: az egyes elemek magassga (Style=lbStandard esetn nem kell vltoztatnunk). - IntegralVariable: a listadoboz szlessge a listaelemek egszszm megjelenshez igazodik. - ItemIndex: a kivlasztott elem sorszmt adja meg (0-tl Count-1-ig), ha rtke 1, akkor nincs kivlasztott elem. - Selected (boolean tmb): minden egyes elem kivlasztottsgt mutatja (True esetn a megadott elem kivlasztott). TDBComboBox Adatbzishoz igazod ComboBox. A listbl kivlasztott elem kerl a mezbe. Ha megvltozik az aktulis rekord, akkor komponens tartalma is megvltozik arra az rtkre, amelyet az adatbzis tartalmaz. Ha az adatbzisban olyan rtk van, amely nem szerepel a ComboBox-ban, akkor semmi sem jelenik meg komponensben. Ha egy msik elemet vlasztunk ki, akkor az adatbzis automatikusan szerkeszthet zemmdba kerl. - DataSource: adatbzis. - DataField: mez. - Field: egy mezt rhetnk el vele. - Items: a listadoboz elemei, a rekord mezi a listadobozban. - ReadOnly (boolean): ha True, akkor csak olvashat. - ItemIndex: a kivlasztott elem sorszmt adja meg (0-tl Count-1-ig), ha rtke 1, akkor nincs kivlasztott elem. - Sorted (boolean): True esetn rendezett a lista. TDBCheckBox Adatbzishoz igazod, kt- vagy hromelem doboz (logikai tpus rtkekhez ajnljk). - DataSource: adatbzis. - DataField: mez. - Field: egy mezt rhetnk el vele. DBCheckBox1.Field.DisplayValues:=igaz; hamis; - ReadOnly (boolean): ha True, akkor csak olvashat.

15

- AllowGrayed (boolean): True esetn hromrtk (iksz/szrke iksz/res), False esetn ktrtk. - Checked: elemek kivlasztottsgt mutatja. - State: hromelem esetn az llsa. - cbUnchecked: nem kivlasztott, - cbChecked: kivlasztott, - cbGrayed: harmadik rtk (szrktett). - ValueChecked: itt lehet megadni, hogy milyen szveges rtk feleljen meg az igaz rtknek (pontosvesszvel tbb rtket is megadhatunk). Pl. CheckBox1.ValueChecked:=igaz;i; - ValueUnchecked: a hamis rtk szveges megfelelje. TDBRadioGroup Erre a komponensre akkor lehet szksg, ha vges szm elem kzl csak egyet kell mkivlasztani. - DataSourcs: adatbzis. - DataField: mez. - ReadOnly (boolean): a komponens csak olvashat. - Items: a komponens elemei. - Columns: a megjelent oszlopok szma. - Values: az rtkek soronknti hozzrendelse az elemekhez. - Caption: a fejlc szvege. - ItemIndex: megmutatja, hogy hnyadik az aktulis elem (0-tl kezddik a szmols). - CanModify (boolean): True esetn az adott mez rtkt megvltoztathatjuk. TDBLookUpListBox A lista elemeit nem mi adjuk meg, hanem egy msik adatbzis szolgltatja. - DataSource: a fadatbzis, ahov az elemek kerlnek. - DataField: a fadatbzis azon mezje, ahov a ListaSource-ben s a KeyField-ben megadott mez tartalma kerl. - ListSource: a segdadatbzis, ahol a lista elemeit troljuk. - ListField: a lista elemeit trol segdadatbzis mezje (tbb mezt is megadhatunk ;-vel tbb oszlopban jelenik meg). Pl. With DBLookUpListBox1 do begin ListField:=NEV;CM;TELEFON; end; - KeyField: a segdadatbzisban ennek a meznek az rtke kerl be a fadatbzisba. Pl. With DBLookUpListBox1 do begin ListSource:=DataSource2; ListField:=NEV; KeyField:=KOD; DataSource:=DataSource1; DataField:=VEVOKOD; end; - Field: a fadatbzis egy mezje. - ListFieldIndex: tbb mez megadsa esetn a mez szma (0-tl). Pl. ListField:=NEV;CM;TELEFON; Ha a ListFieldIndex=1, akkor a CM mez alapjn keresi a bert rtket. - KeyValue: a KeyField-ben megadott mez rtke.

16

Pl. Label1.Caption:=DBLookUpListBox1.KeyValue; - SelectedItems: az aktulisan kivlasztott elem szvege. - RowCount: az ablak sorainak szma. TDBLookUpComboBox - DataSource: a fadatbzis, ahov az elemek kerlnek. - DataField: a fadatbzis azon mezje, ahov a ListaSource-ben s a KeyField-ben megadott mez tartalma kerl. - ListSource: a segdadatbzis, ahol a lista elemeit troljuk. - ListField: a lista elemeit trol segdadatbzis mezje (tbb mezt is megadhatunk ;-vel tbb oszlopban jelenik meg). - KeyField: a segdadatbzisban ennek a meznek az rtke kerl be a fadatbzisba. - Field: a fadatbzis egy mezje. - ListFieldIndex: tbb mez megadsa esetn a mez szma (0-tl). - KeyValue: a KeyField-ben megadott mez rtke. Pl. Label1.Caption:=DBLookUpListBox1.KeyValue; - DropDownAlign: az elemek igaztsa. - daLeft: balra igazts, - daRight: jobbra igazts, - daCenter: kzpre igazts. - DropDownRows: a lista megjelen elemeinek szma. - DropDownWidth: a lista szlessge. - ListVisible (boolean): True esetn a lista lthat. - Text: az aktulisan szerkesztett mez tartalma. TDBRichEdit Adatbzisban trolt Rtf file-ok megjelentsre szolgl. - DataSource: adatbzis. - DataField: adatbzis mezje. - Field: a mez elrse. - ReadOnly (boolean): csak olvashat. TDBCtrlGrid Az adatbzis tbbrekeszes megjelentst teszi lehetv. Egy rekesz tbb mezt is tartalmazhat. - TDBText - TDBEdit - TDBMemo - TDBImage - TDBCheckBox - TDBComboBox - TDBLookUpComboBox - DataSource: itt azt lehet megadni, hogy a megjelent eszkzk mely adatbzishoz tartoznak. - ColCount: a tblzat oszlopainak szmt adhatjuk itt meg. - RowCount: a tblzat sorainak szmt adhatjuk itt meg. - AllowDelete (boolean): True esetn CTRL+Delete-tel trlhetjk a mez tartalmt. - AllowInsert (boolean): True esetn CTRL+Insert-tel j elemet szrhatunk be. - EditMode (boolean): True esetn az adatbzis a CtrlGrid-en keresztl is szerkeszthet. - Orientation: azt lehet itt megadni, hogy fgglegesen vagy vzszintesen helyezkedjenek-e el.

17

- PanelBorder: a rcsozst adhatjuk meg itt. - PanelCount: az egyidben ltsz rekordok szmt adja meg. - PanelIndex: azt mutatja, hogy hnyadik panelon tallhat az aktulis rekord. - SelectedColor: a fkuszlt panelek szne. - ShowFocus (boolean): True esetn ltszani fog, hogy melyik az aktulis rekord. - DoKey: esemnyek elidzse. - gkNul: semmi, - gkEditMode: szerkeszt zemmdba kapcsol, - gkPriorTab: elz cellba lp, - gkNextTab: kvetkez cellba lp, - gkLeft: a balra lv cellba lp, - gkRight: a jobbra lv cellba lp, - gkUp: a fenti cellba lp, - gkDown: a lenti cellba lp, - gkScrollUp: egy sorral feljebb grget, - gkScrollDown: egy sorral lejjebb grget, - gkPageUp: egy lappal feljebb grget, - gkPageDown: egy lappal lejjebb grget, - gkHome: az els rekordra ugrik, - gkEnd: az utols rekordra ugrik, - gkInsert: j rekordot szr az aktulis rekord el, s szerkesztmdba kapcsol, - gkAppend: j rekordot szr az utols elem utn, s szerkesztmdba kapcsol, - gkDelete: trli az aktulis rekordot, - gkCancel: szerkeszt zemmd esetn nem menti el, s kilp, - onPaintPanel: minden cella kirajzolsa esetn ltrejv esemny. Ltrejn egy Index vltoz, amely az aktulis cella sorszmt mutatja. Egyni rajzolshoz a Canvas-t hasznljuk. TDBChart Grafikon megjelentst teszi lehetv az adatbzisbl. 1. Kapcsolat megjelentse a TDataModule-ban, s a TDBChart rttele a TForm-ra. 2. Dupla klikk a TDBChart-on. Eljn egy dialgusablak. 2.1. Add gombbal hozzunk ltre egy grafikont. 2.2. Meg kell adni a grafikon tpust. 2.3. Series. 2.4. DataSet-ben a tbla nevt meg kell adni. 2.5. A Labels-ben megadott rtk meg fog jelenni minden oszlop alatt. 2.6. A Bar-ben megadott rtk lesz minden oszlop magassga.

Keress billentylets utn idztssel


Ha berok egy szvegrszletet (vagy egy karaktert) a beviteli mezben, s vrok, akkor egy id utn keresi a bert szvegrszletet. Timer1.Interval:=1000; //Az idzt 1 msodpercre van belltva procedure TForm1.Edit1Change(Sender: TObject); //Ha vltozik az Edit rtke, elindtja az idztt begin Timer1.Enabled:=True; end; procedure TForm1.Timer1Timer(Sender: TObject); begin

18

DataModule1.Table1.Locate('TERMEKNEVE',Edit1.Text,[loPartialKey]); Timer1.Enabled:=False; //Kikapcsolja az idztt, hogy bers utn jra kezddjn a szmols end;

Szcs Tams, 2000. prilis.

19

You might also like