JAVA数据库课程设计学生选课管理系统.docx
Sclstu学生查询界面:JPaiveIpCcntcr;Crd1.ayoutcard=null;J1.abellabel=nulkJMcnuBarmb=ncwJMcnuBarO;"菜单栏JMcnuml:newJMenuT学生管理JMenuhemaddI=newJMenuhemCaddIJMcnuIlemupdatal=newJMenukem(Mupdatalm):JMcnuItemdelete!=ncwJMcnultcm(',dcletclw);JMcnum2=ncwJMcnu(课程管理”);JMenuhemadd2newJMenUhemCadd2");JMenuIlemupdala2=newJMenukem("updata2*):JMcnultcmddctc2=ncwJMcnultcmCdeIctc?*);JMcnum3ncwJMcnu(,选课管理”);JMenuliemadd3=newJMenuhein(Mad(J3"):JMunuIlemupdula3=newJMenullem("updata3*'):JMcnuItemdclctc3=ncwJMcnultcm("delete?"):JMcnum4-ncwJMCml(,查询管理。;JMenuItem学生杳询=newJMeIHIkem("杳询信息JMcnuIlemm5=newJMCmIhCmr系统退出)Eontt=ncwEont(,'sancri.Font.P1.AlNJ2);publicMenu()IhiS.seEle("学生选课管理系统try(UIManager.sel1.okAndFecl(UIManagcr.ge(System1.kAndFeclClassName():)catch(Exceptionc)System.crr.prinUn("不能设置外观:"+c):组合菜推addMenu1();addMenu2();addMcnu3():addMcnu4();AddJMenuBarO:sc(JMcnuBar(mb);Iabd=newJ1.abd1.选课管理系统F1.abc1.CENTER):Iabe1.SelFOm(newFolH宋体”,FomBOUJ的Xlabel.se<Horizontaex(Position(SwingConMans.CENTER);Iabd.SC(ForegiX)UiKKColor.red>:点击事务add1.3ddAction1.iqCnC阳his);UpdataI.addAc(ion1.is(ener(this);delete1.addAclion1.istencr(Ihis):m5.addAction1.istcnerdhis);add2.addAction1.isicncrtchis);dele(e2,a(klAc(ion1.is(ener(ihis):updala2.addAclin1.istener(this);privatevoidaddMcnul()(n1.add(addI);ml.add(upiiataI);ml.add(dcleccl);m1.sclFom(t);publicvoidac(ionPerforn>ed(ActionEsen(e)Objectobj=e.getSouree():if(obj=m5)Systcmxxit(O):)ClSCHf(Obj=add1)CaIXtShOW(I)CCmer,增加学生界面”);else(if(obj=pdataI)(Car&shoW(PCetUerJ修改学生界面”);else(if(o=dek(el)(Card.shcnHpCcnkx”班|除学生界面'):clscif(tky=add2)(card.show(pCcntcr."if?Jj11Vfflw);)clsc(iftobj=dcle<e2)(CardShOW(PCemer,"删除课程界面*);else(if(Obj=UPdata2)cardshow(pCemer.,修改课程界面);)elsc(if(obj=i*dd3)(Canl.show(PeCnlCrJ阴加选课界面”):)clsc(if(objdc!ctc3)(card.show(pCcntcr.”盼除选谍界面clsc(if(obj=u<lata3)CardshoW(PCCmCr,'修改选课界面');ekeif(obj二二学生杳询)cardShOw(PCefnei;学生杳询界面”);)l>nH)IHpublicstaticvoidmain(StringJargs)(newMcnu();J添加数据时,若遇到必褥信息未填写、不能重复的信息在数据库中已存在.都会批示无法添加及其错误缘由.importjava.awt.*;importjavax.swing.*;importjava.sql.*;importjavaawtevent*;publicclassAddCextendsJPaneli11lementsAction1.istenerIJTextField那号,课名;JButton录入;publicAddC)box5.add<查找);Boxbo×H=Bo×.createV0rticalBo×O/bobo×H.add<bo×l);boxH.add<box2);boxH.add<box3);bo×H.add<box4);boxH,建ddBoxczg<atrgVerticd2G1ue<);WKi.addAction1.istener(this);S.addAction1.istener(this);JPanelPiCPanClhnoWJPanelO;JPanelmessPanel=nwJPanelO;messPaneladd(box5);picPanel.add<boxH);Set1.ayout(newBorder1.ayoutO);JSplitPanesplitV=newJSplitPane(JSplitPane.VERTICA1.SP1.lT,messPane1rpiePane1);/;»;«;add(splitVrBorder1.ayout.CENTER);ValidateO;J查询界面:SeIMOJaVa可以以防意条件模糊性我相关的表。importjava.awt.*;importjava.awt.event.*;importjava.Sql.*;importjavax.swing.*;publicclassSelstuextendsJPanelimplementsAction1.istener(JTextField学号,姓名,弃别;JButton查找;JTextField课-r课名;Button查找1;JTextField课号1,学号1,成果;JButton查找2;publicSelstu(>(学号=nowJTextField(12);下面是java的源代码,总共有15个突。分别是AddCjava,AddSCjava,/KddstuJavarDclstu.javaDc)C.jiiva.DeISCjava.Menujava.SelCJava.SeISCjava.Selstujava.S(lcnt.java.UpdatastujavaUpdatcCjava.UpdatcSC.java-Uscrjava”因为本人太懒.所以一些类名的错误没有修改,也没有优化系统,总之还兜足能运行的,数据陈用的是$32005,假如用别的数据即就要波驱动,详细自己上网百度吧。假如自己有空,优化一下还是很好滴AcMC.jaba:importjava.awus;importjavaxwing.*;importjava.sql*;inx)11java.aw(,eve11.5t;publicclassAddCextendsJPanclimplementsAction1.istcncr(JlcxtFicId课号,课名;JBuuon录入;publicAddC()try(UlManagcnset1.ookAndFccl(UlManagcrgetsysccm1.ookAndFeeIClassNameO);Jca<ch(Exce<ione)System.err.printing不能设5外观:w+e)J课号=ncwJTcxtFicld(12);i!ft5=>cwJTcxlFieId(IZ);录入=newJBlIUoIM'录入);录入.addAc(ion1.欣nertlhis):Boxbox1=BcxQrcaicHorizongIBoxO;/横放boxBoxbox2=Box.crea(eHorizomalBox();Boxbox3=Box.creatcH(>rizntalBox():Boxbox4=Box.crcatcHorizontalBoxO:boxI.add(newJ1.abdC'课);box1.add(课号Xbx2.add(newJ1.abd("课片:6:box2<add(课名):box4add(录入);BoxboxH=Box.crea(eVe11icalBoxO,放boxboxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.crcateVerticaIGIucO);务器和数据库testStringUscrNamc三,*sa*;默认用户名SiringUserPwd="huangjiwei*:监码Connection<JbCnn=null:IlyClass.forNane(driverNa11)e);dbConn=DrivcrManager.gelCnn<x(ion(dbUR1.userNan.USerPWd):Systcm.out.println(,'ConncctionSuccessful!'*);"假如连接胜利限制台给出ConnectionSuccessful!catch(Exceptione>uprinlSlackT11d):)returndbConn;AddSCjava:imx)11java.aw(1*;importjavaxswing.:inx)11java.sql.;importjava.util.*;importjavaxwing.filcchscr.4:importjava.io.*;inx)11jaawi.eveni产;publicclassAddSCextendsJPancIimplementsAction1.istcncrIJIcxiFicId课号,学号,成果:JBunon录入;publicAddSC()try(UlManagccsct1.ookAndFceKuiManagcrgctSystem1.ookAndFcclCIassNamcO);Icach(Excexione)Sysiem.etr.rinUn("不能设巴外观:Qe);i=newJIcxtHcIdd2):学号=OCWJIcxtFicId(IZ);成果=11ewJlextFieId(IZ);录入=newJBImon("录入):Mm(Statcmcnt)dbConnl.crcatcStatcment(RcsukSc(.TYPE-SCROl-1.-INSENS11VE.RcsuhSe(,CONCUR_READ_ON1.Y);rsC=stnl.execu(cQ>e(sqlC):iftrsC.ncxt()(rsS三stmt.cxecutcQucry(sqlS);if(rsS.nexi()rsl=slmt.executeQuery(sqll);if(rs1.ncxtO)(JOptionPanc.EhowMCSSagCDiaIOg(this.,该学生以选该课程号无法添加);else(StmlxxeculeUpdate(SqI):JOptionPanc.showMessagcDialog(this,',ftlllltiJM):1rsl.close<):)ckcJOplionPanCAhOWMCsSRgCDiaIOg(IhiS,"该学生不存在无法添加"):rsS.closc();)else(JoPliOnPane.showMCSSageDiaIog(Ih该课程不存在,无法添加”):rsC.closc();stmt.closc();>CdICh(SQ1.EXCqXione)Systcm.out.print(,SQ1.Exccpiionoccur.Mcssageis:M+c.gctMcssagc():连接数据底方法publicsialicConnexionCONN()StringdriVerNamc=',com.micrf>soft.sqlscn'cr.jdbc.SQ1.ScrvcrDrivcr*;加我JDBC郭动SiringdbUR1.='Jdbc:sqlserver:/localhosi:1433;DatabaseNaine=Studenf;"连接服务器和数据库testStringUscrNamc="«T:默认用户名StringuscrPwd=whwnjiwci;密码ConnectiondbConn=null;IlyIClass.forNamc(drivcrNamc);dt>Conn=DiverManager.geConnec(ion(<lbUR1.USerName.SerPwd);System.out.println(MConncciii>nSuccessful!"):"假如连接胜利限制台输出catch(Exceptionc)Systcm.crr.println("不能设置外观:*+c):课号l=newJTextField(12):课号=IWWnkFidd(12):深名=ncwJTCXtFiCld(12);删除=newJBimondM除");查找=MWJB查找。:BoxboxI=BoxxrrcatcHMizontaIBox。:横放boxBoxbox2=Box.crcatcHorizontalB<)x();Boxbox3=Box.ca(eHorizon(alBox();Boxbox4=BoxxrcalelIorizonlalBx():Boxbox5=Box.crcatcH«rizontalBox();box1.add(newJ1.abelC'课号J1.abdCENTER);boxl,add(课号Xbox2,add(newJ1.abCIC课名:J1.abe1.CENTER)Xbox2add(课名);box4.add(一除);box5.add(newJ1.abele课号:J1.abe1.CENTER)Xbox5.add(课号1):box5add(查找火BoxboxH-BoxcrcatcVcrtic川Bcx(»/塔放boxboxH.a<ld(boxl);boxll.add(bx2):boxH.add(box3);boxH.add(box4);boxH.a<ld(Box.createVeticdGle();甜除.addAction1.istcncrfthis);杳找.addAcliCn1.g(CnCruhk);JPane)picPanel=newJPanelO:JPanclmessPancl=ncwJPancl();mcssPancl.juid(box5);picPanel.add(boxH);Sel1.ayouKnewBorder1.ayouK):JSpIitPancsplitV=ncwJSplitPa(JSpIiiPanc.VERTICA1.SPI.ITmcsspanchpicPancI)Jadd(splitV.Border1.ayout.CENTER);Yandate0:Ipublics,oidac(ionPerforned(AciionEveine)Objectbj=c.gelSurce():JPancImcssPancl=ncwJPaneK);ncssPancl.add(box5);icPanel.add<boxH);Sel1.ayouUnewBonkr1.ayouK»:JSplitPancsplitV=ncwJSplitPanc(JSplitPanc.VER,ICA1.,SP1.mcssPancl.picPanc!>:/分割add(splitV.BonJer1.ayou(.CENTER);validale():Ipublics,oidac(ionPerforned(AciionEveine)ObjectUbj=UgCtSoUrCd):Statementstmt=null:RcsuItSctrs=nukrsl=null;StringSqI=Iwn闽11=null;if(obj=三g找)if(课号1.gaTCXtO.CqualsCfI学号1.gClTCx().CqUako)JOPliOnPanc.showMcssagcDiawhiSJ请填写完成杳闻的信息!”);elsesqll=,sclcct4fromSCwhereCnO="+探号1.gctTbKtO+"'andSno=学号l.gctlcM()÷-;<0,<ConnectiondbConn1=CONN():stm(-(Statcmcnt)dbConnl.crcaieStalcmenURcsukSc(.TYPE_SCROI.IINSENSITIVE,RcsultSe.CONCUR,READ,ON1.Y);rs1=slnu.ex<xuleQuery(sql1);if(11il.ncxt()it.SctTcxKrs1.getString(',CnoM).trim():学号s以1xKrsl.gctStringCSno'*).trim();成果e11xKrS1.aStringCC).trim();SaVeC=课号l.ge(Text(>.trim():SaVCS=学号1.gCtTCXt().trim();Ielse(JOionPane.showMeSSageDiak>g(h"没有这个课号的学生”);)simt.closc();rsl.closc();Icatch(SQ1.Excq)(ioncl)Sys(em.out.print(*SQ1.Exceptionoccur.Messageis:M+eI.getMessage():elseif(obj=,Wj除)(if(savcC=nul|saveS=null)JOptionPane.$howMessageDialog(this,M还没查找须要修改的学生,课程”):CISCsql="dclccfromSCwhereCnO=_+savcC+”andSnO="'+SavcS+"'"tryConnectiondbConnl=CONN(>:stmt-(Satcmcnt)dbConnI.crcatcS!a(emenURcsul(Sc(.TYPE_SCR01.1._lNSENSITIVEtRcsultSe<.CONCUR,READ.ON1.Y);stml.execuleUpdate(sql):savcC=null;SaVCS=nW;JOPIiOAPaneMowMessageDiaIogahi父删除完成");课号se11xt);学号sc11xtC);成果se11xtCm);s(mt.close();)calch(SQ1.Exccplionel|Systcm.out.printCSQ1.Exception<cur.Mcssagcisz"+c1.gctMcssagc();I)JU连接数据库方法publicstaticConnectionCONN()StringdrivcrNamc=*,com.microsoft.sqlscrxcr.jdbc.SQI.ScnerDrivcrw;加较JDBC疆动StnngdbUR1.="jdbc:sqlserver:/localhosl:1433:DatabaseNaine=Sludcnl":连接服务器和数据库testStringUscrNamc=wsaw;默认用户名StringUSerpWd=MhuangjiweiM;密码ConnectiondbCxn=null:try<Class.forName(driverNajne);dbConn=DriverManager.getC<>nnccli>n(dbUR1.UserNainc.uscrPwd);Systcm.out.printlnCConncctionSuccessful!");假如连接胜利限制分尬出ConnectionSuccessful!catch(Exceptione)UPrinlSlaCkTnKx(>:rcumdhConn;clscif(obj=删除Hif(SaVC=二IWH)JoplicnPjncshowMCggCDmlog(IhiSJ还没查找须要修改的学生):else(sql=,delcfromSwhereSno=,+save+:SqISC="deletefromSCwhereSno='"+savc+*M;<ryConnectiondbConnl=CONNt):SIml=(SUHenWnDdbCOnn1.CrslCSIaIeillCnMReSUIlSC1.TYPE_SCRO1.1.NSENSrnVE.Rcsull3sCONCUR_READON1.Y:stmt.cxccutcUpdatc(sql);stn(.executeUpda(e(sqlSC);SaVC=null:JOptionPanc.showMcssagcDialog(this."JHP完成“):学号SC11txU");姓名se11xtC);系别se11fex:3ml.cIOSC();catch(SQ1.Exce<ionel)(System.out.print("SQ1.Exceptioncxxur.Messageis:M+e1.gelMessage();)连接数据库方法publicstaticConnectionC0NN()StringdrivcrNamc="com.microsoft.sqlscnrer.jdbc.SQ1.ScncrDrivcrM;加故JDBC哒动StringdbURI.=Mjdbc:sqlscrvcr:/localhost:1433;DaiabascNamc-stucicm"连接服务器和数据库IeSISiringUserNanic="W:默认用户名StringuscrPwd=huangjiwci*;密码ConnectiondbConn-null;IIylClass.ibrNamc(drivcrNamc):dbConn=DrivcrManagcr.gctConncction(dbUR1.uM:rName,uscrPwd);Systeniou1.priiHlnCConneciionSuccessful!*);假如连接胜利限制台输出ConnectionSuccessful!)catch(Exceptionc)c.prin<StackTracc();returndbConn:组合菜单a(MMcnul();ad<IMenu2();ZKkIMenu3():addMenu4();addJMenuBar();SeUMenUBaf(mb);Iabd=IKWJ1.abde选课管理系线"J1.abC1.CENTER):IabC1.SetFOmseWFon1(“宋体:Fom.BO1.D,36);label.setHoiizon(alTextPosition(SvingCon$tan(s.CENTER);kibel.selForeground(Cok>r.red>:点击事务S(MI.3(klAclion1.iMcncr(this);Upda1.addAC1沁n1.isiene(Ihi$);delete1.addAclion1.islenertthis);m5.addAction1.istcncr(this):acW2.addActionlJscncr(this);delete2.a<Wc(ion1.is(ener(this);updata2.addAc(ion1.istenertlhis):add3.addAction1.istcncr(this>dcletc3.addActionl.istcncr(this);UlxiaIa3.addAciion1.iueneHlhis);学生选WuKldAction1.isuenertthis);CardHnCWCard1.ayauU);PCenler=newJPaneh):Cenler.sc(1.ayout(ca11l);增加学生界面=ncwAddstu();修学生界面=newUpdaas(u();删除学生界面=newDdsiuO;增加课程界面=ncwAddC();删除课程界面=newDcICO;修用课程界面;newUpdateCO;地加选课界面=newAddSCO:删除选课界面=newDclSC():修改选课界面HnCWUpdatcSCO;学生咨询界面=ne钟SeIsiuO;PCCmer.Md欢迎界Sj-JabdXPCCm”3dd(”增加学生界面二增加学生界面):PCemerMd("修改学生界面”.佟改学生界面);PCCnIEHkr刷除学生界面”.明除学生界面):publicvoidaclionPcrformcd(ActionEvcntc)Objectobj=e,ge<Source();if(om5)System.exil(O):)clsciftobj=addl)(card.show(pCcntcrit加学生界面”);)e)seif(>bj=updalal)CardshOw(PeCnlCr.”修改学生界面”):Ielseif(obj=deletel)Wd.sh。W(PCCnIer.,圳除学生界面):Iclsciftobj=add2)(cardshow(pCeHer,加加课程界面');Idsciftobj=dclctc2)CardshOW(PCeiHCr,删除课程界面.);)elseiftbj=updata2)card.show(pCcnter.*fi!,界面,):Ielseiftobj=add3)(Card.sh。W(PCcnE增加选课界面):Iclsciftobj=dclctc3)CardshQW(PCener,训除选课Wifiw);Iclsciftobj=updata3)jSrdMoW(PCCnI”,修改选课界面ICISeif(ubj=学生查询”card.show(pCcnter.界而,):11IH)IH)11publicslaticvoidmain(String!|打即)(newMcnu();ScICjava:importjiva.sql.*;publicstaticCrHincctionCONN()(Siring(IrivcrNamc="com.microsoft.sqKencr.jdbc.SQI-ScrvcrDrivcr,'"加我JDBC驱动StringdbUR1.=Mjdbc:sqlserver:/localhosi:1433:DaabaseName=siude11(*;连接服务器和数据库lestStringUscrNanic=MsaM:默认用户名SiringUSCrpWd="huangjiwci"密码ConnectiondbConn=null;tryClass.fbrNamc(drivcrNamc);dbConn=DriVerManagerEelcOnneCIiOmdbUR1.,userNan.userPvd);System.out.prinlln(ConncclionSuccessful!*);假如连接胜利限制行输出ConnccliunSuccessful!Jcatch(Exceptionc)e.pri11StackTrace();)returndbConn:ScISCjava:importjava.sql.;importjavaxwing.*;importjava.util.*;publicclassScISCextendsJFrameVectorrowDaia,ColuinnNames;SIdlements(mt=null;Stringsql=null:JTabIcjt=null;JSCrOHPanejSP=mill;PreparudSlatenKntps=null;RcsultSctrs=null:publicSclSC(Stringsqll)CoIumnNames=newVecoK);/设置列名COIUmnNancs.add("课号");columnNames.add(ni果名”);COlUmnNames.add("学9"):81UnInNamesadd(H姓名)catch(Exceptionc)c.prinStackTracc();rvlumdbConn:Selstujava:inx)11java.aw.;importjava.awi.event.:importjava.sql.;importjavaxwing.*;publicclassSelstuextendsJPaneIim)leemsAc(ion1.is(ener(JTCHFiCId;F.姓名.系别;JButton查找:JTcxtFieId课号,课名;JBulton杏找I;JTeMFicId深号I.学号1.成果:JButton查找2;publicSelsiu0|学号=newJTextFieId(Il);<=newJTcxtHddd2):系J=ncwJTextFicld(12);课号:newJTextField(IZ);课名=new11xtHeld(12);课号l=newJIextHcId(Il):学号I=ncwJlcxtFiddd2);成果=newJTeXIFiekl(12);查找=newJBimOn(喧找学生信联):查找knewJBulton查找课程信息”):查找2三newJBUgnC查找选课信息)Boxboxl=Bcx.crc;IlCHoriZontaIBox();横放boxBoxbox2=Box.crcatcHorizontalBox();Boxbox4=Box.cre<<eHorizo11alBox();Boxbox5=Box.createHorizontalBox():Boxbox6=Box.crcatcHorizontalBoxO;Boxbox7=Box.crcatcHori7on(aIBox();box1.addmeWJ1.abel(“学JUbe1.CENTER);boxl.add(学号XandSC.Snolike%”+学号1.gctIcxt()+*%'andC.Cno=SC.CnoandS.Sno-SC.Sno,Systcm.ou.print(*,l10*);else(sql=wselectSC.Cno.Cname.SC.So.Snan>e.CfromSeeSwhereSC.Cr>Iikc%”+课号1.getlexK)+<%'andSC.SnoIike'%”+学号1.gellexK>+m%,andCIikC%"+成果.g"Rrxt()+%'andC.Cno=SC.CnoandS.Sno=SC.Sno,Systcm.out.print(,l11,*):|)1K2=newSelSC(s<X)/连接数据库方法publicstaticConnectionCONN()StringdriverNane=,com.microsoft.sqlserver.jdbc.SQ1.ServerDriver*;加软JDBC然动StringdbUR1.="jdbc:sqlscrver:/localhost:1433;DatabascNamc=studcnt'':连接眼务涔和数州昨IEStringIiserName=*saw;默认用户名SlnngUscrPwd=MhuangjiweiM:密码Ccmnccliondb(onn=null:tryClass.fbrNane(driverNa11?):dbConn=DrivcrManagcr.gctConncction(dbUR1.uscrNamc.IJSCrPWd):Systcm.out.println(*ConnectionSuccessful!");"假如连接胜利限制台输出ConnectionSuccessful!catch(Exceptione)c.printStack,racc();returndbConn;Studentjava:importjava.sql.;importjavaxwing.*;inX)rtjava.util.*;publicclassStudentsextendsJEramcVectorrowData,CoIumnN