abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {



Hasonló dokumentumok
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Java Programozás 11. Ea: MVC modell

B I T M A N B I v: T M A N

Java Programozás 3. Gy: Java GUI. Swing, AWT

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Programozási technológia

Java felhasználói felület

Adatbázisok webalkalmazásokban

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

A WEB programozása - JSP1 dr.gál Tibor őszi félév

C# osztályok. Krizsán Zoltán

Java Programozás 8. Ea: GUI. Graphical User Interface

Java Programozás 2. Gy: EmpProgram. Grafikus felületű adatkezelő program

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java és web programozás

Szoftvertechnológia alapjai Java előadások

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

Swing. (A javax.swing csomag)

Adatbázis-kezelés. Harmadik előadás

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Objektumorientált programozás C# nyelven

JavaServer Pages (JSP) (folytatás)

Bánsághi Anna

OOP: Java 8.Gy: Abstract osztályok, interfészek

Objektumorientált programozás C# nyelven III.

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

Adatbázis Rendszerek II. 8. Gyakorló környezet

Programozási technológia

B I T M A N B I v: T M A N

Java Programozás 10. Ea: JDBC. SQLite alapokon

Programozás és adatbázis kezelés PHP ben

Access adatbázis elérése OLE DB-n keresztül

117. AA Megoldó Alfréd AA 117.

C# feladatok gyűjteménye

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?


Egységes és objektumközpontú adatbázis-kezelés (2. rész)

A feladatok megoldásához felhasználandó osztályok leírásait az alábbi URL-en találja meg:

B IT MAN 43/1 B IT MAN. Adatbázis Rendszerek II. Ellenőrző kérdések JDBC. v:

Adattípusok. Max. 2GByte

JAVA PROGRAMOZÁS 5.ELŐADÁS

Adattípusok. Max. 2GByte

Java Programozás 10. Ea: JDBC. SQLite alapokon

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Elemi alkalmazások fejlesztése IV.

Java és web programozás

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa

ZH mintapélda. Feladat. Felület

Java programozási nyelv 8. rész Grafikus felhasználói felület

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Objektumorientált programozás C# nyelven

Java Database Connectivity (JDBC)

BME MOGI Gépészeti informatika 4.

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

A Java nyelv. VI. Adatbázis-kezelés Javaban, Példaprogram Az elôzô részben láthattuk, hogy a Java ideális programozási nyelv perszisztens objektumok

3. Gyakorlat Ismerkedés a Java nyelvvel

Adatbázisok* tulajdonságai

JAVA PROGRAMOZÁS 3.ELŐADÁS

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Programozási nyelvek Java

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Algoritmusok és adatszerkezetek II.

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Adatbázis-kezelés ODBC driverrel

B I T M A N B I v: T M A N

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Adatbázis Rendszerek II. 7. Oracle JDBC

Programozás I. Első ZH segédlet

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Java és web programozás

Collections. Összetett adatstruktúrák

Vizuális programozás gyakorlat

INFORMATIKAI ALAPISMERETEK

I. 288.: Utcai WiFi térkép

Java felhasználói felület

Szoftvertechnológia alapjai Java előadások

MySQL kontra MongoDB programozás. SQL és NoSQL megközelítés egy konkrét példán keresztül

Adatbázis használat I. 5. gyakorlat

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Átírás:

Adatkezelés JDBC-vel 1 abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { private JTabbedPane jtp; private JPanel dp, jp1, jp2, jp3, jp4; private JButton blist, bbeszur, bmodosit, btorol, bcreate, binsert, bkapcsell; JLabel pct; static Connection conn = null; //Üres kapcsolat változó static Statement s = null; //Üres kifejezés változó static PreparedStatement ps = null; //Üres paraméteres kifejezés változó static ResultSet rs = null; //Üres cursor változó static String user="tanuló"; //User megadása static String pswd="tanuló"; //Jelszó megadása static String bm="bitman mondja:"; //Üzenet panel felirata private static Autm dtmp; //Tábla modell kiíráshoz private static Autmj ttmp; //Tábla modell kijelöléshez public abkezel() { settitle("bitman mondja"); setsize(400,240); setlocationrelativeto(null); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add(dp); //Program neve //Ablak mérete //Ablak kerüljön középre //Panel létrehozása //Nincs tartalom elrendezés //Panel hozzáadása az ablakhoz (frame-hez) jp1 = new JPanel(); jp2 = new JPanel(); jp3 = new JPanel(); jp4 = new JPanel(); jp1.setlayout(null);

Adatkezelés JDBC-vel 2 blist = new JButton(); //Nyomógomb blist.settext("lista"); //Nyomógomb felirata jp1.add(blist); blist.setbounds(10,30,100,20); //Nyomógomb helye, mérete blist.addactionlistener( new ActionListener() { //Nyomógombhoz akciókezelő Object Mezonevekp[] = {"Azon.", "Rendszám", "Típus", "Szín", "Kor", "Ár"; dtmp = new Autm( Mezonevekp,0 ); //Táblafej létrehozása, mezőnevekkel ); //Kapcsolódás, létező táblatartalom törlése if (dtmp.getrowcount()>0) for (int i=0; i < dtmp.getrowcount(); i++) {dtmp.removerow(i);i--; AutoLista(); //Táblatartalom betöltése Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); //Helymeghatározás AuKiir ak = new AuKiir(null, dtmp, bsx, bsy); //Példányosítás ak.setvisible(true); //Megjelenítés bbeszur = new JButton(); bbeszur.settext("beszúrás"); jp1.add(bbeszur); bbeszur.setbounds(10,60,100,20); bbeszur.addactionlistener( new ActionListener() { Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuBe us = new AuBe(null, bsx, bsy);us.setvisible(true); if (us.kilep()==2){ //Visszaadott érték vizsgálat try { //Parancs megfogalmazása String sqlp = "insert into auto (azon, rendszam, tipus, szin, kor, ar) values (?,?,?,?,?,?)"; //Kapcsolódás ps = conn.preparestatement(sqlp); ps.setstring(1, us.getazon()); ps.setstring(2, us.getrsz()); ps.setstring(3, us.gettip()); ps.setstring(4, us.getszin()); ps.setint(5, us.getkor()); ps.setint(6, us.getar()); ps.executeupdate(); ps.close(); //Kifejezés előkészítés //Paraméterek kötése típus és //sorrend szerint //Parancs végrehajtása //Kifejezés lezárása Lekapcs(); //Kapcsolat lezárása JOptionPane.showMessageDialog(null,"Rekord! Beszúrva! ",bm,2); //Üzenet kiírása catch(exception ex) { JOptionPane.showMessageDialog(null,"SQL hiba: "+ex.getmessage(),bm,2);

Adatkezelés JDBC-vel 3 ); Object Mezonevekt[] = {"Jel","Azon.", "Rendszám", "Típus", "Szín", "Kor", "Ár"; ttmp = new Autmj( Mezonevekt,0 ); bmodosit = new JButton(); bmodosit.settext("módosítás"); jp1.add(bmodosit); bmodosit.setbounds(10,90,100,20); bmodosit.addactionlistener( new ActionListener() { if (ttmp.getrowcount()>0) for (int i=0; i < ttmp.getrowcount(); i++) {ttmp.removerow(i);i--; AutoListaJel(); Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuMod am = new AuMod(null, ttmp, bsx, bsy); am.setvisible(true); if (am.kilep() == 2) { if (am.getrsz().length() > 0) AutoUpdate("rendszam='"+am.getRsz()+ "' where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.gettip().length() > 0) AutoUpdate("tipus='"+am.getTip()+ "' where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.getszin().length() > 0) AutoUpdate("szin='"+am.getSzin()+ "' where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.getkor().length() > 0) AutoUpdate("Kor="+am.getKor()+ " where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.getar().length() > 0) AutoUpdate("ar="+am.getAr()+ " where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); //Ha a mező hossza nem nulla: UPDATE mező=visszakapott érték, //ahol az azonosító a megjelölt sor első eleme ); btorol = new JButton(); btorol.settext("törlés"); jp1.add(btorol); btorol.setbounds(10,120,100,20); btorol.addactionlistener( new ActionListener() { if (ttmp.getrowcount()>0) for (int i=0; i < ttmp.getrowcount(); i++) {ttmp.removerow(i);i--; AutoListaJel(); Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuTorol at = new AuTorol(null, ttmp, bsx, bsy); at.setvisible(true); if (at.kilep() == 2) {

Adatkezelés JDBC-vel 4 ); int db=0; for(int x = 0; x < ttmp.getrowcount(); x++)//végigmegyünk a táblázat sorain if (at.getjel(x)) { //Ha a sor meg van jelölve AutoTorol((String)ttmp.getValueAt(x,1)); //Törli a rekordot az azonosító alapján db++; Lekapcs(); JOptionPane.showMessageDialog(null,db+" rekord törölve!",bm,2); pct = new JLabel(); pct.seticon(new ImageIcon("auto.jpg")); jp1.add(pct); pct.setbounds(140,20,200,136); //Kép megjelenítése //Kép elérési helye (aktuális könyvtár), neve //Kép helye, mérete jp4.setlayout(null); bkapcsell = new JButton(); bkapcsell.settext("kapcsolat ellenőrzése"); jp4.add(bkapcsell); bkapcsell.setbounds(10,30,170,20); bkapcsell.addactionlistener( new ActionListener() { if (conn!= null ) {JOptionPane.showMessageDialog(null,"Kapcsolat rendben!",bm,2); else {JOptionPane.showMessageDialog(null,"Kapcsolat hiba!",bm,2); ); Lekapcs(); JOptionPane.showMessageDialog(null,"Kapcsolat bontva!",bm,2); bkapcsell = new JButton(); bkapcsell.settext("autó tábla Létrehozása"); jp4.add(bkapcsell); bkapcsell.setbounds(10,60,170,20); bkapcsell.addactionlistener( new ActionListener() { AutoCreate(); Lekapcs(); );

Adatkezelés JDBC-vel 5 binsert = new JButton(); binsert.settext("autó tábla Feltöltése"); jp4.add(binsert); binsert.setbounds(10,90,170,20); binsert.addactionlistener( new ActionListener() { AutoInsert(); Lekapcs(); ); jtp = new JTabbedPane(); jtp.addtab("autó", jp1); jtp.addtab("tulajdonos", jp2); jtp.addtab("napló", jp3); jtp.addtab("extrák", jp4); dp.add(jtp); jtp.setbounds(10,10,372,200); //Füles panel létrehozása //Fül hozzáadása: (Panel neve, változója) //Füles panel helye az ablakban public static void Kapcs(String user, String pswd){ //---------------------Kapcsolódás try { String url = "jdbc:oracle:thin:@193.6.5.42:1521:info"; //"jdbc:oracle:thin:@localhost:1521:xe"; conn = DriverManager.getConnection(url, user, pswd); catch(exception ex) {JOptionPane.showMessageDialog(null,"Kapcsolódási hiba: "+ex.getmessage(),bm,2); public static void Lekapcs(){ //---------------------Lekapcsolódás try {conn.close(); catch(exception ex) {JOptionPane.showMessageDialog(null,"Kapcsolat lezárási hiba: "+ex.getmessage(),bm,2); public static void AutoLista(){ //-------------------Autók adatainak beolvasása String az="", rsz="", tip="", sz=""; int kor=0, ar=0; String sqlp= "select * from auto"; try { s = conn.createstatement(); s.executequery(sqlp); rs = s.getresultset(); while(rs.next()) { az = rs.getstring("azon").trim(); //-----getstring rsz = rs.getstring("rendszam").trim(); tip = rs.getstring("tipus").trim(); sz = rs.getstring("szin").trim(); kor = rs.getint("kor"); //-----getint

Adatkezelés JDBC-vel 6 ar = rs.getint("ar"); dtmp.addrow(new Object[ ]{ az, rsz, tip, sz, kor, ar); //Sor beszúrása a táblázatba rs.close(); catch(exception e) {JOptionPane.showMessageDialog(null, "Nem sikerült betölteni az adatokat!"+e.getmessage(), bm, 2); public static void AutoListaJel(){ //----------Autók adatainak beolvasása jelölhető módon String az="", rsz="", tip="", sz=""; int kor=0, ar=0; String sqlp= "select * from auto"; try { s = conn.createstatement(); s.executequery(sqlp); rs = s.getresultset(); while(rs.next()) { az = rs.getstring("azon").trim(); rsz = rs.getstring("rendszam").trim(); tip = rs.getstring("tipus").trim(); sz = rs.getstring("szin").trim(); kor = rs.getint("kor"); ar = rs.getint("ar"); ttmp.addrow(new Object[]{ new Boolean(false), az, rsz, tip, sz, kor, ar); rs.close(); catch(exception e) {JOptionPane.showMessageDialog(null, "Nem sikerült betölteni az adatokat!"+e.getmessage(), bm, 2); public static void AutoTorol(String az){ //--------------------------Autók törlése String sqlp="delete from auto where azon = '"+az+"'"; try { s = conn.createstatement(); s.executeupdate(sqlp); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült törölni az adatokat!"+e.getmessage(), bm, 2); public static void AutoUpdate(String adat){ //------------------Autó módosítás String sqlp="update auto set "+adat; try { s = conn.createstatement(); s.executeupdate(sqlp); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült módisítani az adatokat!"+e.getmessage(), bm, 2);

Adatkezelés JDBC-vel 7 public void AutoCreate(){ //---------------------------------Autó tábla létrehozása String sqlp="create table auto(azon char(4) NOT NULL,rendszam char(7),tipus char(20),szin char(14),kor number(2),ar number(8),constraint auto_pk PRIMARY KEY (azon))"; System.out.println("Kiadott SQL parancs: "+sqlp); try { s = conn.createstatement(); s.executeupdate(sqlp); JOptionPane.showMessageDialog(null,"Autó tábla létrehozva!",bm,2); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült törölni az adatokat!"+e.getmessage(), bm, 2); public void AutoInsert(){ //---------------------------------Autó adatfeltöltés String sqlp1="insert into auto values ('A001','WRF-834','Hyundai i30','fehér',1,2300000)"; String sqlp2="insert into auto values ('A002','KGB-007','Mercedes ML520','fekete',3,7500000)"; String sqlp3="insert into auto values ('A003','ART-985','Opel Astra','piros',8,900000)"; String sqlp4="insert into auto values ('A004','BZM-922','Lada Samara','szürke',18,150000)"; String sqlp5="insert into auto values ('A005','DER-300','Opel Corsa','piros',7,600000)"; try { s = conn.createstatement(); s.executeupdate(sqlp1); s.executeupdate(sqlp2); s.executeupdate(sqlp3); s.executeupdate(sqlp4); s.executeupdate(sqlp5); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült módisítani az adatokat!"+e.getmessage(), bm, 2); public void MetaAdatok(String TableName){ //------------------- Tábla metaadatok Object mn[] = {"Mezőnév", "Típus", "Méret", "Null adat"; dtmpm = new AutmM( mn, 0 ); if (dtmpm.getrowcount()>0) for (int i=0; i < dtmpm.getrowcount(); i++) {dtmpm.removerow(i);i--; try { DatabaseMetaData meta = conn.getmetadata(); ResultSet res = meta.getcolumns(null, null, TableName, null); while (res.next()) { dtmpm.addrow(new Object[]{res.getString("COLUMN_NAME"), res.getstring("type_name"), res.getint("column_size"), res.getstring("nullable")); ResultSet rs2 = meta.getprimarykeys(null, null, TableName); boolean PKYes = false; while(rs2.next()){ String PKName = rs2.getstring(4); dtmpm.addrow(new Object[]{PKName, "Primary KEY", "", ""); PKYes=true;

Adatkezelés JDBC-vel 8 if (!PKYes) dtmpm.addrow(new Object[]{"Nincs a táblában", "Primary KEY", "", ""); rs2 = meta.getexportedkeys(null, null, TableName); boolean FKYes = false; while(rs2.next()){ String FKName = rs2.getstring(4); dtmpm.addrow(new Object[]{FKName, "Foreign KEY", "", ""); FKYes=true; if (!FKYes) dtmpm.addrow(new Object[]{"Nincs a táblában", "Foreign KEY", "", ""); catch(exception e) { JOptionPane.showMessageDialog(null, "MetaAdatok HIBA: "+e.getmessage(), bm, 2); Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuMeta am = new AuMeta(null, dtmpm, bsx, bsy); am.setvisible(true); public static void main(string[ ] args) { abkezel gk = new abkezel(); gk.setdefaultcloseoperation(jframe.dispose_on_close); gk.setvisible(true); Az Extrák panel:

Adatkezelés JDBC-vel 9 Autók adatainak beolvasása beszúráshoz: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class AuBe extends JDialog implements ActionListener{ private JTextField ek1, ek2, ek3, ek4, ek5, ek6; private JPanel dp; private JButton bo; private String bm="bitman mondja:"; private int kilep=0; public AuBe (JDialog f, int bsx, int bsy) { super(f,"autó beszúrás",true); setbounds(bsx+25,bsy+30,350,280); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add( dp); JLabel l1 = new JLabel("Azonosító:"); dp.add(l1); l1.setbounds(20,20,60,20); ek1 = new JTextField("",10); dp.add(ek1); ek1.setbounds(120,20,80,20); JLabel l1a = new JLabel("Max.: 4 karakter!"); dp.add(l1a); l1a.setbounds(210,20,120,20); JLabel l2 = new JLabel("Rendszám:"); dp.add(l2); l2.setbounds(20,50,100,20); ek2 = new JTextField("",10); dp.add(ek2); ek2.setbounds(120,50,80,20); JLabel l2a = new JLabel("ABC-123 alakban!"); dp.add(l2a);

Adatkezelés JDBC-vel 10 l2a.setbounds(210,50,120,20); JLabel l3 = new JLabel("Típus:"); dp.add(l3); l3.setbounds(20,80,100,20); ek3 = new JTextField("",10); dp.add(ek3); ek3.setbounds(120,80,200,20); JLabel l4 = new JLabel("Szín:"); dp.add(l4); l4.setbounds(20,110,100,20); ek4 = new JTextField("",10); dp.add(ek4); ek4.setbounds(120,110,100,20); JLabel l5 = new JLabel("Kor:"); dp.add(l5); l5.setbounds(20,140,100,20); ek5 = new JTextField("",10); dp.add(ek5); ek5.setbounds(120,140,30,20); ek5.sethorizontalalignment(jtextfield.right); JLabel l6 = new JLabel("Ár:"); dp.add(l6); l6.setbounds(20,170,100,20); ek6 = new JTextField("",10); dp.add(ek6); ek6.setbounds(120,170,80,20); ek6.sethorizontalalignment(jtextfield.right); bo = new JButton(); bo.settext(" OK"); dp.add(bo); bo.setbounds(145,210,60,30); bo.addactionlistener( this ); if (ek1.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó AZONOSÍTÓ!",bm,2); else if (ek2.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó RENDSZÁM!",bm,2); else if (ek3.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó TÍPUS!",bm,2); else if (ek4.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó SZÍN!",bm,2); else if (!joszam(ek5.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt KOR!",bm,2); else if (!joszam(ek6.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt ÁR!",bm,2);

Adatkezelés JDBC-vel 11 else { kilep=2; this.dispose(); setvisible(false); public boolean joszam(string i){ //----------------------------Jószám? try {Integer.parseInt(i); return true; catch(numberformatexception nfe) {return false; public String getazon(){return ek1.gettext(); public String getrsz(){return ek2.gettext(); public String gettip(){return ek3.gettext(); public String getszin(){return ek4.gettext(); public int getkor(){return Integer.parseInt(ek5.getText()); public int getar(){return Integer.parseInt(ek6.getText()); public int kilep(){return kilep; ====================================================================== Autó táblamodell kijelöléshez: import javax.swing.table.defaulttablemodel; public class Autmj extends DefaultTableModel { public Autmj (Object Mezonevek[], int rows){ super(mezonevek, rows); @Override public boolean iscelleditable(int row, int col) { if (col == 0) {return true; return false; @Override public Class<?> getcolumnclass(int index){ if(index==0){return(boolean.class); if(index > 4){return(Integer.class); return(string.class); Adatok módosítása: //Módosíthatóság megadása //Oszlopok típusának megadása //Logikai //Egész //Szöveg

Adatkezelés JDBC-vel 12 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuMod extends JDialog implements ActionListener{ private JPanel dp; private JButton bo,bs; private Autmj dtmp1; private int kilep=0; private JTextField ek1, ek2, ek3, ek4, ek5; static String bm="bitman mondja:"; static int jel=0; public AuMod(JFrame f, Autmj dtmp, int bsx, int bsy) { super(f,"autó tábla - adatkiírás",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,460,245); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add(dp); JLabel l1 = new JLabel("Jelölje ki a módosítandó autót, és töltse ki a módosítandó mezőket!"); dp.add(l1); l1.setbounds(10,5,450,20); JTable table = new JTable( dtmp1 ); TableColumn column = null; for (int i = 0; i < 7; i++) { column = table.getcolumnmodel().getcolumn(i); if (i == 0) {column.setpreferredwidth(40); else if (i == 1) {column.setpreferredwidth(50); else if (i == 2) {column.setpreferredwidth(90); else if (i == 3) {column.setpreferredwidth(170); else if (i == 4) {column.setpreferredwidth(70); else if (i == 5) {column.setpreferredwidth(40); else {column.setpreferredwidth(100);

Adatkezelés JDBC-vel 13 JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,30,430,125); JLabel l2 = new JLabel("Új adatok:"); dp.add(l2); l2.setbounds(10,160,70,20); ek1 = new JTextField("",10); dp.add(ek1); ek1.setbounds(82,160,63,20); ek2 = new JTextField("",10); dp.add(ek2); ek2.setbounds(147,160,118,20); ek3 = new JTextField("",10); dp.add(ek3); ek3.setbounds(267,160,51,20); ek4 = new JTextField("",10); dp.add(ek4); ek4.setbounds(320,160,33,20); ek4.sethorizontalalignment(jtextfield.right); ek5 = new JTextField("",10); dp.add(ek5); ek5.setbounds(355,160,70,20); ek5.sethorizontalalignment(jtextfield.right); bo = new JButton(); bo.settext("módosít"); dp.add(bo); bo.setbounds(140,190,80,20); bo.addactionlistener( this ); bs = new JButton(); bs.settext("mégse"); dp.add(bs); bs.setbounds(230,190,80,20); bs.addactionlistener( this ); if (e.getsource() == this.bo) { int db=0, x=0; for(x = 0; x < dtmp1.getrowcount(); x++) if ((Boolean)dtmp1.getValueAt(x,0)) {db++; jel=x;

Adatkezelés JDBC-vel 14 bm, 2); bm, 2); if (db==0) JOptionPane.showMessageDialog(null, "Egy adatsort ki kell jelölni!", if (db>1) JOptionPane.showMessageDialog(null, "Csak egy adatsort jelöljön ki!", if (db==1) { if (ek4.gettext().length() > 0 &&!joszam(ek4.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt KOR!",bm,2); else if (ek5.gettext().length() > 0 &&!joszam(ek5.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt ÁR!",bm,2); else {kilep=2; this.dispose(); setvisible(false); if (e.getsource() == this.bs) {kilep=3; this.dispose(); setvisible(false); public boolean joszam(string i){ //----------------------------Jószám? try {Integer.parseInt(i); return true; catch(numberformatexception nfe) {return false; public int kilep(){return kilep; public int getjel(){return jel; public String getrsz(){return ek1.gettext(); public String gettip(){return ek2.gettext(); public String getszin(){return ek3.gettext(); public String getkor(){return ek4.gettext(); public String getar(){return ek5.gettext(); ====================================================================== Autók törlése: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuTorol extends JDialog implements ActionListener{

Adatkezelés JDBC-vel 15 private JPanel dp; private JButton bo,bs; private Autmj dtmp1; private int kilep=0; public AuTorol(JFrame f, Autmj dtmp, int bsx, int bsy) { super(f,"autó tábla - adatkiírás",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,460,245); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add(dp); JLabel l1 = new JLabel("Jelölje ki a törlendő autókat!"); dp.add(l1); l1.setbounds(10,5,260,20); JTable table = new JTable( dtmp1 ); TableColumn column = null; for (int i = 0; i < 7; i++) { column = table.getcolumnmodel().getcolumn(i); if (i == 0) {column.setpreferredwidth(40); else if (i == 1) {column.setpreferredwidth(50); else if (i == 2) {column.setpreferredwidth(90); else if (i == 3) {column.setpreferredwidth(170); else if (i == 4) {column.setpreferredwidth(70); else if (i == 5) {column.setpreferredwidth(40); else {column.setpreferredwidth(100); JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,30,430,150); bo = new JButton(); bo.settext("töröl"); dp.add(bo); bo.setbounds(140,190,80,20); bo.addactionlistener( this ); bs = new JButton(); bs.settext("mégse"); dp.add(bs); bs.setbounds(230,190,80,20); bs.addactionlistener( this ); if (e.getsource() == this.bo) {kilep=2; this.dispose(); setvisible(false); if (e.getsource() == this.bs) {kilep=3; this.dispose(); setvisible(false);

Adatkezelés JDBC-vel 16 public int kilep(){return kilep; public boolean getjel(int x){return (Boolean)dtmp1.getValueAt(x,0); ====================================================================== Autó táblamodell adatok kiírásához: import javax.swing.table.defaulttablemodel; public class Autm extends DefaultTableModel { public Autm (Object Mezonevek[], int rows){ super(mezonevek, rows); @Override public boolean iscelleditable(int row, int col) { return false; @Override public Class<?> getcolumnclass(int index){ if(index > 3){return(Integer.class); return(string.class); ====================================================================== Adatok kiírása: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuKiir extends JDialog implements ActionListener{ private JPanel dp; private JButton bo,bs; private Autm dtmp1; private int kilep=0;

Adatkezelés JDBC-vel 17 public AuKiir(JFrame f, Autm dtmp, int bsx, int bsy) { super(f,"autó tábla - adatkiírás",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,460,245); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add( dp); JTable table = new JTable( dtmp1 ); TableColumn column = null; for (int i = 0; i < 6; i++) { column = table.getcolumnmodel().getcolumn(i); if (i == 0) {column.setpreferredwidth(50); else if (i == 1) {column.setpreferredwidth(90); else if (i == 2) {column.setpreferredwidth(200); else if (i == 3) {column.setpreferredwidth(70); else if (i == 4) {column.setpreferredwidth(40); else {column.setpreferredwidth(100); table.setautocreaterowsorter(true); TableRowSorter<Autm> sorter = (TableRowSorter<Autm>)table.getRowSorter(); JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,10,430,170); bo = new JButton(); bo.settext(" OK"); dp.add(bo); bo.setbounds(200,190,60,20); bo.addactionlistener( this ); if (e.getsource() == this.bo) {kilep=2; this.dispose(); setvisible(false); public int kilep(){return kilep;

Adatkezelés JDBC-vel 18 Tábla metaadatok: Táblamodell a metaadatok kiírásához: import javax.swing.table.defaulttablemodel; public class AutmM extends DefaultTableModel { public AutmM (Object Mezonevek[], int rows){ super(mezonevek, rows); @Override public boolean iscelleditable(int row, int col) { return false; @Override public Class<?> getcolumnclass(int index){ if(index > 1){return(Integer.class); return(string.class); //======================================================= import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuMeta extends JDialog implements ActionListener{ private JPanel dp; private JButton bo,bs; private AutmM dtmp1; private int kilep=0; public AuMeta(JFrame f, AutmM dtmp, int bsx, int bsy) { super(f,"autó tábla - Metaadatok",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,465,260); dp = new JPanel(); dp.setlayout(null);

Adatkezelés JDBC-vel 19 this.getcontentpane().add( dp); JTable table = new JTable( dtmp1 ); JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,10,430,170); bo = new JButton(); bo.settext(" OK"); dp.add(bo); bo.setbounds(195,190,65,20); bo.addactionlistener( this ); if (e.getsource() == this.bo) {kilep=2; this.dispose(); setvisible(false); public int kilep(){return kilep;