A Java programozási nyelvSoós Sándor 1/20 Java programozási nyelv 11. rész – Adatbázis-programozás Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.

Slides:



Advertisements
Hasonló előadás
Számítógépes adatbázis-kezelés
Advertisements

Tananyag: konzultáció
ADATBÁZISOK.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
C++ programozási nyelv Gyakorlat hét
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Adatbázis alapú rendszerek
1 Fejlett Programozási Technikák 2. 15/7. Fejlett Programozási Technológiák 2. 2 Az előző előadás tartalma: JFC és Swing  Múlt  Felépítés  Java Bean.
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 7. gyakorlat.
Készítette: Sárközi Anikó
Adatbáziskezelés az MSAccess programmal Makány György 2. rész: Adattáblák létrehozása külső adatforrásból.
az MSAccess programmal
A körlevél készítésének menete
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 2. rész – Vezérlő szerkezetek
A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 3. rész – Osztályok I.
A Java programozási nyelvSoós Sándor 1/4 Java programozási nyelv 12. rész – Képek kezelése Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Adatbázis-kezelés ACCESS program:
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
Adatbázis-kezelés Papp-Varga Zsuzsanna. Elérhetőségek    as.
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
Az SQL nyelv alapjai.
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Objektumorientált adatbázisok és szabványok Ispány Márton.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
Java – adatbázisok elérése
Adatbázis adminisztrátori ismeretek
Adatbázis-kezelés SQL-lel
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Adatbázis-kezelés JAG,
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Készítette: Rummel Szabolcs Elérhetőség:
APEX BMF, II. félév.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
A gyakorlatok munkakörnyezete
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
Számítógépes adatbázis-kezelés
Gazdasági informatikus - Szövegszerkesztés 1 Hosszú dokumentumok kezelése.
Access adatbáziskezelés
ACCESS ALAPOK Alapfogalmak
Programozás III JPA.
Bevezetés Adatbázisok használata. Mi is az adatbázis? Az adatbázisok ma már az élet számos területén alapvető fontossággal bírnak (Google, Amazon, Flickr,
WINDOWS FELÜGYELETI ESZKÖZÖK MICROSOFT SÚGÓ ALAPJÁN - PÉLDÁKKAL Takács Béla 2016.
Lekérdezések Adott tulajdonságú adatok listázásának módja a lekérdezés. A lekérdezések segítségével az adatbázisból megjeleníthetjük, módosíthatjuk, törölhetjük.
Adatbázis alapú rendszerek
Miskolci Egyetem Alkalmazott Informatikai Tanszék 2007
Alkalmazásfejlesztés gyakorlat
Adatbázis használat a webszervernél
Kovács Gergely Péter Bevezetés
LINQ to Xml Xml kezelése Linq-val Zaklóczki Dávid
Előadás másolata:

A Java programozási nyelvSoós Sándor 1/20 Java programozási nyelv 11. rész – Adatbázis-programozás Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor szeptember

A Java programozási nyelvSoós Sándor 2/20 Tartalomjegyzék ● Adatbázis programozás Java-ban ● JDBC ● Két- és háromrétegű adatbázis-elérési modell ● JDBC-ODBC kapcsolat ● Adatbázis URL ● Hibakezelés ● SQL utasítások végrehajtása ● Az SQL utasítás eredményének feldolgozása ● Az SQL kurzor mozgatása ● Az aktuális sor feldolgozása ● Adatforrás definiálása

A Java programozási nyelvSoós Sándor 3/20 Adatbázis programozás Java- ban ● A JDBC fogalma: – programozói interface (API) SQL (Structured Query Language) utasítások végrehajtására – bár a JDBC önálló márkanév, mégis szokás Java DataBase Connectivity-nek is nevezni (Java Adatbázis Összeköttetés) ● Mit jelent az API? – Application Programming Interface – Alkalmazás Programozási Interfész – Programozók számára készített eszközkészlet, könyvtár valamilyen feladatot megoldó programok készítésére – Pl. Windows API

A Java programozási nyelvSoós Sándor 4/20 JDBC ● A JDBC API szolgáltatásai – Összekapcsolódás a relációs adatbázissal – SQL utasítások végrehajtása – SQL lekérdezések eredményeinek feldolgozása ● A JDBC két szintje: – JDBC alap (Core) API: java.sql csomag ● az adatbázisok eléréséhez szükséges alapvető osztályok – JDBC standard kiterjesztés (Extension) API: javax.sql ● további haladó szintű osztályok, pl. Java Tranzakció API (JTA) ● A JDBC alkalmazásával a programjaink nemcsak platformfüggetlenek, hanem adatbáziskezelő függetlenek is lehetnek.

A Java programozási nyelvSoós Sándor 5/20 Két- és háromrétegű adatbázis-elérési modell ● Kétrétegű modell: – Java program – Adatbázis ● Háromrétegű modell: – Java program – Szolgáltató réteg – Adatbázis ● A két, illetve három réteg 1, 2, vagy akár 3 gépen is elhelyezkedhet. A Java mindkét megoldást támogatja. ● Akár a Szolgáltató réteg is megírható Java-ban.

A Java programozási nyelvSoós Sándor 6/20 JDBC meghajtó programok (Driver) ● A JDBC API és a különböző adatbáziskezelő programok közötti kommunikációt a különböző meghajtó programok biztosítják. ● Ezeket külön-külön megírják az adatbáziskezelő programok készítői. ● A szükséges meghajtót, vagy meghajtókat regisztráljuk a JDBC alá, ettől kezdve a programunk képes kommunikálni az adott adatbáziskezelővel.

A Java programozási nyelvSoós Sándor 7/20 JDBC-ODBC kapcsolat ● ODBC – Open Database Connectivity – A legelterjedtebb adatbázis-hozzáférési API – platformfüggő – a Windows 2000 és XP is támogatja – nem objektumorientált ● A JDBC-hez létezik ODBC meghajtó, aminek segítségével használható minden ODBC meghajtóval rendelkező adatbázis. – a driver neve: sun.jdbc.odbc.JdbcOdbcDriver – ezt fogjuk regisztrálni.

A Java programozási nyelvSoós Sándor 8/20 Kapcsolattartás az adatbázissal ● A program és az adatbázis közötti kapcsolatot a Connection osztály reprezentálja. ● Egy program több adatbázissal is kapcsolatot tarthat egy időben. Ehhez egy-egy példányt kell létrehoznunk a Connection osztályból. ● Egy Connection típusú objektum a kiadott SQL utasításokat és azok eredményeit tartalmazza.

A Java programozási nyelvSoós Sándor 9/20 Adatbázis URL ● Az elérni kívánt adatbázist az Internetről ismert URL technikával adjuk meg. ● Az URL tartalmazza: – a használandó protokollt – az adatbázis azonosítóját – esetleges további paramétereket, pl. login név, jelszó ● Egy ODBC adatforrás eléréséhez a következő URL- t használjuk: – jdbc:odbc: – Például: jdbc:odbc:Cimek

A Java programozási nyelvSoós Sándor 10/20 Kapcsolat felvétel az adatbázissal ● Betöltjük, vagy a DriverManager-rel betöltetjük a szükséges adatbázis meghajtót. ● A DriverManager-től "elkérjük" a kívánt adatkapcsolatot megadva neki az adatbázis URL-t. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:Cimek","login név","jelszó" );

A Java programozási nyelvSoós Sándor 11/20 Hibakezelés ● Ha adatbáziskezelés során valamilyen hiba lép fel, akkor egy SQLException kerül kiváltásra. ● A hiba szövegét a getMessage metódussal kaphatjuk meg.

A Java programozási nyelvSoós Sándor 12/20 SQL utasítások végrehajtása ● Erre szolgál a Statement interface. ● A fennálló kapcsolatot reprezentáló Connection objektum createStatement metódusával létrehozunk egy utasítás objektumot. Ezzel még nem határoztuk meg a végrehajtandó SQL utasítást. Ezt három metódussal tehetjük meg: – executeQuery: Eredménytáblát visszaadó utasítások futtatására (SELECT) – executeUpdate: adatmanipulációs (INSERT, UPDATE, DELETE) és adatdefiníciós (CREATE/DROP TABLE) utasítások futtatására – execute: mindkét típus végrehajtására alkalmas

A Java programozási nyelvSoós Sándor 13/20 Az SQL utasítás eredményének feldolgozása ● Egy SQL utasításnak többféle eredménye lehet, ezért nem lehet egyszerűen a metódus által visszaadott értékben visszaadni. ● A Statement különböző metódusai segítenek: – getUpdateCount(): a megváltozott sorok száma. Ezt adja vissza az ExecuteUpdate metódus is. – getResultSet(): az eredménytábla. Ezt adja vissza az ExecuteQuery metódus is. – getMoreResults(): a következő eredménykomponens feldolgozása ● Nézzük meg a DBResult.java fájlt!

A Java programozási nyelvSoós Sándor 14/20 Az eredménytábla feldolgozása ● Egy SQL lekérdezés eredménye mindig egy eredménytábla (ResultSet) objektum. ● Az eredménytábla méretét nem lehet előre meghatározni, ezért pufferelve kapjuk meg. ● A pufferből is egyszerre egy sort látunk, erre mutat az SQL kurzor. ● Kezdetben az első sor elé mutat az SQL kurzor. ● Az SQL kurzor mozgatására különböző lehetőségeink vannak.

A Java programozási nyelvSoós Sándor 15/20 Az SQL kurzor mozgatása ● next(): a következő sorra lép. Hamisat ad vissza, ha nincs több sor ● previous(): az előző sorra lép. Hamisat ad vissza, ha nincs több sor ● last(): az utolsó sorra lép. Hamisat ad vissza, ha üres az eredménytábla ● first(): az első sorra lép. Hamisat ad vissza, ha üres volt az eredménytábla ● afterlast(): az utolsó sor utánra lép ● beforefirst(): az első sor elé lép ● absolute(): az adott sorszámú sorra lép. Ha negatív a szám, akkor hátulról számol. ● relative(): relatívan mozgatja a kurzort – Az eredménytábla típusa befolyásolja, hogy mely léptetések használhatók. – A sorok számozása 1-el kezdődik!

A Java programozási nyelvSoós Sándor 16/20 Az aktuális sor feldolgozása ● Az aktuális sor adatainak lekérdezése: getMetaData() ● Ez a metódus visszaad egy ResultSetMetaData interface-t. Ennek metódusai adják vissza a különböző jellemzőket. Lásd a dokumentációban! ● Például a getColumnCount() adja meg az oszlopok számát. ● Az egyes adatmezőket getTípus() formájú metódusokkal lehet lekérdezni paraméterként megadva az oszlop sorszámát. Az oszlopokat 1-től számozzuk. – Például: getString(1), getInt(3), stb.

A Java programozási nyelvSoós Sándor 17/20 Az aktuális sor módosítása ● Módosítható eredménytábla esetén updateTípus() formájú metódusokkal lehet módosítani a mezők tartalmát. ● Ezután az updateRow() metódussal kell véglegesíteni a módosításokat. ● A deleteRow() metódussal lehet törölni az aktuális sort

A Java programozási nyelvSoós Sándor 18/20 Új sor beszúrása ● Új sor beszúrása a beszúrási puffer segítségével lehetséges. ● A moveToInsertRow() metódussal érhetjük el a beszúrási puffert. ● Ezután az előbbi updateTípus() metódusokkal lehet beállítani a mezőket, majd az insertRow() metódussal véglegesítjük a beszúrást. ● A moveToCurrentRow() metódussal térhetünk vissza a beszúrás előtti aktuális sorra, vagy valamelyik abszolút léptető utasítással bármelyikre.

A Java programozási nyelvSoós Sándor 19/20 Adatforrás definiálása ● Adatforrás létrehozása Windows 2000-ben: – Vezérlőpult – Felügyeleti eszközök – Adatforrások (ODBC) – Add (Hozzáadás) – Microsoft Access Driver (*.mdb) – Befejezés gomb – Adatforrás neve: xy – Kiválasztás gomb – Speciális gomb ● Felhasználónév ● Jelszó – OK gomb

A Java programozási nyelvSoós Sándor 20/20 Példa ● Nézzük meg a DBTanulok.java fájlt!