教室管理系統(tǒng)的源代碼1_第1頁
教室管理系統(tǒng)的源代碼1_第2頁
教室管理系統(tǒng)的源代碼1_第3頁
教室管理系統(tǒng)的源代碼1_第4頁
教室管理系統(tǒng)的源代碼1_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1.創(chuàng)建數(shù)據(jù)庫create datebase classmanager;create table classinfo(教室編號(hào) varchar(10) primary key,教室設(shè)備 varchar(100) not null,教室容納人數(shù) int not null,教室管理員編號(hào) varchar(10) not null);create table teacherinfo(教師編號(hào) varchar(10) primary key,教師姓名varchar(20) not null,教授課程varchar(50),教師職稱 varchar(20) not null);create table

2、classroominfo(教室編號(hào) varchar(10),上課開始時(shí)間 datetime not null,結(jié)束時(shí)間 datetime not null,教師編號(hào) varchar(10),foreign key (教室編號(hào)) references classinfo(教室編號(hào)), foreign key (教師編號(hào)) references teacherinfo(教師編號(hào));create table manager(username varchar(10) not null,userpsw varchar(10) not null);向其中插入數(shù)據(jù)。insert classinfovalu

3、es('4101','投影儀','40','01')insert classinfovalues('4102','電腦','50','02')insert teacherinfovalues('0a','李萍','計(jì)算機(jī)系統(tǒng)分','講師')insert teacherinfovalues('0b','李明','c語言','教授')insert

4、 classroominfovalues('4101','8:00','10:00','0a')insert classroominfovalues('4102','10:00','12:00','0b')insert managervalues('jack','20120521')2.創(chuàng)建登錄界面package dev.chall.otherinterface;import java.awt.cursor;import java.aw

5、t.flowlayout;import java.awt.frame;import java.awt.gridlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.windowevent;import java.sql.connection;import java.sql.drivermanager;import java.sql.preparedstatement;import java.sql.resultset;import java.sql.

6、sqlexception;import javax.swing.jbutton;import javax.swing.jdialog;import javax.swing.jlabel;import javax.swing.jpanel;import javax.swing.jpasswordfield;import javax.swing.jtextfield;public class login extends jdialog implements actionlistenerprivate jlabel name;private jlabel psw;private jtextfield

7、 namev;private jpasswordfield pswv;private jbutton login,quit;private jpanel top;private jpanel center;private jpanel bottom;private jlabel prompt;public static string loginname;public login(frame owner, string title, boolean modal) super(owner, title, modal);init();private void init()name=new jlabe

8、l("登錄名:");namev=new jtextfield(10);top=new jpanel();top.add(name);top.add(namev);this.add(top);psw=new jlabel("密 碼:");pswv=new jpasswordfield(10);center=new jpanel();center.add(psw);center.add(pswv);this.add(center);login=new jbutton();login.settext("登錄");login.setactio

9、ncommand("login");login.addactionlistener(this);quit=new jbutton("退出");quit.setactioncommand("quit");quit.addactionlistener(this);bottom=new jpanel();bottom.add(login);bottom.add(quit);this.add(bottom);prompt=new jlabel();this.add(prompt);this.setlayout(new gridlayout(4

10、, 1);this.setlocation(550, 230);this.setsize(200,200);this.setvisible(true);overridepublic void actionperformed(actionevent arg0) if(arg0.getactioncommand()="login")string name=namev.gettext();string psw=pswv.gettext();if(name.length()<=0|psw.length()<=0)prompt.settext("提示:用戶名或密

11、碼為空!");return;if(checkcount(name,psw)this.dispose();elseprompt.settext("提示:用戶名或密碼錯(cuò)誤!");return;else if(arg0.getactioncommand()="quit")system.exit(0);private boolean checkcount(string name,string psw)connection connection=null;preparedstatement ps=null;resultset rs=null;try /加

12、載驅(qū)動(dòng)class.forname("sun.jdbc.odbc.jdbcodbcdriver");/得到連接connection=drivermanager.getconnection("jdbc:odbc:classmanager", "sa", "songchao");/創(chuàng)建訪問數(shù)據(jù)庫接口ps=connection.preparestatement("select * from manager");rs=ps.executequery();while(rs.next()string name

13、t=rs.getstring(1);string pswt=rs.getstring(2);system.out.println(namet+"<>"+pswt+"-"+name+"<>"+psw+"-");if(namet.equals(name)&&pswt.equals(psw)loginname=namet;return true;system.out.println("false"); catch (exception e) e.printsta

14、cktrace();finallytry rs.close();ps.close();connection.close(); catch (sqlexception e) e.printstacktrace();return false;overrideprotected void processwindowevent(windowevent arg0) cesswindowevent(arg0);if(arg0.getid()=windowevent.window_closing)system.exit(0);3.實(shí)現(xiàn)主界面,實(shí)現(xiàn)各按鈕的作用package dev.chal

15、l.main;import java.awt.borderlayout;import java.awt.flowlayout;import java.awt.font;import java.awt.gridlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.itemevent;import java.awt.event.itemlistener;import java.awt.event.windowevent;import java.util.

16、iterator;import java.util.vector;import javax.swing.jbutton;import javax.swing.jcombobox;import javax.swing.jdialog;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.jpanel;import javax.swing.jscrollbar;import javax.swing.jscrollpane;import javax.swing.jtable;import javax.swing.

17、jtextfield; import dev.chall.otherinterface.delete;import dev.chall.otherinterface.insert;import dev.chall.otherinterface.update;import dev.chall.otherinterface.login;import dev.chall.otherinterface.reminddialog;import dev.chall.util.mytablemodel;public class controlinterface extends jframe implemen

18、ts actionlistener/登錄界面login login;/主控制界面private jpanel topbar,rightbar;/topbarprivate jlabel username;private jbuttonquit;/rightbarprivate jpanel operationp,buttonp,searchp;private jlabel operationt,search;private jcombobox operation;private jbutton searchb,alert,insert,delete;private jtextfieldsear

19、cht;/搜索字樣 /centerbarprivatejscrollpane scroll;privatejtable content;private mytablemodel model;private string list=new string"教師信息","教室信息","教室使用情況","教室具體使用情況"private jlabel remind;public static void main(string args)new controlinterface();public controlinterfa

20、ce()/登錄界面 -login=new login(this, "登錄",true);/登陸界面回來之后/topbartopbar=new jpanel();username=new jlabel();username.settext(login.loginname);username.setfont(new font("隸書",1,25);/字體,1代表樣式,字號(hào)username.setlocation(this.getwidth()/2-username.getwidth()/2, username.getheight()/3);topbar.ad

21、d(username,borderlayout.center);quit=new jbutton("退出");quit.setactioncommand("quit");quit.addactionlistener(this);quit.setlocation(int) (this.getwidth()-quit.getwidth()*1.5),username.getheight()/3);topbar.add(quit,borderlayout.east);this.add(topbar,borderlayout.north);/rightbarri

22、ghtbar=new jpanel();rightbar.setlayout(new gridlayout(4,1);this.add(rightbar,borderlayout.east);operationp=new jpanel();operationp.setlayout(new flowlayout();operationt=new jlabel("選擇表:");operation=new jcombobox(list);operation.additemlistener(new itemlistener()overridepublic void itemstat

23、echanged(itemevent arg0) searcht.settext("請輸入"+ operation.getselecteditem().tostring().substring(0,2)+ "編號(hào)");model=new mytablemodel(operation.getselecteditem().tostring();content.setmodel(model);) ;operationp.add(operationt);operationp.add(operation);buttonp=new jpanel();buttonp.

24、setlayout(new gridlayout(3,1);alert=new jbutton("修改");alert.addactionlistener(this);alert.setactioncommand("alert");insert=new jbutton("增加");insert.addactionlistener(this);insert.setactioncommand("insert");delete=new jbutton("刪除");delete.addactionlis

25、tener(this);delete.setactioncommand("delete");buttonp.add(alert);buttonp.add(insert);buttonp.add(delete);operationp.add(buttonp);rightbar.add(operationp);search=new jlabel("關(guān)鍵字:");searcht=new jtextfield(10);searcht.settext("請輸入"+operation.getselecteditem().tostring().su

26、bstring(0,2)+"編號(hào)");searchb=new jbutton("搜索");searchb.addactionlistener(this);searchb.setactioncommand("search");searchp=new jpanel();searchp.setlayout(new flowlayout();searchp.add(search);searchp.add(searcht);searchp.add(searchb);rightbar.add(searchp);remind=new jlabel(

27、);rightbar.add(remind);/centerbarmodel=new mytablemodel(operation.getselecteditem().tostring();content=new jtable(model);scroll=new jscrollpane(content);this.add(scroll,borderlayout.center);this.settitle("教室管理系統(tǒng)");this.setresizable(false);this.setlocation(180,60);this.setsize(1000, 600);th

28、is.setvisible(true);this.setdefaultcloseoperation(jframe.exit_on_close);overridepublic void actionperformed(actionevent arg0) if(arg0.getactioncommand()="quit")system.exit(0);if(arg0.getactioncommand()="search")search2uniontable();return;if(string)operation.getselecteditem()=&quo

29、t;教室具體使用情況")new reminddialog(this, "提示",true,0);return;if(arg0.getactioncommand()="insert")new insert(this,"增加新數(shù)據(jù)",true,operation.getselecteditem().tostring();model=new mytablemodel(operation.getselecteditem().tostring();content.setmodel(model);return;if(content.ge

30、tselectedrow()=-1)new reminddialog(this, "提示",true,1);return;if(arg0.getactioncommand()="alert")vector v=(vector)mytablemodel.rowdata.get(content.getselectedrow();new update(this,"修改",true,operation.getselecteditem().tostring(),v);model=new mytablemodel(operation.getsel

31、ecteditem().tostring();content.setmodel(model);return;if(arg0.getactioncommand()="delete")vector v=(vector) mytablemodel.rowdata.get(content.getselectedrow();new delete(this,"刪除",true,v,operation.getselecteditem().tostring();model=new mytablemodel(operation.getselecteditem().tost

32、ring();content.setmodel(model);return;private void search2uniontable()vector v=mytablemodel.select(operation.getselecteditem().tostring();vector rowdata=new vector();iterator iterator=v.iterator();string rnum=searcht.gettext().tostring().trim();while(iterator.hasnext()vector tem=(vector)iterator.nex

33、t();if(string)tem.get(0).equals(rnum)rowdata.add(tem);if(rowdata.size()=0)remind.settext("-無該教室信息-");return;elseremind.settext("");mytablemodel my=new mytablemodel(rowdata,mytablemodel.columnnames);content.setmodel(my);4.向主界面中加載數(shù)據(jù)package dev.chall.util;import java.sql.connection;

34、import java.sql.drivermanager;import java.sql.preparedstatement;import java.sql.resultset;import java.sql.sqlexception;import java.util.vector;import javax.swing.table.abstracttablemodel;public class mytablemodel extends abstracttablemodelpublic static vector rowdata;public static vector columnnames

35、;public mytablemodel(string value) select(value);public mytablemodel(vector rowdata,vector columnnames) this.rowdata=rowdata;this.columnnames=columnnames;public static vector select(string value)rowdata=new vector();columnnames=new vector();connection connection=null;preparedstatement ps=null;result

36、set rs=null;string sql = null;if(value="教師信息")columnnames.add("教師編號(hào)");columnnames.add("教師姓名");columnnames.add("教授課程");columnnames.add("教師職稱");sql="select * from teacherinfo"else if(value="教室信息")columnnames.add("教室編號(hào)");co

37、lumnnames.add("教室設(shè)備");columnnames.add("教室容納人數(shù)");columnnames.add("教室管理員編號(hào)");sql="select * from classinfo"else if(value="教室使用情況")columnnames.add("教室編號(hào)");columnnames.add("上課開始時(shí)間");columnnames.add("結(jié)束時(shí)間");columnnames.add(&qu

38、ot;教師編號(hào)");sql="select 教室編號(hào), convert(varchar(20),上課開始時(shí)間,111),convert(varchar(20),上課開始時(shí)間,108),convert(varchar(20),結(jié)束時(shí)間,111) ,convert(varchar(20),結(jié)束時(shí)間,108), 教師編號(hào) from classroominfo"else if(value="教室具體使用情況")columnnames.add("教室編號(hào)");columnnames.add("教師編號(hào)");colu

39、mnnames.add("教師姓名");columnnames.add("教授課程");columnnames.add("上課開始時(shí)間"); columnnames.add("結(jié)束時(shí)間");columnnames.add("教師職稱");columnnames.add("教室設(shè)備");columnnames.add("教室容納人數(shù)");columnnames.add("教室管理員編號(hào)");sql="select classin

40、fo.教室編號(hào),teacherinfo.教師編號(hào),teacherinfo.教師姓名,teacherinfo.教授課程, convert(varchar(20),classroominfo.上課開始時(shí)間,111),convert(varchar(20),classroominfo.上課開始時(shí)間,108),convert(varchar(20),classroominfo.結(jié)束時(shí)間,111) ,convert(varchar(20),classroominfo.結(jié)束時(shí)間,108) ,teacherinfo.教師職稱,classinfo.教室設(shè)備,classinfo.教室容納人數(shù),classinfo

41、.教室管理員編號(hào) from classroominfo,teacherinfo,classinfo where classinfo.教室編號(hào)= classroominfo.教室編號(hào) and teacherinfo.教師編號(hào)=classroominfo.教師編號(hào)"try /加載驅(qū)動(dòng)class.forname("sun.jdbc.odbc.jdbcodbcdriver");/得到連接 connection=drivermanager.getconnection("jdbc:odbc:classmanager", "sa", &q

42、uot;songchao");/創(chuàng)建訪問數(shù)據(jù)庫接口ps=connection.preparestatement(sql);rs=ps.executequery();if(value="教師信息")while(rs.next()vector tem=new vector();tem.add(rs.getstring(1);tem.add(rs.getstring(2);tem.add(rs.getstring(3);tem.add(rs.getstring(4);rowdata.add(tem);else if(value="教室信息")whil

43、e(rs.next()vector tem=new vector();tem.add(rs.getstring(1);tem.add(rs.getstring(2);tem.add(rs.getint(3);tem.add(rs.getstring(4);rowdata.add(tem);else if(value="教室使用情況")while(rs.next()vector tem=new vector();tem.add(rs.getstring(1);tem.add(rs.getstring(2)+"/"+rs.getstring(3);tem.a

44、dd(rs.getstring(4)+"/"+rs.getstring(5);tem.add(rs.getstring(6);rowdata.add(tem);else if(value="教室具體使用情況")while(rs.next()vector tem=new vector();tem.add(rs.getstring(1);tem.add(rs.getstring(2);tem.add(rs.getstring(3);tem.add(rs.getstring(4);tem.add(rs.getstring(5)+"/"+rs

45、.getstring(6);tem.add(rs.getstring(7)+"/"+rs.getstring(8);tem.add(rs.getstring(9);tem.add(rs.getstring(10);tem.add(rs.getint(11);tem.add(rs.getstring(12);rowdata.add(tem); catch (exception e) e.printstacktrace();finallytry rs.close();ps.close();connection.close(); catch (sqlexception e) e.

46、printstacktrace();return rowdata;overridepublic string getcolumnname(int arg0) return (string) columnnames.get(arg0);overridepublic int getcolumncount() return columnnames.size();overridepublic int getrowcount() return rowdata.size();override public object getvalueat(int rowindex, int columnindex) r

47、eturn (vector)rowdata.get(rowindex).get(columnindex);5.實(shí)現(xiàn)主界面中修改按鈕功能package dev.chall.otherinterface;import java.awt.color;import java.awt.flowlayout;import java.awt.frame;import java.awt.gridlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.sql.connection;impo

48、rt java.sql.drivermanager;import java.sql.preparedstatement;import java.sql.resultset;import java.sql.sqlexception;import java.util.arraylist;import java.util.vector;import javax.swing.jbutton;import javax.swing.jcombobox;import javax.swing.jdialog;import javax.swing.jlabel;import javax.swing.jpanel

49、;import javax.swing.jtextfield;import dev.chall.util.mytablemodel;public class update extends jdialogprivate jlabel warn=new jlabel();/提示文本private jbutton sure=new jbutton("-確定-");private jbutton cancle=new jbutton("-取消-");private string sql;final jtextfield t51=new jtextfield(15

50、);final jtextfield t52=new jtextfield(15);final jtextfield t53=new jtextfield(15);final jtextfield t54=new jtextfield(15);public update(frame owner, string title, boolean modal,string name,final vector v) super(owner, title, modal);warn.setbounds(0, 0, 300, 50);t51.settext(v.get(0).tostring();t51.se

51、teditable(false);t52.settext(v.get(1).tostring();t53.settext(v.get(2).tostring();t54.settext(v.get(3).tostring();if(name="教師信息")jlabel t1=new jlabel("教師編號(hào):");jlabel t2=new jlabel("教師姓名:");jlabel t3=new jlabel("教授課程:");jlabel t4=new jlabel("教師職稱:");su

52、re.addactionlistener(new actionlistener()overridepublic void actionperformed(actionevent e) string tnum=t51.gettext();string tname=t52.gettext().trim();string tcourse=t53.gettext().trim();string ttitle=t54.gettext().trim();if(tnum.length()<=0|tname.length()<=0|tcourse.length()<=0|ttitle.len

53、gth()<=0)warn.settext("-信息不全-");return;sql="update teacherinfo set 教師姓名='"+tname+"',教授課程 ='"+tcourse+"',教師職稱='"+ttitle+"' where 教師編號(hào) = '"+tnum+"'"update2table(sql);update.this.dispose(););cancle.addactionl

54、istener(new actionlistener()overridepublic void actionperformed(actionevent e) update.this.dispose(););this.add(t1);this.add(t51);this.add(t2);this.add(t52);this.add(t3);this.add(t53);this.add(t4);this.add(t54);this.add(sure);this.add(cancle);this.add(warn);this.setlayout(new flowlayout();this.setsize(250,300);this.setlocation(550, 100);this.setresizable(false);this.setvisible(true);this.setdefaultcloseoperation(dispose_on_close);else if(name="教室信息")jlabel t1=new jlabel(" 教 室 編 號(hào):");jlabel t2=new jlab

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論