HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Adatbázis készítése könyvtárszerkezetből


Példaprogram letöltése

6349 bájt

Készítünk egy alkalmazást, amely segítségével egy megadott elérési út vagy meghajtó tartalmát elmenthetjük egy SQL adatbázisba. Ez lehetővé teszi, hogy merevlemezeinkről vagy CD/DVD lemezeinkről egyfajta tartalomjegyzéket készítsünk. Egy SELECT parancs segítségével különböző kereséseket hajthatunk végre az adatbázison. A lekérdezés eredményéből könnyedén megtudhatjuk, hogy mit hol kell keresnünk.

A mellékelt példaprogram futtatása előtt futtassa le a Run_script.cmd parancsállományt. Amennyiben a Form1-en található ADOConnection1 objektumban megadott ConnectionString értéke nem felel meg az Ön beállításainak, úgy módosítsa azt.
Az adatok tárolásához a Files adatbázis Data tábláját használjuk, melynek rekordszerkezete a következő:
Mezőnév Típus Hossz Megjegyzés
FileName varchar 100 Állomány- / könyvtárnév.
Path varchar 255 Elérési út.
Type varchar 10 Típus. File – állomány, Directory – könyvtár.
Comment varchar 50 Megjegyzés. Ebben a mezőben eltárolhatjuk, például a CD/DVD lemez nevét.
Az SQL szerverhez egy ADOConnection objektumon keresztül kapcsolódunk.
Az állományok és könyvtárak keresését, valamint rögzítését az adatbázisban a ScanFiles metódus segítségével végezzük el.
procedure ScanFiles(Dir: String);
A metódus belsejében, a FindFirst – FindNext utasításpárost használjuk fel arra, hogy könyvtárbejegyzéseket keressünk. Kiindulási könyvtárként a Dir paraméterben megadott elérési utat használjuk fel, ami lehet egy tetszőleges könyvtár, így akár egy CD vagy DVD lemez főkönyvtára is.
A megadott elérési út első bejegyzését a FindFirst utasítással kereshetjük meg.
if FindFirst(Dir+'*.*',faAnyFile,F)=0 then begin
Az eredményül kapott TSearchRec struktúra Name tagjából olvashatjuk ki a bejegyzés nevét.
A további bejegyzéseket egy repeat – until ciklus és a FindNext utasítás felhasználásával találhatjuk meg.
Ha a CheckBox1 objektum be van jelölve és egy könyvtárbejegyzést találtunk, akkor feljegyezzük a könyvtár adatait, majd rekurzív módon ismét meghívjuk a ScanFiles metódust, ez alkalommal a talált könyvtárnévvel.
if CheckBox1.Checked and (F.Name[1]<>'.') then begin
  ADOQuery2.Append;
  ADOQuery2.FieldByName('FileName').AsString:=F.Name;
  ...
  ADOQuery2.Post;
  ScanFiles(Dir+F.Name);
Ha a bejegyzés egy állomány, akkor nincs más dolgunk, mint feljegyezni azt az adatbázisba.
Az alkalmazásban lehetőséget biztosítunk SQL lekérdezések használatára is. Ehhez egy Memo és egy ADOQuery komponensre van szükségünk. A Memo1 objektumba beírhatjuk a SELECT parancsot. Az ADOQuery objektummal végrehajtjuk a lekérdezést, melynek eredményét egy DBGrid-ben meg is jelenítjük.
ADOQuery1.Close;
ADOQuery1.SQL.Assign(Memo1.Lines);
ADOQuery1.Open;
Egy for ciklus segítségével méretezzük a Grid megjelenő celláit, hogy azok ne legyenek indokolatlanul szélesek.
for i:=0 to DBGrid1.Columns.Count-1 do
  DBGrid1.Columns[i].Width:=200;

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 598. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |