110 likes | 231 Views
Delphi programozás. 8. ELŐADÁS. ADO ActiveX Data Objects. Delphi programozás. Adatbázis kezelés ADO-val (dbGo). ADOConnection : Adatbáziskapcsolat létrehozása ADO adattárakkal (BDE megfelelője a TDatabase)
E N D
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects
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
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
Delphi programozás ADOConnection - string ADOConnectionkomponens segítségével kapcsolatot teremtünk egy adatforrással
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
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
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
Delphi programozás Lekérdezések ADO-val • az SQL parancsok végrehajtására • ADOQuery • ADOCommand
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)
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);