Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects
Adatbázis kezelés ADO-val (dbGo) Delphi programozás Adatbázis kezelés ADO-val (dbGo) ADOConnection: Adatbáziskapcsolat létrehozása ADO adattárakkal (BDE megfelelője a TDatabase) ADOCommand: Direkt SQL parancsok kiadása az ADO adattárra, eredményhalmaz nélkül (BDE megfelelője lehet a TDatabase.Execute vagy a TQuery.ExecSQL metódus) ADODataset: Általános adatelérési komponens ADO adattáblák elérésehez (BDE megfelelője nincs) ADOTable: ADO adattárak tábláinak elérésére szolgáló komponens (BDE párja a TTable) ADOQuery: Egy vagy több tábla adatainak SQL utasításon keresztül történő elérésére szolgáló komponens (BDE párja a TQuery) ADOStoredProc: Tárolt eljárás hívása (BDE megfelelője a TStoredProc) RDSConnection: Többrétegű alkalmazások írásakor használható, az eredményhalmaz mozgatását végzi különböző folyamatok vagy számítógépek között (Nincs BDE megfelelője)
Delphi programozás ADOConnection TADOConnection (BDE TDatabase komponens ADO megfelelője) adatbázis kapcsolat felügyelésére szolgál; a kapcsolatot az adatbázis és a Delphi között ez a komponens biztosítja Nem kötelező a használata Adatmegjelenítés ADOConnection-ADOTable-DataSource-DataGrid beállításával ADO kapcsolat kétféleképpen is specifikálható UDL fájlban – bármikor átszerkeszthető Connection String-gel – ‘beégetett’ megoldás
ADOConnection – string-gel Delphi programozás ADOConnection – string-gel Connection String-gel ‘beégetett’ megoldást kapunk ConnectionString property-jén keresztül lehet beállítani a következőket: használni kívánt adatbázis motort az adatforrás (szerver) nevét a bejelentkezéshez használt felhasználónevet és jelszót az adattáblát kapcsolat megadásához a kapcsolódás paramétereit egymástól pontosvesszővel elválasztva kell megadni szerkesztőablak is rendelkezésre áll
ADOConnection - string Delphi programozás ADOConnection - string ADOConnection komponens segítségével kapcsolatot teremtünk egy adatforrással
ADOConnection – UDL-lel Delphi programozás ADOConnection – UDL-lel Use Data Link File-t, azaz az UDL fájlok - egy szöveges fájl fogja tartalmazni a kapcsolat felépítéséhez szükséges paramétereket, így azt könnyen, bármilyen szövegszerkesztő programmal módosíthatjuk UDL fájlban – bármikor átszerkeszthető Program Files\Common Files\System\OLE DB\Data Links könyvtárban tárolja UDL fájlt programkódból is előállíthatunk
UDL fájl programkódból Delphi programozás UDL fájl programkódból procedure CreateUDLFile(const FileName, ProviderName, DataSourceName: WideString); Const ConnStrTemplate = 'Provider=%s;Data Source=%s'; var ConnStr: WideString; DataInit: IDataInitialize; begin DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize; ConnStr := Format(ConnStrTemplate, [ProviderName, DataSourceName]); OleCheck(DataInit.WriteStringToStorage(PWideChar(Fil eName),PWideChar(ConnStr), CREATE_NEW)); end; A ConnectionString felépítése után a DataInitialize Ole objektum WriteStringtoStorage metódusának hívásával a string a FileName paraméterben megadott nevű fájlba kerül
ConnectioString beállítása után Delphi programozás ConnectioString beállítása után Kapcsolat ellenőrzés: a Connection property true-ra állításával Ekkor az OnWillConnect és az OnConnectComplete eseménykezelők aktiválódnak Lecsatlakozás a Close metódus hívásával történhet, ekkor először az OnDisconnect eseménykezelő kerül végrehajtásra, majd a kapcsolat leépül
Lekérdezések ADO-val az SQL parancsok végrehajtására ADOQuery Delphi programozás Lekérdezések ADO-val az SQL parancsok végrehajtására ADOQuery ADOCommand
Adatbázis kezelés ADO -val Delphi programozás Adatbázis kezelés ADO -val ADO alkalmazás futtatása: A futtatáshoz szükséges állományokat egy exe-be integrálja bele Windows 98-nál régebbi Windows verziók nem támogatják az ADO használatát (MDAC)
Sztring szerkesztő használata futásidőben Delphi programozás Sztring szerkesztő használata futásidőben a uses kulcsszó után hivatkozzunk a AdoConEd unitra. Ez a unit tartalmazza a szerkesztő Form-ját, és egy függvényt, amellyel ezt a Form-ot megjeleníthetjük. A függvény neve EditConnectionString. Paraméterként egy olyan komponenst kell megadnunk, amelynek van egy ConnectionString nevű property-je. A függvény visszatérési értéke igaz, ha a paraméter sztring összeállítása sikeres volt, és hamis, ha nem. if EditConnectionString(ADOConnection1) then ADOConnection1.GetTableNames(ComboBox1.Items);