Az alapvető technikákat dolgoznak sql Delphi - Adatbázis-kapcsolat
Kapcsolódás az adatbázishoz
Amikor dolgozik egy első adatbázist, hogy lehetővé kell tenni a teendő, ha a program célja, hogy csatlakozni az adatbázishoz. Keresztül a kapcsolatot az adatbázissal program küldésére és fogadására eredményeit annak végrehajtását.
Tegyük fel, hogy:- Már kiválasztott adatbázis szerver, és tudjuk, hogy az ő nevét.
- Írja be a kiválasztott szerver támogatja a hozzáférési alkatrészeket használ (ebben a példában erda).
- Az adatbázis a már kialakult kapcsolatot bizonyult standard szerver eszközök és minden működik.
- A Delphi formája (vagy DataModule) hoztak létre, ahol fogunk létrehozni a kapcsolatot.
Ahhoz, hogy leírja a típusú szerver és a kapcsolati paraméterek általában ispolzuetsyaobekt a címe, vagy tartalmazó adatbázis kapcsolat. (Ebben a Erda TerDataBase, ebben a ADO TADOConnection, ebben a BDE TDataBase). Általánosan ajánlott minden alkalmazás létrehoz egy ilyen objektumot, és minden további munka megy át rajta. Abban az esetben, BDE és ADO tehet anélkül, hogy ez lehetőség, de akkor nehéz megszervezni egy szép párbeszéd lépnie, hogy nehéz, hogy egy gomb le az adatbázist. és szinte lehetetlen ellenőrizni, az aktív kapcsolatok (ülés) - a jelenleg telepített szoftvert a szerverre.
Miután létrehozta a komponens, kívánatos rendelni neki, hogy olvassa el a nevét. Obzovem a DB.
Általában, ha a program indításakor meg kell kérdezni a felhasználói nevet és jelszót, hogy csatlakozni az adatbázishoz. Továbbá, ha kívánatos, hogy a felhasználó kiválaszthatja az adatbázist, amellyel ez működni fog. Ez a funkció általában értékesítik az események onLogin. BeforeConnect, vagy mások függően a komponensek, ami azt mutatja, egy űrlap jelszó megadása, akkor az adatot továbbítjuk a komponens tulajdonságait.
Tekintettel arra, hogy a BDE és ADO automatikusan felveszi a kapcsolatot az adatbázissal, ha szükség van további beállítás szükséges.
A erda azt a lehetőséget, hogy ellenőrizzék az aktív ülés, és aztán, hogy milyen kapcsolat szükséges. Erre a célra a tárgy TerTransaction ott ismertetett módszert kínál a tranzakciót. Annak a ténynek köszönhetően, hogy MSSQL nem teszi lehetővé, hogy tartsa néhány nyitott és nem „húzta ki” a kérelmek száma folyamaton, TerTransaction mechanizmust, amely, ha a nyílás a következő kérés vagy leáll, vagy leereszt a teljes korábbi kérésére, hogy az ügyfél (a fajta viselkedés lehet kiválasztani tulajdonságok FreeAction TerTransaction komponens).
Általában csak annyi, hogy TerTransaction alkotnak együtt TerDataBase adatbázis és a tulajdon bejegyzéséhez. Ha nem szeretnénk, hogy elérjük azt, amit más hatás. Egyetértek az ilyen kéréseknek 2 rész 1. kéri a kis- és könyvtárak 2. lekérdezéseket, visszatérhet a számos bejegyzés. Az 1. része létrehozásának tranzakciójának a második az ingatlan FreeAction = erStopFetch. Az eredmény - ha a felhasználó megnyit egy 2 „hosszú” kérést, majd húzza ki csak az első állomása a helyen, ahol ez volt a megnyitó a 2. kérelmet.
A tény az, hogy ha a szerver nem kihúzva elhagyni az adatokat - akárcsak a BDE, akkor minden egyes „nem húzta ki” kérés létrehozza a saját kapcsolatot. Amennyiben a felhasználó elfelejtette, hogy lezárja a vizsgálatot, és az is marad lógott, és elfoglalják szerver erőforrásokat, amelyek még mindig nem korlátlan. Az ADO, alapértelmezés szerint az összes lekérdezés eredményét azonnal kihúzta az ügyfél, de néha vezet hosszú várakozás a végén a gyorsítótárak.
Így minden egyes aktív kérés automatikusan ró számos zárak. Bár egy kis számú felhasználó, ez nem számít, de nőtt a felhasználók száma ezt is figyelembe kell venni. Sajnos, a szokásos, amikor az ügyet (írás után a program), hogy megoldja ezt a problémát nem is könnyű. Sokkal könnyebb, ha a feladatot a program egy jelentős számú ügyféllel volt kezdéskor, és intézkedéseket hoztak azonnal számának csökkentése zárak.
A demonstrációs program egy adatbázis szerver MSSQL teszt szerver nevét, az adatbázis TESZTAB adatokat.
Való csatlakozáshoz szükséges előírni a következő tulajdonságokkal TerDataBase: