From 2b3d32d42f6b2a6bf219cb8db30b62d608a2350b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B2=E5=8D=9A=E6=96=87?= <744850706@qq.com> Date: Sat, 15 Jun 2024 21:57:29 +0800 Subject: [PATCH] test --- studentguanli/.classpath | 15 ++ studentguanli/.project | 17 ++ .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 14 ++ .../bin/com/system/dao/AttendancesbwDao.class | Bin 0 -> 721 bytes .../com/system/impl/Attendancesbwimpl.class | Bin 0 -> 6159 bytes .../com/system/javaBean/Attendancesbw.class | Bin 0 -> 2550 bytes studentguanli/bin/com/system/utils/DB.class | Bin 0 -> 2068 bytes .../com/system/view/AttendancesbwAdd$1.class | Bin 0 -> 777 bytes .../com/system/view/AttendancesbwAdd$2.class | Bin 0 -> 601 bytes .../com/system/view/AttendancesbwAdd.class | Bin 0 -> 5655 bytes .../system/view/AttendancesbwDelete$1.class | Bin 0 -> 1736 bytes .../com/system/view/AttendancesbwDelete.class | Bin 0 -> 1918 bytes .../view/AttendancesbwOperation$1.class | Bin 0 -> 1225 bytes .../view/AttendancesbwOperation$2.class | Bin 0 -> 1228 bytes .../view/AttendancesbwOperation$3.class | Bin 0 -> 1232 bytes .../view/AttendancesbwOperation$4.class | Bin 0 -> 1232 bytes .../system/view/AttendancesbwOperation.class | Bin 0 -> 1917 bytes .../system/view/AttendancesbwSelect$1.class | Bin 0 -> 2802 bytes .../system/view/AttendancesbwSelect$2.class | Bin 0 -> 821 bytes .../com/system/view/AttendancesbwSelect.class | Bin 0 -> 3444 bytes .../system/view/AttendancesbwUpdate$1.class | Bin 0 -> 2448 bytes .../com/system/view/AttendancesbwUpdate.class | Bin 0 -> 3176 bytes studentguanli/bin/com/system/view/Bg$1.class | Bin 0 -> 827 bytes studentguanli/bin/com/system/view/Bg$2.class | Bin 0 -> 696 bytes studentguanli/bin/com/system/view/Bg.class | Bin 0 -> 1530 bytes studentguanli/bin/module-info.class | Bin 0 -> 196 bytes .../src/com/system/dao/AttendancesbwDao.java | 15 ++ .../com/system/impl/Attendancesbwimpl.java | 153 +++++++++++++++ .../com/system/javaBean/Attendancesbw.java | 83 +++++++++ studentguanli/src/com/system/utils/DB.java | 100 ++++++++++ .../src/com/system/view/AttendancesbwAdd.java | 167 +++++++++++++++++ .../com/system/view/AttendancesbwDelete.java | 78 ++++++++ .../system/view/AttendancesbwOperation.java | 91 +++++++++ .../com/system/view/AttendancesbwSelect.java | 138 ++++++++++++++ .../com/system/view/AttendancesbwUpdate.java | 176 ++++++++++++++++++ studentguanli/src/com/system/view/Bg.java | 58 ++++++ studentguanli/src/module-info.java | 4 + 38 files changed, 1111 insertions(+) create mode 100644 studentguanli/.classpath create mode 100644 studentguanli/.project create mode 100644 studentguanli/.settings/org.eclipse.core.resources.prefs create mode 100644 studentguanli/.settings/org.eclipse.jdt.core.prefs create mode 100644 studentguanli/bin/com/system/dao/AttendancesbwDao.class create mode 100644 studentguanli/bin/com/system/impl/Attendancesbwimpl.class create mode 100644 studentguanli/bin/com/system/javaBean/Attendancesbw.class create mode 100644 studentguanli/bin/com/system/utils/DB.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwAdd$1.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwAdd$2.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwAdd.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwDelete$1.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwDelete.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwOperation$1.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwOperation$2.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwOperation$3.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwOperation$4.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwOperation.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwSelect$1.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwSelect$2.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwSelect.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwUpdate$1.class create mode 100644 studentguanli/bin/com/system/view/AttendancesbwUpdate.class create mode 100644 studentguanli/bin/com/system/view/Bg$1.class create mode 100644 studentguanli/bin/com/system/view/Bg$2.class create mode 100644 studentguanli/bin/com/system/view/Bg.class create mode 100644 studentguanli/bin/module-info.class create mode 100644 studentguanli/src/com/system/dao/AttendancesbwDao.java create mode 100644 studentguanli/src/com/system/impl/Attendancesbwimpl.java create mode 100644 studentguanli/src/com/system/javaBean/Attendancesbw.java create mode 100644 studentguanli/src/com/system/utils/DB.java create mode 100644 studentguanli/src/com/system/view/AttendancesbwAdd.java create mode 100644 studentguanli/src/com/system/view/AttendancesbwDelete.java create mode 100644 studentguanli/src/com/system/view/AttendancesbwOperation.java create mode 100644 studentguanli/src/com/system/view/AttendancesbwSelect.java create mode 100644 studentguanli/src/com/system/view/AttendancesbwUpdate.java create mode 100644 studentguanli/src/com/system/view/Bg.java create mode 100644 studentguanli/src/module-info.java diff --git a/studentguanli/.classpath b/studentguanli/.classpath new file mode 100644 index 0000000..d1153ed --- /dev/null +++ b/studentguanli/.classpath @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/studentguanli/.project b/studentguanli/.project new file mode 100644 index 0000000..a5d6b41 --- /dev/null +++ b/studentguanli/.project @@ -0,0 +1,17 @@ + + + studentguanli + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/studentguanli/.settings/org.eclipse.core.resources.prefs b/studentguanli/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/studentguanli/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/studentguanli/.settings/org.eclipse.jdt.core.prefs b/studentguanli/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/studentguanli/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/studentguanli/bin/com/system/dao/AttendancesbwDao.class b/studentguanli/bin/com/system/dao/AttendancesbwDao.class new file mode 100644 index 0000000000000000000000000000000000000000..5f5fa5a6a41479ba138040ba02c23938fd47ca41 GIT binary patch literal 721 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 Q_XKO4l_@>N2EIn+AB@}2hX4Qo literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/utils/DB.class b/studentguanli/bin/com/system/utils/DB.class new file mode 100644 index 0000000000000000000000000000000000000000..ca26d4a5526aab3b60766375a208264a484597a1 GIT binary patch literal 2068 zcmZuyZBrXn6n<_9EQF;%C;@40=?fSFWFsIbly}(04$=YAtumQcB+Q^()FyW z(eUhwYiz7(hzs-_nlDVFV%GMJth=q(?v}n4NamySqF1+T`wIeE!wrtL zBhz)2V_Vs&sZGCs!~LdWtUI+DBic@lm)h>xHQQSfXi1Ol3dGl)Ju870bnEDZ-i}^@ zt;4-idA|CRcjpbG;*`zGf#Z7f)6=ojs^@T~`CT?jM7U+(|S+7tD9k+3Z`aE~)n`YG#7)igY-&m7L-C9Us z1RrP^6-cRoQae9Y!K|74R$WILV**|KmKSL%P`D&|Q}Cc(?^*%`7fK}QkL&0_B7sR5 z8nRR`B6$D1vUMbDsUruS+>h7|UePnlUq7vzWs>dA+cj&mQ7y4JW~o9;GB0bmYu0V~ z9vI`^f$a+P=PzkV_KD!VpodgfhIx6`rP3A5qaf5k`f@4>Qt1|GEms_u;Z_2jB;g&) zZB)FXj`Zq7o4kcjV3cWqege^%?h1PNO<@q%F+{&>nBs00H@Jd!l^WBS z;oB7Ne8e+>IllEE_8$WZjqiL+#u+z_j|14NT;-?d7i9iI$L|oY@d@`o)8^y2qU5+u z>UW4_MCJ3dNe>}Ma~=ypxPQ3Dd37%HCwenyxF_uBa!)iPqJ{140fd5ZiW%rB( z{C&2CiHN_?R#}dj@gm#i+CSv!BjS2YTu;byi!8Uva);=OWVx$YW$49(iVHW~NiHJf z5(~M+6ayXch=BtCSpdGmRaUky0PjPU?YSb`^Bk%VF~$A|zM%C>ru&NNo)Kb6LGs(N WPXR#)#BWFb@2m6-xXl1D?EDWjp0gPM literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwAdd$1.class b/studentguanli/bin/com/system/view/AttendancesbwAdd$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c12c9104a2138be54846c501a7c4892431bb59de GIT binary patch literal 777 zcmah{ZEF)j5Pmj^x#YYyv1*Ol+FGxWM(`~7tty66v2a$Qn(v#tvE6#N3wPTDf0p12 z_`x60A61;a2J)qtgV~!Io|$>}nZ3CD^B2G?Y1iEK(BBM;|ljy_vj1udiDX?B;<SZO*s&&O1JlH-g7 zR$`OLY$OZi;#socXbOZ2r-r*svm>ipex%}yDRN2$Hu~|kLL4|z_I5@-dU)XBzQE=p z83H_X^p|s4e4VdCKrr{U|4k9_kIi|J&|Bs1d3RoXwZ~_UA(KDQNoGo=Pu`O~HEDn? zH?QfG|9mJA9BSU&ekRM3Sd!KemG+$}EjC%^I@=A1Zr7>JkEq7hhR@lX?7iUFW&FX@ zp9luOvHZQl+~Tvz7$Cz6pF!pOxQ#m;F;%S2I=tb(>(CnfK=2Fq=JkG+*F4u$Jyx%9 kvmRW5HLP=W1CO}Ah7INmj(T{EC+s0FPI;O#lD@ literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwAdd$2.class b/studentguanli/bin/com/system/view/AttendancesbwAdd$2.class new file mode 100644 index 0000000000000000000000000000000000000000..bf22240a7219516709dc17848dc7abacc13c94aa GIT binary patch literal 601 zcmah`+e!m55Iw1DSGTLR^?onnL-oN0AH9JTMWHIF6x645H?)y$7B;Ek=ZOA*FA55N zfFC7JTCw7bfyrDlb24Y<A!Rj1?22C?qdRz z44xLICbjG|@02fX)81LqPD8OTEurzhGg-5=iO8M`<3vlpZ1d>p=psfNLE0ak?vo8f%nvT z_UX=cg7+9A+wUe|7jFzP&GtcT%szIs3okH2vIZyX0xRGGmv WW=K0UwOK5XIbmW+pR`E`cxizI)F(_nveA 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 literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwDelete$1.class b/studentguanli/bin/com/system/view/AttendancesbwDelete$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d37bc9606ddb4f609dbd27eb8a5819e371491add GIT binary patch literal 1736 zcma)6TW=Fb6#mAywcQOiE|(BUfntLl0!s)45{E!=5-zo!P^YPyw~akG3+r9u-NfOI zs;Y$AN+4C0;E7fw@B}ncND!s`fc_7s=@ZYDskcj`kjmn3wDx;i2z#BCSeD|z76mpV<&bod~lUt zAJMp8pqwzYIycNIR#l^1TpZ_fwzHWG;v?*lu$y6<@ZoKQjJ^1nK`L@voMPA#Pt@IY z(weg?WHISSlmS8PM_j^zb&0PdWF*i*nc~-GRGs+R+K9PH8_C3^ADu+=+LM*Fm*3aE zUZ_34RlBwF>cy8q9L5m|3d8nwUXGT9a>i7H%jm*UhRxQrStN7GAyhjwoHde`EFDLhaE5qIC7nliKYE ztB>yg{?lVR&cI0CyZ%pwlsXcWqoqg_b&bfViqz&NKuT?{hj-IRwIE&A)uLmRO)|K6 z7bUoE{Y_>F+~N?DQOi!{Nf>2ldw<<91asz0CC^7RQM;|Llk;DbIxJ2T+rvg)H!YHJ zhTGF-L3Dxf_hgXzf_%ZCE|t<%%i<(tf0kSJdDF77hnk6-9xqrpEP4v{Ocy-?stc+| z`Z`8)u@dY!_!M%-3N|e|n9Vf$2m>5Pghtu<4&p;>p&7Y?ZFLJQOy_;HmhD)AyoBw` zXwP&;_AMiJ7cz?+e1=00(ftd$zgWTXth>i^sB;-TJ)VaM_IY=Bm(jP?;~-Bv$N-BB z(#IlMk3+#xlBXNOn?7u!@dSB&l6>ez8?Cg{ZVdf|93bpzislUMoTXU`L-ap~VPtUL ziD01aWg`Oe*TD!DQiK|zC}L#i9HHIxj^P3>!b29l_ylPhGjw|t-oMZ;VgEnmf>#2Q skfoV~ZqloSq_5>qLV7SpSQjqgQ+j)-Rp#&+eF@G5qvAI~j|;8;0wJW`k^lez literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwDelete.class b/studentguanli/bin/com/system/view/AttendancesbwDelete.class new file mode 100644 index 0000000000000000000000000000000000000000..c0c8bd40061b39d5a0f7a09d4a065d142570ed2b GIT binary patch literal 1918 zcma)6OK%%h6#lMbcN}M&%s5ROH#BW%(%O#GX-e8cTnb6rJe?583-f3h+f#R%@l0fo z^I(O9KuBFwNU$i~uqZ6cLtslasaQenrn;)GEBQ6u%qWw5--t0ZEo&R2x@M#uPvBLNRw)J@&K z#LyOUK#HMKoH;v3;bP%M2KR`S)_iDyUqmB(0$QlF|L63f88Sx%7#c$1#YP;&Apvbv zG6yT_nyrjjhLsa>80`$6rSXaRD-2RK>#jM*10503foB-}dCeYHQ_Gp0RWQ>GtvfY7 zL5CMPzEi|89A{|ccn-}o2%!nOxSioy5hu`1rDQaFZDB#Rqw&QA2GrTxU`<0JA-@bEi>%I3Yx9)A-|GKjIsSgVL0?rY2yR47WfxWoE zAXXmU-`f0Y`|bzZ<&S+Bzze)zgA9lFX?>MC1s6q9F3Ce6YI!6|TT?IJp)z^emqiR= zm?$OSxRul2C6j6l8G6Rd5+@|2kkbtXot%k~7o)^O<-zUB?b4q=d?sL=eCu?zD^nlF zAU9GUr$h+w@+HL>!;FYmcuF6oByAP4W?sOnB$K)@!v)*6OfTk0>{Z5mnB^>yxO?_~ zWBYuJ-Tgi+;C0Sbf*}-&KZTFO$t>O!@fO}@kVz{;DO!2s1I=~r5cNBPUq{LO}BkRC-L_@Rgnx#<#8OT)PDC2 z-W5JboZ-=IB#jwu&C%U{BgZk&B#~-x*ZLh~OVT#Uwb}t^r_D*WJFco0a`w$xgYiAx>W50l1R~tIzkaO>XIM-;5yk{l<`+&aD)14;SO|qb5pbd cs&tvEY=A*-E@WZSllOOl$DzxjznicB1BSWsga7~l literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwOperation$1.class b/studentguanli/bin/com/system/view/AttendancesbwOperation$1.class new file mode 100644 index 0000000000000000000000000000000000000000..a676baea784bab309fd512b84e7e89caafb9d7e6 GIT binary patch literal 1225 zcma)6OHUI~7(KTwoiYrx77NNl5G%H&GS;{9Fa$Mf$|J!vk=^a|S_Y>xwKKFDSH_h) z7j8&2#*MCAXatNJe}Ml(j4S_v@w;sk5e?}i_c3?w{m%EDbMAco_3;aUDO^(EV@McI zNq6tNo+#;6Q`Gbs&l7fm+lFxSwS}^%aL;t?ct$~hA+pM=T(`Jg)EDxr!tfLX83yaC zyyoemDr`@mG31e~NkMH?yhl*vWhjs?htSyxg0{Aa@cK8)7=_zuiscGOKlgqEi@#NBEH-er#2^CmlwrllUq)aA-N;{S*KKX zY?<~B2^!|1LR6$NuHZPsXlvHcpo5&Gy28tuu2~l%kXTOU6r5xj-ZRKdp`apzZrP19 zFw$^fFP<4XmppFVnd9ZAy6Td%Rx!j?Q|jOU|En@C`65EE*oNh}MB1G2R-A$~)8sA* znueD4(yrTdS7t5lx`LDn%?sDN=C~e)$&-F+ZSX}R(xgBnDlJNv*hj4c8h!1g*#&y{ z(-=;TZJ;Za-asU^h3MP*#u)WM+6WAwhkAL4wxSmYXk<8uzGj#Q6h;P4rrr}$|0V|4 zp|R+Z4>6-^AD_WNvNYRA3XQC4e6ippPIxcGNJ0C}kca{|#aU3B>E5J&nLk rP=df2oF&+EbSeN}EK2=(n)|4hi}kfMCg@iMs+RPkQ9jeud`SNWy`?yP literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwOperation$2.class b/studentguanli/bin/com/system/view/AttendancesbwOperation$2.class new file mode 100644 index 0000000000000000000000000000000000000000..d6b4d9e94d3c96cfd8cfea468752b3c99290d3c4 GIT binary patch literal 1228 zcma)6OHUI~7(KTwZ7Bn-#e(t>l!|RB9Ui_58iE)#<&o4hk=<>3ErZjUIy1BySH_h) z7j8&2#*MCAXatNJe}Ml(j4S_v@w;sk5e?}i_c3?w{m%EDbMAco_3;aUSzPwP#Skl) zW!1iKJEE*sHBnRN97h;MZWM%_uPs-E#U0HwqEkM27((m3%2k~kC3QK!E((qhUWUQ? zDz7=Js0zbT=L+&jMx&sHuo%3~nr25Q2rSbYTAHD)%JnE`2xtC4W*tj2O7zh?qZyiW ziD9K_*A*jFyznmRX(2hU=ZgeZ?z+nb=Ol}QkG(#+Hl=H&6$@999 zshI_?=eVWG_vWHU*2<7*vC`-il@sK3!d8TJ+qBA}$S@RZ3c;U_>uQUY?WX%n$Ag*fC0{#ELEh$MEak^j>bkio@7KO8B7NwtN z_NmbHv~-wq-Jt6-uXEcLB$j_k*v>W6b}&q~bW>}CD-@DG1wvuzQo6@3Y8_DMYbVVv z(7T()U}9_wU5VrtLWv!O-_|!qsQ1!FU<^If%R{sky*NT6!%_4#!#tocGH^Wco{;*t zF}MkZg-1T%Zb*PWf&j)TcnV?CDuM|N64^0K*Fk$4 tft#QNfipNuu;=KM2d+q%`tvk*Q7sqiYe}T(Zw0EB^rBHdm#Ddr{0%EwIzj*d literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwOperation$3.class b/studentguanli/bin/com/system/view/AttendancesbwOperation$3.class new file mode 100644 index 0000000000000000000000000000000000000000..733d7d48a7e286d3f980bce7b8f8482973a1e851 GIT binary patch literal 1232 zcma)5TTc@~7(LULZdn#vtAKJ5l!|RBtO#D9TtvjEDVGFoB5%`nEQ{@K-Cd|Y8RL_0 zKKMeSF}~=N4;lfZ#vkDS5aW~o!1ztuL_|Zn$y|2kn{&Q7=bNv;K7Ii(fhh$ZhG^C* z>dt+~6-9mB5M_PZb%mMZW>z?v@tbXFco83bwyo5Am{7*6Cgk)`TmOENU9^Fo9(gj0Vgmt5O0^R($7H%!Bw zWSFQM@n4u&n!z_?jZg4utj0tw(O$FF?2_(`R>(pR_dFKr32_B6~4WB z_5JA!701w{p!+X(s#0kVOgd0jy=?xpwVtK z%|_|pOJgwJzlj6!#3n-VZG_)e0$Zr}Qy?&gR_f&;3Pl@^(8zEU?KPMO1R{Y4;_r#6 zV+&my&{(+l15Un1J1rjYZlV7ZhHlA#Z4CRia88nVAxYYa1{f!T34}38Yg6dLMY8%* vg}Ai}ULz(NoW}*C9;H)0cv@PiAEUVkNkWlp35*aH=*DCVjq;nM=0V~&E51A2 literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwOperation$4.class b/studentguanli/bin/com/system/view/AttendancesbwOperation$4.class new file mode 100644 index 0000000000000000000000000000000000000000..df435b5da15c7d9b90f30c33f2e9399f021c9102 GIT binary patch literal 1232 zcma)6O-~b16g{skZ7Bn-RY3U=l!|RBjA;G90)_xaNlS^CCbD}i&oVfjsWU^XD`Q-_ zbK!*E&yQ@G-Tiy>Mt zOR9a}c0@_7XrijlIF2w@xls^yzM3ryi#wWWM3O#u7((m3!d0CcMKzmW7X`-$FGGLL z%BzklD#CEonSwl$)+neUEC#Q$rrD7*1eR_NEyd7M;d+EKgwuZ@mmNzpiuBPtsTrCx z%`nw;#DBxYatxkXb5*p0A*jFyzuX;C(276+ZX8z7h9eB_sB{gcHA5_Jl=8y5$@999 zshI_?=eVWG_lD6UYh{QxS!pCmig3d0UXDm4+DRxQ>RM737jNHad(63lvQUV>>dGAu@yfel*8`3m%Gm%?>>L@WAn++ z&kq9_M%0JX4Bb+Id#YU}?$w2CS!%n)4WS^0IPqn#nbnN2ZC(^}8rRJtLu^m_vu3Gm z8ZzxY64aZA3JD;AF&{=5hMQ{*1uCeM0=95+nyuA@@I+T)IUmk43>_F`PUylB0gNLl zr9HookVbpSq{cDEz)0i1gLGhMUv_xmPKK8o>Iat14XYroYO+6i|9_RnB%eh1yiw3i zn@G(FXU!zhmFoswmsy?Lwji5S{aU^rxE4>1(AVAILUN#1!io)B{z4LxJ?n^b$4L~YLGoSP*ZIzO9{1ey*Y4AG z0ONSi0Sm)GRxirs&&mcb%F8OR$PpzW-)p?I#Hm+QsB{!2>TtPnjEWy`UW;=FfhH9k_Q2wQ##2BrwAXTC5MZ6Q-g@rwCNsV6XWnW*OP z8z#>(hDNwXO_{*%W?(}?NY7#92SF3tLwECwImO^j6-Hl#1e3hLpAks2`cf&&r&N)I zz9y}MzI8#wLupTFR64POQZ94K%83*&8#7$wu#B_xKijAyf>tIv6wMC6;-MX_EH*T} z3TGWs+Ur`yshL1q4IP0xI@8{6tJ}MZ-Wr|@cv#8(zK4D29W`gKwtvyw{0)PMb0eWv`c z{)EuC`D}H>OoAIkAWlsl_-r1cVC=99KHGs0Q-Z_pv)2(fIi>{%otio9B8(#(cERz4 zl54@6G;8Rixs%e|jSlpn3%%4CPh%85gh_UT8t&T|K!zINC-CDg^|~sC@f|MV0WRYS zuHY%I;ZKa=Z%kr?H2%dDc9CH1m}b40V}8uDt5{%B+(DA8#T(Cv8Kme$4~m<(MUULU zLU@a;S%_m7vzVhYsA3)Sw6l_h&#^!|8}W|eHtp;rze5BTr11`|{e%h%MjDaELjSxm P;(P16v`Qu}LbCXO?I8mt literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwSelect$1.class b/studentguanli/bin/com/system/view/AttendancesbwSelect$1.class new file mode 100644 index 0000000000000000000000000000000000000000..369f00dc79cabcdcb2078184446eb81143720d7f GIT binary patch literal 2802 zcma)8TXPgu5dKcG*-17Bav=l)Vn6~U%Vmj*N)k{AL4vu-Vjz)=C%cDa!tBhtGn)|a zh<8Q2a1mcDUqs9D!76egprvn?kNWB(6u$Wbw8TDVciGtxtFl!yb53`k?mpf9b?>kL z&i)8s2QC{ZVptb*5)pU8^<*M4X3Fu%F3*#8T-Y(`4vj~pC1YMgvw;9Z<)|1F5lh&^ zk=~(Eq8kV@tkP65?nUI7w7tl#m}fe6mq{9JnPLcfBc|K1l`M5Fz*H+k`IxX8;=&VT zpP{-->rZ>873n9NPKrdTl}OC7(h0jqB&4e)gKeg5dOI1q8W&{gUd8uPn)(?6?M_^l zf$q;?pj54@Im!@Hs~V1SghD7rEeFRkhT=wbsG`fXWluUWBvS{)kR{bcoS3lsMaoqB zEHR*h!?0l?4mUK@%`1csZ=Xz^a8d~wXQ*$?xIH%m9V#2GP5ou4#~K5x8P+Z!{u~cr zEkl*-rQ>wIGrrf9R$Rw-xwdmE;*OhC0s9ZiQ=VqFhOiDB46J9URk^xXf};^l492kZ z)G3NuV^hXyT})9gMH)%XMr<~)si4p@JdQ1hkOI@~NF==p9pu4MG&8Kc_1#yu&wp|I z#>HFbrf<%i{qxKZH)m#Ve>3~njng4Kglz^MW>{9>S8q~PXrHhp$0K-D-FCzo@1`;m z!*Y))EN7UZ$rsjkCy{h)6;7Ym83<5-L)ea111&kfeWl9Lrb?nDW=WAUK()EXmjg4A zvxF zoeZU>CsTs3L@CRqLZ9x;(n-Tp=r+(rb(`0a<8t(%mw;ioFmu9tgr|j1 za#)I1rZo#M?W&O49FDH!5#jbw^b9(Ech0DX*O z9H%J3p3$dY4NGeFd)>cy%tI@**6k z@j7)WS9<+4Op;DYf9XK>5~@q(;iNhxquzL5CX4g8Fd8AQ?P%As!@ytr+uPyBQ6UkiX-!{iqo8RmI z(Yup0ulJqH%)_<}#UB(UxG3t0*vW2@)T740rwl7Jl;@2yLnulm9g}-aHLRA;^DkhF zI!(Fluw$0vQpfI=-iSl+;+-~4`gTjWuB2gB+9O?WpW}L1O#`x+o)Q#SR;t+vR936W zslPNg>3>KOJsgWjYB8;L(mp`nn()R+RD?H8qAI+35=+9+ zK16>)4x<_aL>r_)9HA+G6k!}gGmfK^dfWjBdJo|wwY4$C38oSsP&>PXVSGt4-%KsXBcpnk(W8!T?;2*3su<;Joz%alJd_p?|I}Dm)1~pCmjo2M* kMe$uG9Sh(*y^C-G7xk{5j9j8sh@4c_p?;syQ-u2e0I}Nq#Q*>R literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/AttendancesbwSelect$2.class b/studentguanli/bin/com/system/view/AttendancesbwSelect$2.class new file mode 100644 index 0000000000000000000000000000000000000000..e2155c07bb7d22643421a05ba982b591b5c0a462 GIT binary patch literal 821 zcma)4TTc@~6#k}cyLH)$Ew)l`pipTcaT8xr6GJeXENCogqCQQxV;S6?ZFZ(0PbOaC zPw|--NHp;W_@j(xwnTj3p_9yzfX1-C5GC$_0?D@-j4-C>7i88JZ6|_ zcX|xYW;zfaW-#l+MVVnPluGQ3lfKAyCmyvhjd){0%=&h0m-sYpTo_O7KoJHcPw0&N_QdM;d*lf6hk~%!X_HMD_J4 z=EHU81XsVK9Il^W;W+oJ5WY#tZPZ3yz$fzmOp(9P^uD5wZ+Vs_!dS#4OPP?jaGN4j p;b1W*aEIRM+rMI?vW!uHwh1;Nu^k-j2s_x0jY31ZlD3Y_YFCw3 zHX;pyrfG3V3N$pdp)GBi1p4C;2$oVr-I=_#4}IxVXZq9`V|eNekDV#gbMMNs1nv~g z;In)7{Gacfd-=;p}A691HjLWVDpd&=j{!61Sh%OfJswV5CNj^NkJ$f7Z?=NUk^0lhlob z5N)m%9o7%o;vgc-Ac+UE@r-2{6~Ah&v7yRWlC9s7G?VsD23N3Ugu&fy zC3G1s_!T^WCNGv#a&yxk&!0Je^XMCMCqBG!{-c|hK9Iq%LcvO`qIj~pJ)E=+%6LUk zcnTXDm0`%vP&GPQM!2x5;7eG|&_KdnR?bXh8Kht@{aQvOeEIGQiqgnf1AhZ4e?@@@ z^$l2yMMD7Mw?{Lz zF`*-22h~JWEN3T;@Caen%E;(|-;1XR0CU$)&YdiBMyG- z(F-cE;vi!F`g^45#k1VXg?Hypz2ikMMRxPj?EJ+O;?r{^JU=}YoHD9p+e1QL(D*2Gv!C4j;h zEhC08Zupf&JXFsWpB(OTT){yYG)?4^TcRAQa^@TXoPAKeuo#wAx9(rp-3g}C4c-`{&o`N^=ecHYR_D%wqWk!;;=xNXx z)>c(epP~h`Ge)#blAkAKrrUlcNjrP}eRV;ceH<74bP#66ffl&8GlbcMW^3ZJH_Z=2@z`X< zjDCGm%${J}b!>_cbaKf;<>f6x##g0OW-W`^CfRXdD1=ss7#22ipYw$*t*lKrpI%6M z!#zRoa5&Y2xRWfj|1ZI+{w=A>mE9@Y?-WIF|GmcfY4pi`&dXLA)9}lpe++`Zq6eJKD_Wf;L;PNrTmGXxXezC~EB2v-TdHV=jwF2*NJ9bh%N-k9m5kBH9WFhd8T%ZJe+I9xtJTw4RK#26h(k^k{3~8He;ZWVb{591`KA ztg)x;ufOdI`pH$B%jK`z?IRz<+&0k{M%x?@`=Wsti}*&nTXnk%IH0;qh(!Ylx6fC^ zw+cwAZa>cXWIt>6sRg9kR5w>H+i&-%9w!;q7hdWY zyfl@))Kk4=-+mvZpHe+)Jy)ixr78c+46+n;){j3?9QcCEHb8Hq*o*@RL&sw<=-!saRvaeXV{{pt!s9rNCuoaq$FI?j-_xz=GXL)Y zcH#@N@;5weoMRt{El)K^F?UEkiJAZgLJ)8hz=SCAI@xWKf! XOh5^ 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 ZYH&h`#49+-t@xa@xD~%s{11rt9|7(*Qj`Dy literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/Bg$1.class b/studentguanli/bin/com/system/view/Bg$1.class new file mode 100644 index 0000000000000000000000000000000000000000..046d99f31ecb0d6d88fe33da299e6c83d567539d GIT binary patch literal 827 zcmaKq(M}UV6o&t4*KS+awpOS}kwU517UIgKK~12+Xj0$;(nRm3+p&ypXUWdAjgMs_ zkZ9rq_)x|(OA`$xZZf-PX3l)`pa1Ny-`{@%c!g~jDTak08u|K*He%#Yq?r2q!^Vya zhoSn3Pq@#g#upQzjDHx7wb&c*b0cDgj5(9K@tgqNdBQG3cEZEP$B+*h%H4z%ay9f% zOf1!q_A@V~lIAr-t9ct>{z$9G;B=ya$bsRWhdapFsOZ5(Hjgy!d&r^8kZ#)4Vpl40 zG#>Rue9HTwuri{6hdmxkJD)8&whV^KEgBj-B-0z&sym?!K8pdvYV%sy4Ob4VLA$M9 z9?Mv9QKie~P4Vy;s|=`4}fU7|0{`B}<#N5b8+Hqr)bp??AE9k1O(8`Aq#7Y^d`Kk%ffTraa$lU0v*6gsy9w~KdO%b? z@B{c!h*=Y<2clZqo!QwpZ{IvWzx;gyu!mI_1%bIR?FIT?8|noEMYq90RNr#p2vo1+ zKnC*G1T>(;1gB|V)31)aF_a0EOjqgpCKI&YGwksFu1b{I7g%VF0<5(KoMzgg2?$L3 z7(>ZJ5mP=~d=Mx$EMU5&5<2VmE-AZ^moW*bp)0gtx=O5+97w=+8!$SYv#ogR8xOoa!vCFPrg<+h z2G~HEcR$ZPe8dc&1ZFWeWZ2_q8ODl#F#oUF%ZmXVY~}=&H_(uP;izJfTOEAm<^q=R WjibYYmr>`;<2(Dj{eJK&p!N!R0g}o9 literal 0 HcmV?d00001 diff --git a/studentguanli/bin/com/system/view/Bg.class b/studentguanli/bin/com/system/view/Bg.class new file mode 100644 index 0000000000000000000000000000000000000000..e0b26fdd16bd10889648aaaeb1a57c459c4a0805 GIT binary patch literal 1530 zcmZuxL2nyX5dNOM%{tD8+D@9(O-mbSsqNTak{Bp)3)H5e4z?+zxEPSC7w2IX*1OT} zI!Swqgend_apC|7AypOP0BS*wREu7b_#dIoiGP5Yw+_WlvxnXHM&Eoh^Uciu`Okxg z050HT6#<4=!*1#B4c8MbecccndZDR8A^T^1op0*yhG8}JrA3Fg1j9(fwme~ZSGYyD z@$vvh8qGYz(0Ri$yw@0xBz%Bwa-vxF9Ae5RYYa-!UKL>kF`_|*#t=*-Ybu`EAJiud zV-zF9h+<4djAF`=I^Xd0Wk2VlZQ728aU5Y7;|aF8#GpyY{GP3`eL1`*9QQ;z6qSu@G2IlWu)(A+c9p^ zv~lyIX*8`C`OxGfNNE-4sbx>*V39x}(70(k4}X6A`!BoS+}iDa6-FL!$SN)}Ozs8m zpF`O)nR8LYo47=6q>z${gzQUITK00A3gI%v*xlON`SQV|U%QXG->XvJ8{COtwR0y`S1fxQo&HHV#+P_Yvt} zA{~t6qPQDne|K;!^&6f|cW~-jnssoxi$py}F6nBfi)=kLvyB%!n9l?|c!ezadhCJ{ ziEQKb4horI6n_v;WTAt_bVhRc?r)L%f)ZD{DAkGTZSs#Rl0cdU7|0xDLr*B;isZOQ zSqD(1cNJsw9*2SnXqcqiQJg{?NgSi)IgWEUflD}pCEDW;aTZM)v=&m>#0+j>4!1Fn zZ;``Kv@iDv{SL9^daB?G-lZGqgZHpZnrXO;tE5?ga5wQjYNYNa7I2MD3Y|Y7YyfqN V1H|Z*mCp2(dLMj5U+JAi>0iICeLMgF literal 0 HcmV?d00001 diff --git a/studentguanli/bin/module-info.class b/studentguanli/bin/module-info.class new file mode 100644 index 0000000000000000000000000000000000000000..3f90db91aa2f19d4183f8826ba0f1d98fe8a69b8 GIT binary patch literal 196 zcmYk0I}*Y$3`AE6Jm6BuHcfQbRy)HxRg2jEZ)Mrly7Z?)P&@6YoE zV1-$Vh)`Zk>$O^T{lO55t?~E0T6bCz=6|Q=Bp;HHY`86u5^C#wt9p0zve%tJPRM?( w#@@6*NvL>hl|4Ii6{rb0Cp&4?08sd1oCt9+5hj=hE|72>BV!h<)xa3#3#zUsfdBvi literal 0 HcmV?d00001 diff --git a/studentguanli/src/com/system/dao/AttendancesbwDao.java b/studentguanli/src/com/system/dao/AttendancesbwDao.java new file mode 100644 index 0000000..2960f97 --- /dev/null +++ b/studentguanli/src/com/system/dao/AttendancesbwDao.java @@ -0,0 +1,15 @@ +package com.system.dao; + +import java.sql.SQLException; +import java.util.List; + +import com.system.javaBean.Attendancesbw; + +public interface AttendancesbwDao { + + public boolean deleteAttendance(String snosbw) throws SQLException; + public List selectBySno(String snosbw); + public boolean updateById(String idsbw, String snosbw, String namesbw, String cnosbw, String datesbw, String statussbw)throws SQLException; + public boolean addAttendance(Attendancesbw attendancesbw) throws SQLException; + public List findAll() throws SQLException; + } \ No newline at end of file diff --git a/studentguanli/src/com/system/impl/Attendancesbwimpl.java b/studentguanli/src/com/system/impl/Attendancesbwimpl.java new file mode 100644 index 0000000..cd0345e --- /dev/null +++ b/studentguanli/src/com/system/impl/Attendancesbwimpl.java @@ -0,0 +1,153 @@ +package com.system.impl; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import com.system.dao.AttendancesbwDao; +import com.system.javaBean.Attendancesbw; +import com.system.utils.DB; + +public class Attendancesbwimpl implements AttendancesbwDao { + private Connection connsbw; + private DB dataBasesbw = new DB(); + + + @Override + public boolean deleteAttendance(String idsbw) throws SQLException { + try { + connsbw = dataBasesbw.getConnection(); + Statement statsbw = null; + statsbw = connsbw.createStatement(); + String sqlsbw = "DELETE FROM attendance WHERE id = '"+idsbw+"' "; + if ( statsbw.executeUpdate(sqlsbw)==1 ){ + return true; + } + } catch (Exception e) { + e.printStackTrace(); + } + connsbw.close(); + return false; + } + @Override + public List selectBySno(String snosbw) { + List attendanceListsbw = new ArrayList<>(); + // 假设您有一个可以执行数据库操作的数据库访问对象,例如使用JDBC + String sqlsbw = "SELECT id, sno, name,cno, date, status " + + "FROM attendance " + + "WHERE sno = ?"; + try (Connection connsbw = dataBasesbw.getConnection(); + PreparedStatement pstmtsbw = connsbw.prepareStatement(sqlsbw)) { + pstmtsbw.setString(1, snosbw); + ResultSet rssbw = pstmtsbw.executeQuery(); + while (rssbw.next()) { + Attendancesbw attendancesbw = new Attendancesbw(); + attendancesbw.setId(rssbw.getString("id")); + attendancesbw.setStudentId(rssbw.getString("sno")); + attendancesbw.setName(rssbw.getString("name")); + attendancesbw.setCourseCno(rssbw.getString("cno")); + attendancesbw.setDate(rssbw.getString("date")); + attendancesbw.setStatus(rssbw.getString("status")); + attendanceListsbw.add(attendancesbw); + } + } catch (SQLException e) { + // 处理异常 + e.printStackTrace(); + } + return attendanceListsbw; + } + + + // 更新课程 + @Override + public boolean updateById(String idsbw, String snosbw, String namesbw, String cnosbw, String datesbw, String statussbw) throws SQLException { + try { + connsbw = dataBasesbw.getConnection(); + // 使用PreparedStatement来防止SQL注入 + String sqlsbw = "UPDATE attendance SET sno = ?, name = ?, cno = ?, date = ?, status = ? WHERE id = ?"; + try (PreparedStatement pstmtsbw = connsbw.prepareStatement(sqlsbw)) { + // 按顺序设置参数值 + pstmtsbw.setString(1, snosbw); + pstmtsbw.setString(2, namesbw); + pstmtsbw.setString(3, cnosbw); + pstmtsbw.setString(4, datesbw); + pstmtsbw.setString(5, statussbw); + pstmtsbw.setString(6, idsbw); + + // 执行更新操作 + int affectedRowssbw = pstmtsbw.executeUpdate(); + // 检查是否至少有一行被更新 + return affectedRowssbw > 0; + } + } catch (SQLException e) { + e.printStackTrace(); + throw e; // 重新抛出异常,以便调用者可以处理它 + } + } + + @Override + public boolean addAttendance(Attendancesbw attendancesbw) throws SQLException { + try { + connsbw = dataBasesbw.getConnection(); + String sqlsbw = "INSERT INTO attendance (id, sno, name, cno, date, status) VALUES (?, ?, ?, ?, ?, ?)"; + try (PreparedStatement pstmtsbw = connsbw.prepareStatement(sqlsbw)) { + // 按顺序设置参数值 + pstmtsbw.setString(1, attendancesbw.getId()); + pstmtsbw.setString(2, attendancesbw.getStudentId()); + pstmtsbw.setString(3, attendancesbw.getName()); + pstmtsbw.setString(4, attendancesbw.getCourseCno()); + pstmtsbw.setString(5, attendancesbw.getDate()); // + pstmtsbw.setString(6, attendancesbw.getStatus()); + + // 执行插入操作 + int affectedRowssbw = pstmtsbw.executeUpdate(); + // 检查是否插入成功 + return affectedRowssbw > 0; + } + } catch (SQLException e) { + e.printStackTrace(); + throw e; // 重新抛出异常,以便调用者可以处理它 + } + } + + @Override + public List findAll() throws SQLException { + List attendanceListsbw = new ArrayList<>(); + // 数据库查询逻辑 + String sqlsbw = "SELECT id, sno, name, cno, date, status FROM attendance"; // 假设Attendance表中有这些列 + try (Connection connsbw = dataBasesbw.getConnection(); + PreparedStatement pstmt = connsbw.prepareStatement(sqlsbw); + ResultSet rssbw = pstmt.executeQuery()) { + + while (rssbw.next()) { + Attendancesbw attendancesbw = new Attendancesbw(); + // 根据ResultSet中的数据设置Attendance对象的属性 + attendancesbw.setId(rssbw.getString("id")); + attendancesbw.setStudentId(rssbw.getString("sno")); + attendancesbw.setName(rssbw.getString("name")); + attendancesbw.setCourseCno(rssbw.getString("cno")); + attendancesbw.setDate(rssbw.getString("date")); + attendancesbw.setStatus(rssbw.getString("status")); + + + attendanceListsbw.add(attendancesbw); + } + return attendanceListsbw; + } catch (SQLException e) { + // 异常处理 + e.printStackTrace(); + throw e; + } + } + } + + + + + + + \ No newline at end of file diff --git a/studentguanli/src/com/system/javaBean/Attendancesbw.java b/studentguanli/src/com/system/javaBean/Attendancesbw.java new file mode 100644 index 0000000..63d539c --- /dev/null +++ b/studentguanli/src/com/system/javaBean/Attendancesbw.java @@ -0,0 +1,83 @@ +package com.system.javaBean; + +import java.time.LocalDate; + +public class Attendancesbw { + private String idsbw; + private String snosbw; + private String namesbw; + private String cnosbw; + private String datesbw; + private String statussbw; + + // 默认构造函数 + public Attendancesbw() { + } + + // 带参数的构造函数 + public Attendancesbw(String idsbw,String snosbw,String namesbw, String cnosbw, String datesbw, String statussbw) { + this.idsbw=idsbw; + this.snosbw=snosbw; + this.namesbw=namesbw; + this.cnosbw = cnosbw; + this.datesbw = datesbw; + this.statussbw=statussbw; + } + + // Getter 和 Setter 方法 + public String getId() { + return idsbw; + } + + public void setId(String id) { + this.idsbw = idsbw; + } + + public String getStudentId() { + return snosbw; + } + + public void setStudentId(String sno) { + this.snosbw = snosbw; + } + + public String getName() { + return namesbw; + } + public void setName(String name) { + this.namesbw=namesbw; + } + public String getCourseCno() { + return cnosbw; + } + + public void setCourseCno(String cno) { + this.cnosbw = cnosbw; + } + + public String getDate() { + return datesbw; + } + + public void setDate(String date) { + this.datesbw = datesbw; + } + + public String getStatus() { + return statussbw; + } + + public void setStatus(String status) { + this.statussbw = statussbw; + } + + // 重写 toString 方法 + @Override + public String toString() { + return "Attendancesbw{" +"id=" + idsbw + ", sno=" + snosbw + ",sname="+ namesbw +", cno=" + cnosbw +", date=" + datesbw +", status=" + statussbw + '}'; + } + + + + +} \ No newline at end of file diff --git a/studentguanli/src/com/system/utils/DB.java b/studentguanli/src/com/system/utils/DB.java new file mode 100644 index 0000000..8ea53fa --- /dev/null +++ b/studentguanli/src/com/system/utils/DB.java @@ -0,0 +1,100 @@ +package com.system.utils; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +public class DB { + + // 数据库地址 + private String Driversbw = "jdbc:mysql://localhost:3306/student_a?serverTimezone=Asia/Shanghai&useSSL=false"; + // 数据库用户名 + private String usersbw = "root"; // 这里需要修改为自己的用户名和密码 + // 数据库密码 + private String passsbw = "sbw20040420"; + // 数据库连接 + public static Connection consbw; + + // 构造方法 + public DB() { + try { + // 加载驱动 + Class.forName("com.mysql.cj.jdbc.Driver"); // 这个驱动是mysql8版本的 + // 获取连接 + consbw = DriverManager.getConnection(Driversbw, usersbw, passsbw); + } catch (Exception e) { + e.printStackTrace(); + } + } + + // 获取连接 + public static Connection getConnection() { + if (consbw == null) { + new DB(); + } + return consbw; + } + + // 释放连接 + public static void close(ResultSet resultSetsbw, Statement statementsbw, Connection connectionsbw) { + + if (resultSetsbw != null) { + try { + resultSetsbw.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + if (statementsbw != null) { + try { + statementsbw.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + if (connectionsbw != null) { + try { + connectionsbw.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + // 释放连接 + public static void close(Statement statementsbw, Connection connectionsbw) { + + if (statementsbw != null) { + try { + statementsbw.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + if (connectionsbw != null) { + try { + connectionsbw.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + // 释放连接 + public static void close(Connection connectionsbw) { + + if (connectionsbw != null) { + try { + connectionsbw.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + +} diff --git a/studentguanli/src/com/system/view/AttendancesbwAdd.java b/studentguanli/src/com/system/view/AttendancesbwAdd.java new file mode 100644 index 0000000..e7227ea --- /dev/null +++ b/studentguanli/src/com/system/view/AttendancesbwAdd.java @@ -0,0 +1,167 @@ +package com.system.view; + +import javax.swing.*; + +import com.system.dao.AttendancesbwDao; +import com.system.impl.Attendancesbwimpl; +import com.system.javaBean.Attendancesbw; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class AttendancesbwAdd extends JFrame { + + private AttendancesbwDao attendancesbwDao; // 声明为成员变量 + private JTextField idFieldsbw; + private JTextField snoFieldsbw; + private JTextField nameFieldsbw; + private JTextField cnoFieldsbw; + private JTextField dateFieldsbw; + private JComboBox statusComboBoxsbw; + private JButton markButtonsbw; + + + + public AttendancesbwAdd() { + setTitle("考勤添加界面"); + setSize(500, 350); // 调整窗口大小 + setLocationRelativeTo(null); + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + initUI(); + attendancesbwDao = new Attendancesbwimpl(); + } + + private void initUI() { + JPanel panelsbw = new JPanel(new GridBagLayout()); + panelsbw.setBackground(Color.WHITE); + getContentPane().add(panelsbw); + + GridBagConstraints gbc = new GridBagConstraints(); + gbc.anchor = GridBagConstraints.NORTHWEST; + gbc.insets = new Insets(10, 10, 10, 10); + + // 序号字段可编辑 + JLabel lblSequencesbw = new JLabel("序号:"); + panelsbw.add(lblSequencesbw, gbc); + + gbc.gridx = 1; + idFieldsbw = new JTextField(20); + panelsbw.add(idFieldsbw, gbc); + gbc.gridx = 0; + gbc.gridy = 1; + JLabel lblStudentId = new JLabel("学号:"); + panelsbw.add(lblStudentId, gbc); + + gbc.gridx = 1; + snoFieldsbw = new JTextField(20); + panelsbw.add(snoFieldsbw, gbc); + + gbc.gridx = 0; + gbc.gridy = 2; + JLabel lblStudentName = new JLabel("姓名:"); + panelsbw.add(lblStudentName, gbc); + + gbc.gridx = 1; + nameFieldsbw = new JTextField(20); + panelsbw.add(nameFieldsbw, gbc); + + gbc.gridx = 0; + gbc.gridy = 3; + JLabel lblCourseNumber = new JLabel("课程号:"); + panelsbw.add(lblCourseNumber, gbc); + + gbc.gridx = 1; + cnoFieldsbw = new JTextField(20); + panelsbw.add(cnoFieldsbw, gbc); + + gbc.gridx = 0; + gbc.gridy = 4; + JLabel lblCheckInTime = new JLabel("签到时间:"); + panelsbw.add(lblCheckInTime, gbc); + + gbc.gridx = 1; + dateFieldsbw = new JTextField(20); + dateFieldsbw.setEnabled(false); // 签到时间自动生成 + panelsbw.add(dateFieldsbw, gbc); + + gbc.gridx = 0; + gbc.gridy = 5; + JLabel lblStatus = new JLabel("考勤状态:"); + panelsbw.add(lblStatus, gbc); + + gbc.gridx = 1; + String[] statusOptions = {"出勤", "缺勤"}; + statusComboBoxsbw = new JComboBox<>(statusOptions); + panelsbw.add(statusComboBoxsbw, gbc); + + gbc.gridx = 0; + gbc.gridy = 6; + gbc.gridwidth = 2; + markButtonsbw = new JButton("记录考勤"); + markButtonsbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + markAttendance(); + } + }); + panelsbw.add(markButtonsbw, gbc); + } + + private void markAttendance() { + String idTextsbw = idFieldsbw.getText(); // 假设id对应序号字段 + String snosbw = snoFieldsbw.getText(); + String namesbw = nameFieldsbw.getText(); + String cnosbw = cnoFieldsbw.getText(); + String statussbw = (String) statusComboBoxsbw.getSelectedItem(); + + // 验证输入是否完整 + if (snosbw.isEmpty() || namesbw.isEmpty() || cnosbw.isEmpty() || idTextsbw.isEmpty()) { + JOptionPane.showMessageDialog(this, "请输入所有必填信息!"); + return; + } + + String datesbw = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + dateFieldsbw.setText(datesbw); // 设置签到时间到字段 + + Attendancesbw attendancesbw = new Attendancesbw(); + attendancesbw.setId(idTextsbw); + attendancesbw.setStudentId(snosbw); + attendancesbw.setName(namesbw); + attendancesbw.setCourseCno(cnosbw); + attendancesbw.setDate(datesbw); // 通过setter方法设置签到时间 + attendancesbw.setStatus(statussbw); + + try { + // 使用AttendanceDao的实现类来添加考勤记录 + boolean isAddedsbw = attendancesbwDao.addAttendance(attendancesbw); + if (isAddedsbw) { + JOptionPane.showMessageDialog(this, "考勤信息已成功保存到数据库!"); + } else { + JOptionPane.showMessageDialog(this, "保存考勤信息失败!"); + } + } catch (SQLException e) { + JOptionPane.showMessageDialog(this, "数据库访问出错:" + e.getMessage()); + } + + // 清空文本字段,准备下一次输入 + idFieldsbw.setText(""); // 清空id字段 + snoFieldsbw.setText(""); + nameFieldsbw.setText(""); + cnoFieldsbw.setText(""); + statusComboBoxsbw.setSelectedIndex(0); + } + + public static void main(String[] argssbw) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new AttendancesbwAdd().setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/studentguanli/src/com/system/view/AttendancesbwDelete.java b/studentguanli/src/com/system/view/AttendancesbwDelete.java new file mode 100644 index 0000000..746fc0e --- /dev/null +++ b/studentguanli/src/com/system/view/AttendancesbwDelete.java @@ -0,0 +1,78 @@ +package com.system.view; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.SQLException; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; + +import com.system.impl.Attendancesbwimpl; + +public class AttendancesbwDelete extends Bg { + + private JPanel contentPanesbw; + private JTextField keyFieldsbw; // 假设使用学号作为关键字来删除考勤记录 + public AttendancesbwDelete(String a) { + + super(a); + + JPanel panelsbw = new JPanel(); + panelsbw.setBackground(Color.WHITE); + panelsbw.setBounds(165, 54, 752, 493); + getContentPane().add(panelsbw); + panelsbw.setLayout(null); + + JLabel lblNewLabelsbw = new JLabel("删除考勤记录"); + lblNewLabelsbw.setFont(new Font("微软雅黑", Font.BOLD, 18)); + lblNewLabelsbw.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabelsbw.setBounds(275, 55, 189, 33); + panelsbw.add(lblNewLabelsbw); + + JLabel lblNewLabel_1sbw = new JLabel("序号:"); + lblNewLabel_1sbw.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_1sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_1sbw.setBounds(202, 120, 100, 33); + panelsbw.add(lblNewLabel_1sbw); + + keyFieldsbw = new JTextField(); + keyFieldsbw.setBounds(303, 120, 204, 33); + panelsbw.add(keyFieldsbw); + keyFieldsbw.setColumns(10); + + JButton btnNewButtonsbw = new JButton("删除"); + btnNewButtonsbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String keysbw = keyFieldsbw.getText(); + if (keysbw.equals("")) { + JOptionPane.showMessageDialog(null, "请输入序号!"); + } else { + Attendancesbwimpl attendancesbw = new Attendancesbwimpl(); + boolean flagsbw = false; + try { + flagsbw = attendancesbw.deleteAttendance(keysbw); + } catch (SQLException e1) { + e1.printStackTrace(); + } + if (flagsbw) { + JOptionPane.showMessageDialog(null, "考勤记录删除成功!"); + } else { + JOptionPane.showMessageDialog(null, "考勤记录删除失败,请检查学号是否正确!"); + } + } + } + }); + btnNewButtonsbw.setFont(new Font("微软雅黑", Font.BOLD, 14)); + btnNewButtonsbw.setBounds(525, 120, 102, 33); + panelsbw.add(btnNewButtonsbw); + } +} \ No newline at end of file diff --git a/studentguanli/src/com/system/view/AttendancesbwOperation.java b/studentguanli/src/com/system/view/AttendancesbwOperation.java new file mode 100644 index 0000000..275db74 --- /dev/null +++ b/studentguanli/src/com/system/view/AttendancesbwOperation.java @@ -0,0 +1,91 @@ +package com.system.view; + +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.SwingConstants; + + +public class AttendancesbwOperation extends Bg { + + /** + * Create the frame for attendance operation. + */ + public AttendancesbwOperation(String a) { + super(a); + + JLabel lblNewLabelsbw = new JLabel("考勤相关操作"); + lblNewLabelsbw.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabelsbw.setFont(new Font("微软雅黑", Font.BOLD, 18)); + lblNewLabelsbw.setBounds(370, 94, 352, 43); + getContentPane().add(lblNewLabelsbw); + + JButton btnNewButtonsbw = new JButton("录入考勤"); + btnNewButtonsbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (a.equals("学生")) { + JOptionPane.showMessageDialog(null, "没有权限!"); + } else { + setVisible(false); + new AttendancesbwAdd().setVisible(true); + } + } + }); + btnNewButtonsbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + btnNewButtonsbw.setBounds(622, 174, 148, 37); + getContentPane().add(btnNewButtonsbw); + + JButton btnNewButton_1sbw = new JButton("查询考勤"); + btnNewButtonsbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (a.equals("学生")) { + JOptionPane.showMessageDialog(null, "没有权限!"); + } else { + setVisible(false); + new AttendancesbwSelect().setVisible(true); + } + } + }); + btnNewButtonsbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + btnNewButtonsbw.setBounds(353, 174, 148, 37); + getContentPane().add(btnNewButtonsbw); + + JButton btnUpdateAttendancesbw = new JButton("修改考勤"); + btnUpdateAttendancesbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (a.equals("学生")) { + JOptionPane.showMessageDialog(null, "没有权限!"); + } else { + setVisible(false); + new AttendancesbwUpdate(a).setVisible(true); + } + } + }); + btnUpdateAttendancesbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + btnUpdateAttendancesbw.setBounds(353, 257, 148, 37); + getContentPane().add(btnUpdateAttendancesbw); + + // 添加“删除考勤”按钮 + JButton btnDeleteAttendancesbw = new JButton("删除考勤"); + btnDeleteAttendancesbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (a.equals("学生")) { + JOptionPane.showMessageDialog(null, "没有权限!"); + } else { + setVisible(false); + new AttendancesbwDelete(a).setVisible(true); + } + } + }); + btnDeleteAttendancesbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + btnDeleteAttendancesbw.setBounds(622, 257, 148, 37); + getContentPane().add(btnDeleteAttendancesbw); + // 根据需要添加更多考勤相关按钮和操作 + } + + // 其他方法和类定义,如 AttendanceRecord 和 AttendanceQuery 等 +} \ No newline at end of file diff --git a/studentguanli/src/com/system/view/AttendancesbwSelect.java b/studentguanli/src/com/system/view/AttendancesbwSelect.java new file mode 100644 index 0000000..1c39cb3 --- /dev/null +++ b/studentguanli/src/com/system/view/AttendancesbwSelect.java @@ -0,0 +1,138 @@ +package com.system.view; + +import java.awt.Color; +import java.awt.Font; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.SQLException; +import java.util.List; +import java.util.Vector; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; + +import com.system.impl.Attendancesbwimpl; +import com.system.javaBean.Attendancesbw; + + + +public class AttendancesbwSelect extends JFrame { + + private JPanel contentPanesbw; + private JTextField studentIdFieldsbw; + private JTable tablesbw; + private JScrollPane scrollPanesbw; + + public AttendancesbwSelect() { + + setTitle("学生考勤查询"); + setBounds(100, 100, 600, 400); + contentPanesbw = new JPanel(); + contentPanesbw.setBackground(Color.WHITE); + contentPanesbw.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPanesbw); + contentPanesbw.setLayout(null); + + final Vector columnNamessbw = new Vector<>(); + columnNamessbw.add("序号"); + columnNamessbw.add("学生编号"); + columnNamessbw.add("姓名"); + columnNamessbw.add("课程号"); + columnNamessbw.add("签到时间"); + columnNamessbw.add("考勤状态"); + + Vector> datasbw = new Vector<>(); + + JPanel panelsbw = new JPanel(); + panelsbw.setBackground(SystemColor.activeCaption); + panelsbw.setBounds(0, 0, 584, 45); + contentPanesbw.add(panelsbw); + panelsbw.setLayout(null); + + JLabel lblNewLabelsbw = new JLabel("学生考勤查询系统"); + lblNewLabelsbw.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabelsbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabelsbw.setBounds(155, 10, 280, 25); + panelsbw.add(lblNewLabelsbw); + + JPanel panel_1sbw = new JPanel(); + panel_1sbw.setBackground(Color.WHITE); + panel_1sbw.setBounds(0, 44, 584, 51); + contentPanesbw.add(panel_1sbw); + panel_1sbw.setLayout(null); + + JLabel lblNewLabel_1sbw = new JLabel("学生编号:"); + lblNewLabel_1sbw.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_1sbw.setFont(new Font("微软雅黑", Font.BOLD, 14)); + lblNewLabel_1sbw.setBounds(100, 10, 91, 31); + panel_1sbw.add(lblNewLabel_1sbw); + + studentIdFieldsbw = new JTextField(); + studentIdFieldsbw.setBounds(191, 10, 194, 31); + panel_1sbw.add(studentIdFieldsbw); + studentIdFieldsbw.setColumns(10); + + JButton btnNewButtonsbw = new JButton("查询"); + btnNewButtonsbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String snosbw = studentIdFieldsbw.getText(); + if (snosbw.isEmpty()) { + JOptionPane.showMessageDialog(null, "学生编号不能为空!"); + } else { + // 这里添加查询考勤的逻辑 + datasbw.clear(); + Attendancesbwimpl attendancesbw = new Attendancesbwimpl(); + List attendanceListsbw = attendancesbw.selectBySno(snosbw); + for (Attendancesbw attendance1sbw : attendanceListsbw) { + Vector rowsbw = new Vector<>(); + rowsbw.add(String.valueOf(attendance1sbw.getId())); // 假设Attendance有一个id字段 + rowsbw.add(attendance1sbw.getStudentId()); + rowsbw.add(attendance1sbw.getName()); + rowsbw.add(attendance1sbw.getCourseCno()); + rowsbw.add(attendance1sbw.getDate()); + rowsbw.add(attendance1sbw.getStatus()); + datasbw.add(rowsbw); + } + tablesbw = new JTable(datasbw, columnNamessbw); + scrollPanesbw.setViewportView(tablesbw); + } + } + }); + btnNewButtonsbw.setFont(new Font("微软雅黑", Font.BOLD, 14)); + btnNewButtonsbw.setBounds(395, 11, 79, 28); + panel_1sbw.add(btnNewButtonsbw); + + scrollPanesbw = new JScrollPane(); + scrollPanesbw.setBounds(0, 94, 584, 287); + contentPanesbw.add(scrollPanesbw); + + // 初始化表格数据,这里可以添加加载所有考勤记录的逻辑 + // 例如加载所有学生的考勤记录 + + tablesbw = new JTable(datasbw, columnNamessbw); + scrollPanesbw.setViewportView(tablesbw); + } + + public static void main(String[] argssbw) { + // 启动应用程序 + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + try { + AttendancesbwSelect frame = new AttendancesbwSelect(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } +} \ No newline at end of file diff --git a/studentguanli/src/com/system/view/AttendancesbwUpdate.java b/studentguanli/src/com/system/view/AttendancesbwUpdate.java new file mode 100644 index 0000000..b47bff9 --- /dev/null +++ b/studentguanli/src/com/system/view/AttendancesbwUpdate.java @@ -0,0 +1,176 @@ +package com.system.view; + +import java.awt.Color; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.SQLException; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.SwingConstants; + +import com.system.impl.Attendancesbwimpl; +import com.system.javaBean.Attendancesbw; + + +public class AttendancesbwUpdate extends Bg { + + private JPanel contentPanesbw; + private JTextField idkeyFieldsbw; + + private JTextField snoFieldsbw; + private JTextField nameFieldsbw; + private JTextField cnoFieldsbw; + private JTextField dateFieldsbw; + private JTextField statusFieldsbw; + private JTextField idFieldsbw = new JTextField(); + + + public AttendancesbwUpdate(String a) { + // setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + // setBounds(100, 100, 450, 300); + // contentPane = new JPanel(); + // contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + // contentPane.setLayout(new BorderLayout(0, 0)); + // setContentPane(contentPane); + super(a); + + + JPanel panelsbw = new JPanel(); + panelsbw.setBackground(Color.WHITE); + panelsbw.setBounds(166, 32, 751, 495); + getContentPane().add(panelsbw); + panelsbw.setLayout(null); + + + + JLabel lblNewLabelsbw = new JLabel("修改考勤信息"); + lblNewLabelsbw.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabelsbw.setFont(new Font("微软雅黑", Font.BOLD, 18)); + lblNewLabelsbw.setBounds(256, 28, 233, 38); + panelsbw.add(lblNewLabelsbw); + + //JLabel lblNewLabel_2 = new JLabel("考勤基本信息"); + //lblNewLabel_2.setFont(new Font("微软雅黑", Font.BOLD, 16)); + //lblNewLabel_2.setBounds(155, 136, 170, 28); + //panel.add(lblNewLabel_2); + + + + + + // 考勤序号标签 + JLabel lblNewLabel_3sbw = new JLabel("考勤序号:"); + lblNewLabel_3sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3sbw.setBounds(155, 131, 90, 28); + panelsbw.add(lblNewLabel_3sbw); + + // 学生学号标签 + JLabel lblNewLabel_3_1sbw = new JLabel("学生学号:"); + lblNewLabel_3_1sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3_1sbw.setBounds(155, 171, 90, 28); + panelsbw.add(lblNewLabel_3_1sbw); + + // 学生姓名标签 + JLabel lblNewLabel_3_2sbw = new JLabel("学生姓名:"); + lblNewLabel_3_2sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3_2sbw.setBounds(155, 212, 90, 28); + panelsbw.add(lblNewLabel_3_2sbw); + + // 课程号标签 + JLabel lblNewLabel_3_3sbw = new JLabel("课程号:"); + lblNewLabel_3_3sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3_3sbw.setBounds(171, 259, 73, 28); + panelsbw.add(lblNewLabel_3_3sbw); + + // 考勤日期标签 + JLabel lblNewLabel_3_4sbw = new JLabel("考勤日期:"); + lblNewLabel_3_4sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3_4sbw.setBounds(155, 306, 90, 28); + panelsbw.add(lblNewLabel_3_4sbw); + + // 考勤状态标签 + JLabel lblNewLabel_3_5sbw = new JLabel("考勤状态:"); + lblNewLabel_3_5sbw.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3_5sbw.setBounds(155, 348, 90, 28); + panelsbw.add(lblNewLabel_3_5sbw); + + // 考勤序号文本框 + JTextField idFieldsbw = new JTextField(); + idFieldsbw.setBounds(238, 135, 240, 30); + panelsbw.add(idFieldsbw); + idFieldsbw.setColumns(8); + + // 学生学号文本框 + JTextField snoFieldsbw = new JTextField(); + snoFieldsbw.setBounds(238, 175, 240, 30); + panelsbw.add(snoFieldsbw); + snoFieldsbw.setColumns(8); + + // 学生姓名文本框 + JTextField nameFieldsbw = new JTextField(); + nameFieldsbw.setBounds(238, 217, 240, 30); + panelsbw.add(nameFieldsbw); + nameFieldsbw.setColumns(8); + + // 课程号文本框 + JTextField cnoFieldsbw = new JTextField(); + cnoFieldsbw.setBounds(238, 264, 240, 30); + panelsbw.add(cnoFieldsbw); + cnoFieldsbw.setColumns(8); + + // 考勤日期文本框 + JTextField dateFieldsbw = new JTextField(); + dateFieldsbw.setBounds(238, 311, 240, 30); + panelsbw.add(dateFieldsbw); + dateFieldsbw.setColumns(8); + + // 考勤状态文本框 + JTextField statusFieldsbw = new JTextField(); + statusFieldsbw.setBounds(238, 352, 240, 30); + panelsbw.add(statusFieldsbw); + statusFieldsbw.setColumns(8); + + JButton btnNewButton_1sbw = new JButton("修改"); + btnNewButton_1sbw.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String idsbw = idFieldsbw.getText(); // 考勤序号 + String snosbw = snoFieldsbw.getText(); // 学生学号 + String namesbw = nameFieldsbw.getText(); // 学生姓名 + String cnosbw = cnoFieldsbw.getText(); // 课程号 + String datesbw = dateFieldsbw.getText(); // 考勤日期 + String statussbw = statusFieldsbw.getText(); // 考勤状态 + + if (idsbw.equals("") || snosbw.equals("") ||namesbw.equals("") ||cnosbw.equals("") ||datesbw.equals("") || statussbw.equals("") ) { + JOptionPane.showMessageDialog(null, "请输入完整的信息!"); + } else { + + Attendancesbwimpl attendancesbwDao = new Attendancesbwimpl(); + boolean istrue = false; + try{ + istrue = attendancesbwDao.updateById(idsbw, snosbw, namesbw, cnosbw, datesbw, statussbw); + }catch (SQLException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + if (istrue) { + JOptionPane.showMessageDialog(null, "修改成功!"); + } else { + JOptionPane.showMessageDialog(null, "修改失败,请检查输入信息是否正确!"); + } + } + } + }); + + btnNewButton_1sbw.setBackground(Color.RED); + btnNewButton_1sbw.setFont(new Font("微软雅黑", Font.BOLD, 14)); + btnNewButton_1sbw.setBounds(280, 447, 136, 38); + panelsbw.add(btnNewButton_1sbw); + } + +} diff --git a/studentguanli/src/com/system/view/Bg.java b/studentguanli/src/com/system/view/Bg.java new file mode 100644 index 0000000..eb7e55e --- /dev/null +++ b/studentguanli/src/com/system/view/Bg.java @@ -0,0 +1,58 @@ +package com.system.view; + +import java.awt.Color; +import java.awt.Font; +import java.awt.SystemColor; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; + +public class Bg extends JFrame { + + private JPanel contentPane; + + + public Bg(String flag) { + + JPanel panel_1 = new JPanel(); + panel_1.setBackground(SystemColor.activeCaptionBorder); + panel_1.setBounds(0, 52, 166, 495); + contentPane.add(panel_1); + panel_1.setLayout(null); + + JLabel lblNewLabel_4 = new JLabel("考勤模块"); + lblNewLabel_4.addMouseListener(new MouseAdapter() { + + @Override + public void mouseClicked(MouseEvent e) { + setVisible(false); + new AttendancesbwOperation(flag).setVisible(true); + } + }); + lblNewLabel_4.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_4.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_4.setBounds(0, 199, 166, 58); + panel_1.add(lblNewLabel_4); + + JLabel lblNewLabel_3 = new JLabel("退出系统"); + lblNewLabel_3.addMouseListener(new MouseAdapter() { + + @Override + public void mouseClicked(MouseEvent arg0) { + System.exit(0); + } + }); + lblNewLabel_3.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_3.setFont(new Font("微软雅黑", Font.BOLD, 16)); + lblNewLabel_3.setBounds(0, 262, 166, 58); + panel_1.add(lblNewLabel_3); + + + } + +} diff --git a/studentguanli/src/module-info.java b/studentguanli/src/module-info.java new file mode 100644 index 0000000..d65f0e5 --- /dev/null +++ b/studentguanli/src/module-info.java @@ -0,0 +1,4 @@ +module studentguanli { + requires java.sql; + requires java.desktop; +} \ No newline at end of file -- 2.34.1