Jelenlegi hely

Utolsó változások

23.2.2 SQL parancs végrehajtása

Az executeUpdate metódust használtuk, mert az createTableCoffees nevű SQL utasítás egy DDL (data definiton language) utasítás. Azok a parancsok, amelyek létrehoznak, módosítanak, törölnek táblát, mind DLL utasítások és az executeUpdate metódussal hajthatók végre. Amint az a nevéből kitűnik, az executeUpdate metódus rekordok értékeinek módosítására is szolgál. Ez sokkal gyakoribb, mivel rekord módosítása többször is történhet, amíg egy tábla létrehozása csak egyszer.

23.2.1 JDBC Statement létrehozása

A Statement objektum küldi el az SQL utasításunkat az adatbázis-kezelőnek. Egyszerűen létrehozunk egy Statement objektumot, majd végrehajtjuk az execute metódust alkalmazva. A SELECT utasítások végrehajtására az executeQuery metódus szolgál. Azoknál az utasításoknál, amelyek táblát hoznak létre, vagy módosítanak, az executeUpdate metódus használatos.

23.2. Táblák használata

Tábla létrehozása

Először létrehozzuk az egyik táblát a példa adatbázisban. Ez a tábla a Coffees, mely tartalmazza az alapvető információkat a Coffee Break által eladott kávékról, ideértve a kávé nevét, annak árát, aktuális héten eladott mennyiséget és a napi eladott mennyiséget. A Coffee tábla látható itt, melyet később részletesebben leírunk:

23.1. Adatbázis beállítása

Tételezzük fel, hogy a Coffebreak nevű adatbázis már létezik. (Egy adatbázis létrehozása nem olyan bonyolult, de különleges jogokat igényel és általában az adatbázis adminisztrátor végzi el). A jegyzet példáiban használt táblák az alapértelmezett adatbázisban lesznek létrehozva. A könnyebb kezelhetőség érdekében szándékosan tartottuk alacsonyan a táblák számosságát és méretét.

23. JDBC adatbázis-kezelés

A Java Database Connectivity (JDBC) olyan programozói felületet (API-t) ad a programozó kezébe, amellyel a konkrét adatbázis-kezelőtől függetlenül működő, adatbázis alapú alkalmazások készíthetők.

Kezdő lépések

Első lépésként meg kell győződni, hogy minden helyes van-e beállítva. Ez a következő lépéseket tartalmazza:

18.6 Ellenőrző kérdések

  • Mi a kivétel?
  • Hogyan lehet kivételeket létrehozni?
  • Kell-e deklarálni a metódusban létrehozott kivételeket, és ha igen, hogyan?
  • Mire szolgál a try-catch?
  • Hány catch ága lehet egy try-catch szerkezetnek?
  • Hány finally ága lehet egy try-catch-finally szerkezetnek?
  • Mi a teendő, ha metódusunk olyan másik metódust hív meg, ami kivételt generálhat?
  • Mik a nem ellenőrzött kivételek, és hogyan lehet elkapni őket?

Korrekt a következő kód?

18.5 Saját kivétel osztályok létrehozása

Amikor szükségessé válik egy kivétel dobása, az egyik lehetőség egy valaki által már megírtat használni – a Java Platform rengeteg kivétel osztállyal van ellátva – vagy magunk is tudunk írni a céljainknak megfelelőt.

Saját kivétel osztályt kell írnunk, ha a következő kérdések bármelyikére igennel válaszolhatunk. Különben valószínűleg egy valaki más által megírtat kell használnunk.

18.4 Láncolt kivételek

A kivételeknek sok esetben egy másik kivétel az oka. Ilyen esetben célszerű az eredeti (okozó) kivételt és az új kivételt együtt kezelni. Erre a problémára jelent megoldást a Java 1.4 verzió óta rendelkezésre álló kivételláncolás. Ennek lényege, hogy egy kivétel létrehozásakor becsomagoljuk az okozó kivételt az új kivétel objektumba.

Ennek érdekében két új metódus és két új konstruktor lett hozzáadva a Throwable típushoz.

A következő új metódusok és konstruktorok támogatják a láncolt kivételeket a Throwable osztályban:

18.3. Eldobható osztályok és leszármazottai

Az ábra a Throwable osztály és annak legjelentősebb származtatott osztályait (osztályhierarchiáját) reprezentálja. Amint láthatjuk, a Throwable osztálynak kettő direkt módon származtatott utódja van: Error és Exception.

Throwable Class

18.2. Kivételek dobása

Bármelyik forráskód tud kivételt dobni, legyen az saját kódunk, egy csomagból származó, más által írt kód, bármi is annak a kimenete, a throws minden esetben jelen van. A Java platform számos osztályt nyújt a kivételek kezelésére, melyek egytől egyig leszármazottjai a Throwable osztálynak. Ezek az osztályok lehetővé teszik a programok számára, hogy megkülönböztessék az eltérő típusú kivételeket, melyek a program futása közben keletkeznek.

Oldalak