From 7ce4820475d6c3c34e43ded09ebdff5d9ff5f0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20K=C3=B6ster?= Date: Wed, 8 Mar 2023 09:07:35 +0100 Subject: [PATCH] start --- .../IDB-Hue-Projekt/Hinzufügen.class | Bin 5792 -> 5911 bytes out/production/IDB-Hue-Projekt/Tabellen.class | Bin 8876 -> 8899 bytes src/Datail.java | 51 ++++++++++++++++++ src/Einzelansicht.java | 36 ++++++++++--- src/Hinzufügen.java | 46 ++++++++-------- src/Tabellen.java | 2 +- 6 files changed, 103 insertions(+), 32 deletions(-) create mode 100644 src/Datail.java diff --git a/out/production/IDB-Hue-Projekt/Hinzufügen.class b/out/production/IDB-Hue-Projekt/Hinzufügen.class index cf514d0cf88a9e69b026252b363be9594a742a23..7f642d820cfb60c15363dd39d7e4f84b4a88e9c1 100644 GIT binary patch delta 2763 zcmZ{m4R}*m8OQ%`l6%k1&25{eq$T~JrL?6DEg1zmT1tUJ8Dn*O1XtGXs~HWDQId{? zfjZ1|C^DUH9CZ#wIyR^dWkP96TVQIpxi6hlH>Ue=&P^SDY`Uov5PZ)qbi?QI$&+*6 zd){;2^S~uHzh-hqv7uO8iL*! zjYX49gb9_c@?t)ITX_KEKEc|E~TR71q8TZpvb}`1PCJ06Yfq% zVydsi!erH_C1M;xUf(m*+T7jEF?O_XA)N~}^2(j+}-VH&FCOH`y!w-CZ5 z@+{@*wH9V#mdtllr|Jj=D%R#uVpBA>CbTjd>xyq$6ptm6;aDLla zyy6I^RKm9toRw8=CX#3|a0kKN5{<1MJ-Q|m^MUYL3pe0%@;dEC`n)`<<LQbNhC)fOh!3%frn+iC^Qb>poK%|m)DE7nY|d`XlV37;30t{=eH-+9p)2g z*}N*!qqfh-M?b8Bj}Vs0XGOWZ%JA)Q3wc^tc?OR0_HKyBlO`U)4+MT_;YS#iyNpkI z9>e1TKeq4$o|IGEi#$)`8G)Zz_$i*1x42j2JZItOYP&^OG||HcCh$vn+Fd$XTdfdf zYHesQ5HWVla|unAJ3JHQOw-4CXx{&EcgPm=M7b8<6pL(N7T3qS!rcVwU{qHm!>iVP zB;50{@J-#k*6aN>9)n!}A>_*go_x8&YRPn(F;D|Nj}OEG=aB>{PM+&N9A*wRdRP`ZN_AlAeCIXvAf%#Df0cykgI}F zE=9H+n54R7A}h!93*KwsdAtC~?O6pWmLpQH3$mQ0EB8XRFfU_O&CCK(3d}eLc1*vj-a&NSLXCugQyrl zRWO_0%XVCoMoo~?m{Fsp9k^6p>YYMW@>*|ws!sEE)#<^*$QS~P>KKv@V*IVn(CXZN zx8HaGw|P72%n{t$uAF}N5H>q7h}#-G0gqqv>weSQn8ucX@Vi}IBS^Ln;!`We-fETK zyQGtcEJ@?j!SlUobgc{qQXci>5oTwd=GU_6?)zbR%{sQK>-4Q|>N|G_mo%^4_nAQ~ zR23gawzoE$Uh{T&YtvY)-uYXV#!_V-LR%UtN48qiSZ=%hMnF^#V=ItGXHa#iMf;G| zpruBzy*;1};tP))4ai|3x%m)GWW$48whEEKH(@3!k;PY7 zE}D^t%lNi!MLyb5fVDg#fg)_-Bi@E$R#_?Qy&Qe0z5`kX%=QuBWBS8%%&Cu=?cuDYfw*X(Lf2zr7e7SZo@pf4{K-- z)^Yk#>ch=+5Z(ASr@xhxeF1U2gqOL5lem_Pc!j@D<957?)XQAkeqQ)D?AAE5ckvoq zI_LK$ev8++_9r;Z@3_z4uqNK%eoX<1-{TJ)URi&{TfBG5I>{(IZ0k?FsMEIojK46{ zf90Wbp`GJ(O#wq7DzH}|HHU}<-X@-Z8XrHUMzllw(1xW%qHcg%SqMfSXbzk$3CCGW8ij$SUqjTC6UOOaQw2hVfs>gvTTg-Btw zUt_+$G>jd9QWy6X^EbnPPVXI-RHa^)wFq^_|GER~%-ZRc?LI`!G@QtlK#23g@jFYiAlyQi-Rr zd(0|itLA(ug~J$10Sy|v0vbE0L0ts7zN5bUBRJlm2lOF4N@x%P5zvP4lmiV$FpZz7 zm4v;L7!!_zcXAX@VvtMZKEVP2n%KL5#j}tl(9EC3XhREnSTb9XT8cYyIrd>0 z4&Vy(vxY`-B_7904tF)f(#98O6T{oi+;!k>#`heqV<4_46E{*GI;jLM6Wd>aG;lSh}+ IRH{PYzp7ng@c;k- delta 2580 zcmZuz4Rn*$8Gha*-*>+xUz?vcEh(hXKikIs&=x{TOGUBez$WfcCzfrlp$#k;(vAk~ z!Ob|uIduNuWwJ4mqHdkaHV~WA7I71|fjV{54L2ujbLu8T=O(%#lfCyVuzAi-a^Cyi z`~JW8d2h0{Zm72K>5s+_0Jw-QaKQ${Xi=4rZJ%5HL}I zLV}i#tw_cR`JY@JTOS*&AGkJ=T2;UJ3U%6|6oV#;FqJ@QLdD0FEX(>!<11t9l4;A} zvcBGUvc*7%P_?>uMNf21Y;7XeyCPa&-_SUxZYF;kqD`BR`90H3%s>ezv~F#Z;Fp_? z{H0|CsE8FNE>JQt&>u^t<0*AkWujW0X#=U)nz+D)gdCM{eeBwFeMes^ZJ?H=7jw9z z3t`l&;%Ca0RIE3eXu>RcD}_oUCgz}7d5)($6C1c}t!mMt>MLCwA!?!pt@1F{>|JjA zz&73PLK^J`zCv)eCsHd9?q3y8`9ZkJ#MRg+uhTwHUzM+DMf5fKzBb*s1-Gi0x5PkjqBV8@sz+%O#Bo-lk=Sm z+=ubBz%wSE#n0s(&d%ubCSHKfP3TPw^!E+KUHBzl6nM$Rudsk%FpT2KWIV-9kDqJ0 zz!5@7zT*za=QYDlsFo2|rCjSe;>+nw$9k^0EY@$qPvEt^DYrq64+%xAUnIAf?YZP4 z8`%XpOwvf-`=;rjy0<+VIr-MfW#Tl{&Q!Y`6Mw_I9-TZc@{&)GpKGT)8O(i(0@C4` zC11_0mJ2<#j#3^5xhJPk-s$mDxg7E|*?$eEJnEU6;j!X5gqj*_Wt>|pW7=97$JWZA zIe00}NxV^46AJs%08wCxY*~Dec>+;_qZ}5dw zw!TnC4{9~zxDm*rJIty0l%rwfESbP9UA3dw^u!)+-45DLL%5l7{#$P8lbFf0kXvi; zd*VbcOyn`00uMs)p^SIc$VWW_xQI^|A&4a``3#D&8q={3Gmzm++Jw>!?m-21pb8JM z$u53acH=@EKn)I~7B8X>N7&7A4)_5YNJAq9(L@!PMKzdB4Tw-P=1>d2IrI5_>Oc#1 zqLq3uk5Xu(L4K`o#C+O<1Z~F}F5w#5i6lLY6kg#H`jK&SfCPSrSGkts_%z%&$`w6} z4LHVUf>U}Izh{mo94GJx<{X^fG5is)F{}>bCH#rcbav~+>v)6p7+iQ0e`fcJ`wQOU z{weM_S8T&y`M3$%84h6x7#V?tz`aBQCy4bv#K0*f?NUE5te}Ko;muC=ay8zbgfV8b z7n=&O$70l_=qd~bthx#&h3C>>$?JFr&e1!BSqf0) zXB~~>hk%+VKC3+ME~8*Sjz^WKa+t^JV-|b=kHw_HV`mLKQC$Hws4Jvy)EMK5_Z#Z+>BKGrkVfs0vd0sjZMl;@$H=b!@%`ExlIv(*wT zXD)?LWpEpBcc7CUb+M~u46dtih>f4)ad{b^WuScyf9I<|iEgqXMsBR20`yQ3dZ`$z zIBcBCu##%=1?%oNB8P+Ju?@qLy}9rYyvLj!&sdPw*h3zBdmn=RWDG|9Tl_MYS&DBk z;u#U=fWw?Zx596og?Ppsa|+1{=XDmW92}~Z$Fqb1brN&&PyCC+DV)!S>on|i8lRw3 zur=3SA~52%;Jp-r;mx?toM3Mt0$u@02~ z58}0RiE}Cz;yKNKvz`qf;S8@)j>$g)B#2{M++0C!W^+N5Z_xsaPO)f_MWR diff --git a/src/Datail.java b/src/Datail.java new file mode 100644 index 0000000..41210a0 --- /dev/null +++ b/src/Datail.java @@ -0,0 +1,51 @@ +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import java.sql.*; + +public class Datail { + public static ResultSet spieler(int verein, Connection con) { + try { + Statement s = con.createStatement(); + ResultSet r = s.executeQuery("SELECT * FROM Spieler WHERE Vereins_ID = " + verein); + return r; + } catch (SQLException e) { + throw new RuntimeException(e); + } + + } + + public static DefaultTableModel detailmodel(int verein, String url) { + String[][] temp = {{""}}; + DefaultTableModel t = new DefaultTableModel(); + System.out.println(verein); + + + try (Connection conn = DriverManager.getConnection(url, "root", "")) { + ResultSet r = spieler(verein, conn); + ResultSetMetaData rm = r.getMetaData(); + rm.getColumnCount(); + String column[] = new String[rm.getColumnCount()]; + + + for (int i = 1; i <= rm.getColumnCount(); i++) { + column[i - 1] = rm.getColumnName(i); + t.addColumn(column[i - 1]); + } + t.setDataVector(temp, column); + t.removeRow(0); + Object rows[] = new Object[rm.getColumnCount()]; + while (r.next()) { + for (int i = 1; i <= rm.getColumnCount(); i++) { + rows[i - 1] = r.getString(i); + } + t.addRow(rows); + t.fireTableDataChanged(); + + } + + } catch (SQLException e) { + throw new RuntimeException(e); + } + return t; + } +} diff --git a/src/Einzelansicht.java b/src/Einzelansicht.java index 85b9fde..b23f017 100644 --- a/src/Einzelansicht.java +++ b/src/Einzelansicht.java @@ -2,7 +2,6 @@ import javax.swing.*; import javax.swing.event.*; import javax.swing.table.DefaultTableModel; import java.awt.*; -import java.awt.Menu; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; @@ -35,9 +34,14 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL JMenu adm = null; JMenuItem i1, i2, i3, i4, i5, i6, i7; + JTable detail; + JScrollPane dsc; + int vid=1; + + public Einzelansicht(String ta) { - this.setSize(500, 400); + this.setSize(600, 800); this.setResizable(false); this.setLayout(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); @@ -101,6 +105,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL sql = "Select * From " + tab; r.first(); einfügen(r); + detailtab(vid); } catch (SQLException e) { throw new RuntimeException(e); @@ -140,7 +145,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL this.add(a); einf = new JButton("Einfügen"); - einf.setBounds(150, 280, 100, 50); + einf.setBounds(470, 50, 100, 50); einf.setForeground(Color.BLACK); einf.setBackground(Color.white); einf.setFont(font); @@ -150,7 +155,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL del = new JButton("Löschen"); - del.setBounds(300, 280, 100, 50); + del.setBounds(470, 120, 100, 50); del.setForeground(Color.BLACK); del.setBackground(Color.white); del.setFont(font); @@ -169,6 +174,10 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL t.addTableModelListener(this); + + + + } public static void einfügen(ResultSet r) { @@ -233,6 +242,8 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL r = s.executeQuery(sql); r.first(); einfügen(r); + vid=r.getInt("V_ID"); + detailtab(vid); sq = ""; sql = ""; @@ -290,6 +301,8 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL try { if (r.next()) { einfügen(r); + vid=r.getInt("V_ID"); + detailtab(vid); } } catch (SQLException ex) { throw new RuntimeException(ex); @@ -299,16 +312,17 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL try { if (r.previous()) { einfügen(r); + vid=r.getInt("V_ID"); + detailtab(vid); } } catch (SQLException ex) { throw new RuntimeException(ex); } break; case "einf": - Hinzufügen d = new Hinzufügen(r, tab); + Hinzufügen d = new Hinzufügen(r, tab,this,true); d.setVisible(true); - this.setFocusable(false); - this.setFocusableWindowState(false); + break; case "änd": break; @@ -343,4 +357,12 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL } } + public void detailtab(int vid){ + + detail = new JTable(Datail.detailmodel(vid,url)); + dsc = new JScrollPane(detail); + dsc.setBounds(20, 250, 550, 400); + dsc.getHorizontalScrollBar(); + this.add(dsc); + } } diff --git a/src/Hinzufügen.java b/src/Hinzufügen.java index ab17097..26cc6ce 100644 --- a/src/Hinzufügen.java +++ b/src/Hinzufügen.java @@ -4,27 +4,24 @@ import java.awt.*; import java.awt.event.*; import java.sql.*; -public class Hinzufügen extends JFrame implements ActionListener { +public class Hinzufügen extends Dialog implements ActionListener { + JFrame frame; JButton a = null; ResultSetMetaData rm = null; - - JButton einf = null; - - JTable table = null; - DefaultTableModel t = null; - String url = "jdbc:mariadb://127.0.0.1:3306/bundesliga"; - String spalten = ""; String sname = ""; - Font font = new Font("Arial",Font.PLAIN,12); + Font font = new Font("Arial", Font.PLAIN, 12); + + + public Hinzufügen(ResultSet r, String tab, JFrame owner,boolean modal) { + super(owner,modal); + - public Hinzufügen(ResultSet r, String tab) { this.setSize(500, 600); this.setLayout(null); - - + owner.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); a = new JButton("Zurück"); a.setBounds(50, 30, 80, 50); @@ -64,17 +61,6 @@ public class Hinzufügen extends JFrame implements ActionListener { einf.addActionListener(e -> { for (int i = 1; i < z; i++) { try { - System.out.println(b[i].getText()); - if (b[i].getText().length() == 0) { - int response = JOptionPane.showConfirmDialog(null, "Soll der Wert für " + rm.getColumnName(i + 1) + " 'NULL' übernommen werden?", "Bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); - System.out.println(response); - if (response == 0) { - //null - } else { - break; - } - } - if (i == z - 1) { spalten = spalten + "'" + b[i].getText() + "'"; sname = sname + rm.getColumnName(i + 1); @@ -82,6 +68,18 @@ public class Hinzufügen extends JFrame implements ActionListener { spalten = spalten + "'" + b[i].getText() + "',"; sname = sname + rm.getColumnName(i + 1) + ","; } + System.out.println(b[i].getText()); + if (b[i].getText().length() == 0) { + int response = JOptionPane.showConfirmDialog(null, "Soll der Wert für " + rm.getColumnName(i + 1) + " 'NULL' übernommen werden?", "Bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); + System.out.println(response); + if (response == 0) { + spalten= spalten+" Null"; + } else { + break; + } + } + + } catch (Exception ex) { @@ -91,13 +89,13 @@ public class Hinzufügen extends JFrame implements ActionListener { System.out.println(sname); System.out.println(spalten); String sql = "Insert into " + tab + "(" + sname + ") Values (" + spalten + ")"; + System.out.println(sql); Connection conn = null; try { conn = DriverManager.getConnection(url, "root", ""); Statement s = conn.createStatement(); ResultSet a = s.executeQuery(sql); this.dispose(); - Tabellen.einfügen(tab); } catch (SQLException ex) { throw new RuntimeException(ex); } diff --git a/src/Tabellen.java b/src/Tabellen.java index 2ee11ef..9484fd1 100644 --- a/src/Tabellen.java +++ b/src/Tabellen.java @@ -57,7 +57,7 @@ public class Tabellen extends JFrame implements TableModelListener { einf.setBackground(Color.white); einf.setFont(font); einf.addActionListener(e -> { - Hinzufügen d = new Hinzufügen(r, tab); + Hinzufügen d = new Hinzufügen(r, tab,this,true); d.setVisible(true); this.setFocusable(false);