數(shù)據(jù)庫課程設(shè)計-學(xué)生成績查詢系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
數(shù)據(jù)庫課程設(shè)計-學(xué)生成績查詢系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
數(shù)據(jù)庫課程設(shè)計-學(xué)生成績查詢系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
數(shù)據(jù)庫課程設(shè)計-學(xué)生成績查詢系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
數(shù)據(jù)庫課程設(shè)計-學(xué)生成績查詢系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《數(shù)據(jù)庫原理》課程設(shè)計題目:學(xué)生成績查詢系統(tǒng)的設(shè)計與實現(xiàn)學(xué)年學(xué)期:2016年第一學(xué)期班級:計算機科學(xué)與技術(shù)14-1班學(xué)號:姓名:指導(dǎo)教師:完成時間:2016年11月5日目錄TOC\o"1-2"\h\u一、引言 一、引言21世紀(jì)以來,人類經(jīng)濟高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計算機的應(yīng)用及普及到經(jīng)濟和社會生活的各個領(lǐng)域?;旧纤械木哂幸欢〝?shù)量數(shù)據(jù)的的機構(gòu)都開始使用數(shù)據(jù)庫來做管理。幾乎所有學(xué)校也都是用計算機管理數(shù)據(jù)的機制,大大減少了學(xué)校學(xué)生成績管理的工作量。二、概述2.1設(shè)計目的與任務(wù)該課程設(shè)計要求設(shè)計一個學(xué)生成績的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫中要求包含學(xué)生的基本信息,學(xué)科基本信息,以及學(xué)生所學(xué)課程的考試成績。要方便學(xué)生進(jìn)行成績查詢,通過該課程設(shè)計,應(yīng)該達(dá)到把數(shù)據(jù)庫理論知識更加的鞏固加深,加強動手能力與實踐能力,學(xué)以致用,與現(xiàn)實生活中的應(yīng)用充分結(jié)合起來。小組成員:吳昊昕、儲潔、王佳樂個人任務(wù):邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計方面的內(nèi)容,同時還有論文的編寫。2.2設(shè)計環(huán)境(1)MicrosoftSQLServer2005(2)Eclipse三、需求分析3.1系統(tǒng)功能要求設(shè)計(1)根據(jù)查詢條件實現(xiàn)學(xué)生信息的查詢

(2)學(xué)生選課信息查詢、成績信息的查詢

(3)學(xué)生信息、課程信息、成績信息的增加、刪除、修改

(4)學(xué)生成績錄入:用于學(xué)生成績管理,錄入學(xué)生成績,也可以更新

3.2系統(tǒng)性能需求分析

(1)用戶界面需求:簡潔、易懂、易用、友好的用戶界面(2)安全保密性需求:只有憑借用戶名和密碼登陸系統(tǒng),才能進(jìn)行信息的管理等四、概念結(jié)構(gòu)設(shè)計4.1系統(tǒng)功能模塊設(shè)計成績查詢系統(tǒng)大體可以分為兩大模塊,一是學(xué)生的基本信息模塊,里面應(yīng)該包括學(xué)生的各方面信息;再者便是成績基本信息模塊,其中應(yīng)該包括學(xué)生的各科成績等等??梢缘玫较到y(tǒng)流程圖:圖4.1系統(tǒng)界面模塊4.2系統(tǒng)E-R圖由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計的實體包括:(1)學(xué)生基本信息:姓名、性別、學(xué)號、專業(yè)、出生日期(2)成績基本信息:學(xué)號、數(shù)學(xué)、英語、專業(yè)課成績由上述分析可得到系統(tǒng)的E-R圖如下:圖4.2總體E-R圖五、邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念模型設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)化為與選用的具體機器上的DBSM產(chǎn)品所支持的數(shù)據(jù)庫模型相符合的邏輯結(jié)構(gòu),現(xiàn)在選用關(guān)系模型,E-R圖轉(zhuǎn)換如下:學(xué)生信息(學(xué)號、姓名、性別、專業(yè)、出生日期)成績信息(學(xué)號、數(shù)學(xué)成績、英語成績、專業(yè)課成績)六、物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計的任務(wù)就是根據(jù)具體計算機系統(tǒng)的特點,給給定的數(shù)據(jù)庫系統(tǒng)確定合理的存儲結(jié)構(gòu)和存取方法。6.1創(chuàng)建學(xué)生基本信息表CREATETABLEStudent(Student_snointprimarykey,Student_snamevarchar(10)notnull,Student_sexnchar(5),Student_datedate,Student_magorvarchar(20));圖6.1學(xué)生信息表創(chuàng)建圖6.2創(chuàng)建學(xué)生成績信息表CREATETABLEScore(Student_snointprimarykey,Course_mathfloat,Course_englishfloat,Course_professionalfloat));圖6.2成績信息表創(chuàng)建圖七、數(shù)據(jù)庫的實施與維護(hù)7.1數(shù)據(jù)庫的實施數(shù)據(jù)查詢*按照專業(yè)查詢學(xué)生信息圖7.1按專業(yè)查詢學(xué)生信息操作圖*按照專業(yè)查詢學(xué)生成績圖7.2按專業(yè)查詢學(xué)生成績操作圖2.數(shù)據(jù)添加*添加學(xué)號為1060314014001的學(xué)生的基本信息圖7.3添加學(xué)生信息操作圖*添加學(xué)號為1060314014001的學(xué)生的成績信息圖7.4添加學(xué)生成績操作圖數(shù)據(jù)刪除*刪除學(xué)號為1060314014001的學(xué)生的基本信息圖7.5刪除學(xué)生信息操作圖*刪除學(xué)號為1060314014001的學(xué)生的成績信息圖7.6刪除學(xué)生成績操作圖數(shù)據(jù)修改*修改學(xué)號為1060314014001學(xué)生的基本信息圖7.7修改學(xué)生信息操作圖*修改序號為1060314014003學(xué)生的成績信息圖7.8修改學(xué)生成績操作圖7.2數(shù)據(jù)庫的維護(hù)當(dāng)試運行數(shù)據(jù)庫合格后,數(shù)據(jù)庫開發(fā)設(shè)計的工作就基本完成了,接下來就是正式運行中的調(diào)試,因為該系統(tǒng)比較簡單,數(shù)據(jù)量小,數(shù)據(jù)庫中幾乎不會發(fā)生什么大的變化,但還是需要做好數(shù)據(jù)的備份,在SQLServer我們可以利用備份數(shù)據(jù)庫的功能對已經(jīng)設(shè)計好的數(shù)據(jù)做備份,如果數(shù)據(jù)庫受到破壞或系統(tǒng)故障備份文件恢復(fù)數(shù)據(jù)庫的數(shù)據(jù)。當(dāng)然也可以利用其他方法進(jìn)行數(shù)據(jù)維護(hù)。八、總結(jié)本次數(shù)據(jù)庫課程設(shè)計收獲很大,當(dāng)然也花了好多的心思和時間。首先,我們?yōu)閳F隊合作,共同完成了這個項目。而完成項目的前提在于合理分工,合理的分工能讓項目完成的更快更好,合作更加的愉快。在本次課程設(shè)計的過程中,我主要負(fù)責(zé)邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計方面的內(nèi)容,同時還有論文的編寫。數(shù)據(jù)庫邏輯結(jié)構(gòu)的任務(wù)就是將概念模型設(shè)計階段設(shè)計好的基本E-R圖選用關(guān)系模型后進(jìn)行轉(zhuǎn)換,而物理結(jié)構(gòu)設(shè)計的任務(wù)就是根據(jù)計算機系統(tǒng)的特點,給給定的數(shù)據(jù)庫系統(tǒng)確定合理的存儲結(jié)構(gòu)和存取方法,在此結(jié)構(gòu)設(shè)計中,我創(chuàng)建了學(xué)生的基本信息表以及學(xué)生成績信息表,在編寫代碼的過程中也出現(xiàn)了一些問題,在隊友和老師的幫助下最終得到解決。通過此次課程設(shè)計,給了我很多的實踐經(jīng)驗,課程設(shè)計跟平時的理論課程有很大的區(qū)別,課堂上的理論,我們通過項目得到了實際的應(yīng)用。當(dāng)然也發(fā)現(xiàn)了很多自己以前未能發(fā)現(xiàn)的知識上的不知,實踐是檢驗真理的唯一標(biāo)準(zhǔn),也是檢驗自己知識掌握程度的機會,在動手編碼的過程中,我發(fā)現(xiàn)了很多數(shù)據(jù)庫知識上的缺陷,也發(fā)現(xiàn)了自己在編寫程序方面的薄弱之處,但同時野增加了我對數(shù)據(jù)庫的興趣,今后一定努力的學(xué)習(xí),在實踐中增加自己的學(xué)習(xí)樂趣,讓自己更加充實。參考文獻(xiàn)[1]姜代紅,蔣秀蓮.《數(shù)據(jù)庫原理及應(yīng)用實用教程》[M].北京:清華大學(xué)出版社,2010.12[2]劉秋生.《數(shù)據(jù)庫系統(tǒng)設(shè)計及其應(yīng)用案例分析》[M].東南大學(xué)出版社,2005[3]王珊,薩師煊.《數(shù)據(jù)庫系統(tǒng)概論》[M].北京:高等教育出版社,2014.9

[4]吳靖.《數(shù)據(jù)庫原理及應(yīng)用》[M].北京:機械工業(yè)出版社,2014.2[5]岳付強,羅明英,韓德.《SQLServer從實戰(zhàn)到入門》[M].北京:清華大學(xué)出版社,2009.9[6]張莉.《SQLServer數(shù)據(jù)庫原理及應(yīng)用》[M].北京:清華大學(xué)出版社,2009.5[7]錢雪忠,羅海馳,陳國俊.《數(shù)據(jù)庫原理及技術(shù)課程設(shè)計》[M].北京:清華大學(xué)出版社,2014.8附錄//系統(tǒng)主界面package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;classMyPanelextendsJPanel{ privatestaticfinallongserialVersionUID=1L; Imageimg=Toolkit.getDefaultToolkit().getImage("1.jpg");publicvoidpaint(Graphicsg){g.drawImage(img,0,0,this);}}publicclassMainFormextendsJFrameimplementsActionListener{ privatestaticfinallongserialVersionUID=1L; JMenumSystem=newJMenu("系統(tǒng)");JMenuItemmExit=newJMenuItem("退出");JMenumOperate=newJMenu("學(xué)生信息");JMenuItemmAdd=newJMenuItem("添加");JMenuItemmDel=newJMenuItem("刪除");JMenuItemmModify=newJMenuItem("修改");JMenuItemmQuery=newJMenuItem("查詢");JMenucOperate=newJMenu("學(xué)生成績");JMenuItemcAdd=newJMenuItem("添加");JMenuItemcDel=newJMenuItem("刪除");JMenuItemcModify=newJMenuItem("修改");JMenuItemcQuery=newJMenuItem("查詢");JMenumHelp=newJMenu("幫助");JMenuItemmAbout=newJMenuItem("軟件信息");JMenuBarmBar=newJMenuBar();MainForm(){super("學(xué)生成績管理系統(tǒng)");setSize(820,640);mSystem.add(mExit);mOperate.add(mAdd);mOperate.add(mDel);mOperate.add(mModify);mOperate.add(mQuery);cOperate.add(cAdd);cOperate.add(cDel);cOperate.add(cModify);cOperate.add(cQuery);mHelp.add(mAbout);mBar.add(mSystem);mBar.add(mOperate);mBar.add(cOperate);mBar.add(mHelp);setJMenuBar(mBar);mExit.addActionListener(this);mAdd.addActionListener(this);mDel.addActionListener(this);mModify.addActionListener(this);mQuery.addActionListener(this);mAbout.addActionListener(this);cAdd.addActionListener(this);cDel.addActionListener(this);cModify.addActionListener(this);cQuery.addActionListener(this);setContentPane(newMyPanel());setVisible(true);setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){if(ae.getSource()==mExit)System.exit(0);elseif(ae.getSource()==mAbout)JOptionPane.showMessageDialog(this,"學(xué)生成績管理系統(tǒng)\n\n計算機學(xué)院\n\n2016年10月","計科",JOptionPane.INFORMATION_MESSAGE);elseif(ae.getSource()==mAdd)newAddForm().setVisible(true);elseif(ae.getSource()==mDel)newDeleteForm().setVisible(true);elseif(ae.getSource()==mModify)newModifyForm().setVisible(true);elseif(ae.getSource()==mQuery)newQueryForm().setVisible(true);elseif(ae.getSource()==cAdd) newCAddForm().setVisible(true); elseif(ae.getSource()==cDel) newCDeleteForm().setVisible(true);elseif(ae.getSource()==cModify) newCModifyForm().setVisible(true);elseif(ae.getSource()==cQuery) newCQueryForm().setVisible(true);}publicstaticvoidmain(String[]args){newMainForm();}}//添加學(xué)生信息package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassCAddFormextendsJFrameimplementsActionListener{ JLabellabSid=newJLabel("學(xué)號:"); JLabellabMath=newJLabel("數(shù)學(xué)成績:"); JLabellabEng=newJLabel("英語成績:");JLabellabMajor=newJLabel("專業(yè)課成績:");JTextFieldtxtSid=newJTextField(20);JTextFieldtxtMath=newJTextField(20);JTextFieldtxtEng=newJTextField(20);JTextFieldtxtMajor=newJTextField(20);JButtonbtnAdd=newJButton("添加");JButtonbtnCancel=newJButton("取消");JPanelpan=newJPanel();JPanelpan1=newJPanel();JPanelpan2=newJPanel();JPanelpan3=newJPanel();JPanelpan4=newJPanel();JPanelpan5=newJPanel();JPanelpan6=newJPanel();Connectioncon;Statementsql;ResultSetrs;CAddForm(){ super("添加數(shù)據(jù)");setSize(400,300);pan1.add(labSid);pan1.add(txtSid);pan2.add(labMath);pan2.add(txtMath);pan3.add(labEng);pan3.add(txtEng);pan4.add(labMajor);pan4.add(txtMajor);pan6.add(btnAdd);pan6.add(btnCancel);pan.setLayout(newGridLayout(5,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);pan.add(pan4);getContentPane().add(pan,"Center");getContentPane().add(pan6,"South");btnAdd.addActionListener(this);btnCancel.addActionListener(this);btnAdd.setEnabled(true);txtSid.setEditable(true);txtMath.setEditable(true);txtEng.setEditable(true);txtMajor.setEditable(true);setVisible(true);txtSid.requestFocus();setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){ Stringrecode,insert1,學(xué)號,數(shù)學(xué),英語,專業(yè)課;if(ae.getSource()==btnCancel){dispose();}elseif(ae.getSource()==btnAdd){ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(ClassNotFoundExceptione){}try{con=DriverManager.getConnection("jdbc:sqlserver://:1433;DatabaseName=DB_student","sa","123456");System.out.println("連接成功!");sql=con.createStatement();學(xué)號=txtSid.getText();數(shù)學(xué)=txtMath.getText();英語=txtEng.getText(); 專業(yè)課=txtMajor.getText();recode="("+"'"+學(xué)號+"','"+數(shù)學(xué)+"','"+英語+"','"+專業(yè)課+"')";insert1="INSERTINTO學(xué)生成績表VALUES"+recode;sql.executeUpdate(insert1);System.out.println("記錄添加完畢!");btnAdd.setEnabled(true); txtSid.setText("");txtMath.setText("");txtEng.setText("");txtMajor.setText("");newSuccess().setVisible(true);con.close(); }catch(SQLExceptione){}}}publicstaticvoidmain(String[]args){newCAddForm();}}//刪除學(xué)生信息package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassDeleteFormextendsJFrameimplementsActionListener{ JLabellabSid=newJLabel("學(xué)號:"); JLabellabName=newJLabel("姓名:"); JLabellabSex=newJLabel("性別:");JLabellabDate=newJLabel("出生日期:");JLabellabMajor=newJLabel("專業(yè):");JTextFieldtxtSid=newJTextField(20);JTextFieldtxtSex=newJTextField(20);JTextFieldtxtName=newJTextField(20);JTextFieldtxtDate=newJTextField(20);JTextFieldtxtMajor=newJTextField(20);JButtonbtnDelete=newJButton("刪除");JButtonbtnCancel=newJButton("取消");JButtonbtnQuery=newJButton("查詢");JPanelpan=newJPanel();JPanelpan1=newJPanel();JPanelpan2=newJPanel();JPanelpan3=newJPanel();JPanelpan4=newJPanel();JPanelpan5=newJPanel();JPanelpan6=newJPanel();Connectioncon;Statementsql;ResultSetrs;DeleteForm(){ super("刪除數(shù)據(jù)");setSize(400,300);pan1.add(labSid);pan1.add(txtSid);pan2.add(labName);pan2.add(txtName);pan3.add(labSex);pan3.add(txtSex);pan4.add(labDate);pan4.add(txtDate);pan5.add(labMajor);pan5.add(txtMajor);pan6.add(btnQuery);pan6.add(btnDelete);pan6.add(btnCancel);pan.setLayout(newGridLayout(5,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);pan.add(pan4);pan.add(pan5);getContentPane().add(pan,"Center");getContentPane().add(pan6,"South");btnQuery.addActionListener(this);btnDelete.addActionListener(this);btnCancel.addActionListener(this);btnDelete.setEnabled(false);txtDate.setEditable(false);txtSex.setEditable(false);txtName.setEditable(false);txtMajor.setEditable(false);setVisible(true);txtSid.requestFocus();setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){ if(ae.getSource()==btnCancel) { dispose(); } elseif(ae.getSource()==btnQuery){ //實現(xiàn)查詢功能 try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(ClassNotFoundExceptione){}try{con=DriverManager.getConnection("jdbc:sqlserver://:1433;DatabaseName=DB_student","sa","123456");sql=con.createStatement();rs=sql.executeQuery("select*from學(xué)生信息表where學(xué)號='"+txtSid.getText()+"'");if(rs.next()){ txtSid.setText(rs.getString("學(xué)號")); txtName.setText(rs.getString("姓名"));txtSex.setText(rs.getString("性別"));txtDate.setText(rs.getString("出生日期"));txtMajor.setText(rs.getString("專業(yè)"));btnDelete.setEnabled(true);//使刪除按鈕功能實現(xiàn)txtDate.setEditable(false);txtSex.setEditable(false);txtName.setEditable(false);txtMajor.setEditable(false);txtSid.setEditable(false);}else{ System.out.println("不存在該記錄!"); newFalse().setVisible(true);btnDelete.setEnabled(false);txtName.setText("");txtSex.setText("");txtDate.setText("");txtSid.setText("");txtMajor.setText("");txtName.setEditable(false);txtSex.setEditable(false);txtDate.setEditable(false);txtMajor.setEditable(false);} }catch(SQLExceptione){} }elseif(ae.getSource()==btnDelete) //實現(xiàn)刪除功能{ try {sql.executeUpdate("DELETEFROM學(xué)生信息表where學(xué)號='"+txtSid.getText()+"'");System.out.println("記錄刪除完畢!");btnDelete.setEnabled(false);txtSid.setText(null);txtName.setText(null);txtSex.setText(null);txtDate.setText(null);txtMajor.setText(null);newSuccess().setVisible(true);con.close(); } catch(SQLExceptione){}} } publicstaticvoidmain(String[]args) { newDeleteForm(); }}//修改學(xué)生信息package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassModifyFormextendsJFrameimplementsActionListener{ JLabellabSid=newJLabel("學(xué)號:"); JLabellabName=newJLabel("姓名:"); JLabellabSex=newJLabel("性別:");JLabellabDate=newJLabel("出生日期:");JLabellabMajor=newJLabel("專業(yè):");JTextFieldtxtSid=newJTextField(20);JTextFieldtxtSex=newJTextField(20);JTextFieldtxtName=newJTextField(20);JTextFieldtxtDate=newJTextField(20);JTextFieldtxtMajor=newJTextField(20);JButtonbtnModify=newJButton("修改");JButtonbtnCancel=newJButton("取消");JButtonbtnQuery=newJButton("查詢");JPanelpan=newJPanel();JPanelpan1=newJPanel();JPanelpan2=newJPanel();JPanelpan3=newJPanel();JPanelpan4=newJPanel();JPanelpan5=newJPanel();JPanelpan6=newJPanel();Connectioncon;Statementsql;ResultSetrs;ModifyForm(){ super("修改數(shù)據(jù)");setSize(400,300);pan1.add(labSid);pan1.add(txtSid);pan2.add(labName);pan2.add(txtName);pan3.add(labSex);pan3.add(txtSex);pan4.add(labDate);pan4.add(txtDate);pan5.add(labMajor);pan5.add(txtMajor);pan6.add(btnQuery);pan6.add(btnModify);pan6.add(btnCancel);pan.setLayout(newGridLayout(5,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);pan.add(pan4);pan.add(pan5);getContentPane().add(pan,"Center");getContentPane().add(pan6,"South");btnQuery.addActionListener(this);btnModify.addActionListener(this);btnCancel.addActionListener(this);btnModify.setEnabled(false);txtDate.setEditable(false);txtSex.setEditable(false);txtName.setEditable(false);txtMajor.setEditable(false);setVisible(true);txtSid.requestFocus();setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){if(ae.getSource()==btnCancel){dispose();}elseif(ae.getSource()==btnQuery){try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(ClassNotFoundExceptione){}try{con=DriverManager.getConnection("jdbc:sqlserver://:1433;DatabaseName=DB_student","sa","123456");sql=con.createStatement();rs=sql.executeQuery("select*from學(xué)生信息表where學(xué)號='"+txtSid.getText()+"'");if(rs.next()){ txtSid.setText(rs.getString("學(xué)號"));txtName.setText(rs.getString("姓名"));txtSex.setText(rs.getString("性別"));txtDate.setText(rs.getString("出生日期"));txtMajor.setText(rs.getString("專業(yè)"));btnModify.setEnabled(true);txtDate.setEditable(true);txtSex.setEditable(true);txtName.setEditable(true);txtMajor.setEditable(true);txtSid.setEditable(false);}else{ System.out.println("不存在該記錄!");btnModify.setEnabled(false);txtName.setText("");txtSex.setText("");txtDate.setText("");txtSid.setText("");txtMajor.setText("");txtDate.setEditable(false);txtSex.setEditable(false);txtName.setEditable(false);txtMajor.setEditable(false);txtSid.setEditable(false);}}catch(SQLExceptione){}}elseif(ae.getSource()==btnModify){try{sql.executeUpdate("Update學(xué)生信息表set出生日期='"+txtDate.getText()+"',性別='"+txtSex.getText()+"',姓名='"+txtName.getText()+"',專業(yè)='"+txtMajor.getText()+"'where學(xué)號='"+txtSid.getText()+"'");System.out.println("記錄修改完畢!");btnModify.setEnabled(false);txtDate.setEditable(false);txtSex.setEditable(false);txtName.setEditable(false);txtMajor.setEditable(false);txtSid.setEditable(false);newSuccess().setVisible(true);con.close();}catch(SQLExceptione){}}}publicstaticvoidmain(String[]args){newModifyForm();}}//根據(jù)專業(yè)查詢學(xué)生信息package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;importjavax.swing.table.JTableHeader;publicclassQueryFormextendsJFrameimplementsActionListener{ JLabellabMajor=newJLabel("請輸入專業(yè):");JTextFieldtxtMajor=newJTextField(10);JButtonbtnQuery=newJButton("查詢");JPanelpan1=newJPanel();JPanelpan2=newJPanel();String[]str={"學(xué)號","姓名","性別","出生日期","專業(yè)"};String[][]data=newString[10][5];JTabletable=newJTable(data,str);JTableHeaderhead=table.getTableHeader();JScrollPanejsp=newJScrollPane(table); //滾動Connectioncon;Statementsql;ResultSetrs;QueryForm(){super("按專業(yè)查詢");setSize(400,300);pan1.add(labMajor);pan1.add(txtMajor);pan1.add(btnQuery); //以上3條在第一個面板加入內(nèi)容getContentPane().add(pan1,"North"); //把面板1放到窗口頂部pan2.setLayout(newBorderLayout());pan2.add(head,"North"); //將表頭放在面板2的頂部pan2.add(jsp,"Center"); //表格放在pan2中間getContentPane().add(pan2,"Center");//把面板2整體加入到主窗口中btnQuery.addActionListener(this);//增加查詢按鈕的監(jiān)視器setVisible(true);setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){if(ae.getSource()==btnQuery){inti,j;try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundExceptione){}try{con=DriverManager.getConnection("jdbc:sqlserver://:1433;DatabaseName=DB_student","sa","123456");System.out.println("連接成功!");sql=con.createStatement();data=newString[10][5];rs=sql.executeQuery("select*from學(xué)生信息表where專業(yè)='"+txtMajor.getText()+"'");i=0;j=0;while(rs.next()){data[i][j++]=rs.getString("學(xué)號");data[i][j++]=rs.getString("姓名");data[i][j++]=rs.getString("性別");data[i][j++]=rs.getString("出生日期");data[i][j]=rs.getString("專業(yè)");//將數(shù)據(jù)庫中查詢到的信息保存到data中i++;j=0;}pan2.removeAll();getContentPane().remove(pan2);table=newJTable(data,str);pan2.setLayout(newBorderLayout());head=table.getTableHeader();jsp=newJScrollPane(table);pan2.add(head,"North");pan2.add(jsp,"Center");getContentPane().add(pan2,"Center");this.validate();con.close();}catch(SQLExceptione){}}}publicstaticvoidmain(String[]args){newQueryForm();}}//添加學(xué)生成績package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassCAddFormextendsJFrameimplementsActionListener{ JLabellabSid=newJLabel("學(xué)號:"); JLabellabMath=newJLabel("數(shù)學(xué)成績:"); JLabellabEng=newJLabel("英語成績:");JLabellabMajor=newJLabel("專業(yè)課成績:");JTextFieldtxtSid=newJTextField(20);JTextFieldtxtMath=newJTextField(20);JTextFieldtxtEng=newJTextField(20);JTextFieldtxtMajor=newJTextField(20);JButtonbtnAdd=newJButton("添加");JButtonbtnCancel=newJButton("取消");JPanelpan=newJPanel();JPanelpan1=newJPanel();JPanelpan2=newJPanel();JPanelpan3=newJPanel();JPanelpan4=newJPanel();JPanelpan5=newJPanel();JPanelpan6=newJPanel();Connectioncon;Statementsql;ResultSetrs;CAddForm(){ super("添加數(shù)據(jù)");setSize(400,300);pan1.add(labSid);pan1.add(txtSid);pan2.add(labMath);pan2.add(txtMath);pan3.add(labEng);pan3.add(txtEng);pan4.add(labMajor);pan4.add(txtMajor);pan6.add(btnAdd);pan6.add(btnCancel);pan.setLayout(newGridLayout(5,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);pan.add(pan4);getContentPane().add(pan,"Center");getContentPane().add(pan6,"South");btnAdd.addActionListener(this);btnCancel.addActionListener(this);btnAdd.setEnabled(true);txtSid.setEditable(true);txtMath.setEditable(true);txtEng.setEditable(true);txtMajor.setEditable(true);setVisible(true);txtSid.requestFocus();setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){ Stringrecode,insert1,學(xué)號,數(shù)學(xué),英語,專業(yè)課;if(ae.getSource()==btnCancel){dispose();}elseif(ae.getSource()==btnAdd){ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(ClassNotFoundExceptione){}try{con=DriverManager.getConnection("jdbc:sqlserver://:1433;DatabaseName=DB_student","sa","123456");System.out.println("連接成功!");sql=con.createStatement();學(xué)號=txtSid.getText();數(shù)學(xué)=txtMath.getText();英語=txtEng.getText(); 專業(yè)課=txtMajor.getText();recode="("+"'"+學(xué)號+"','"+數(shù)學(xué)+"','"+英語+"','"+專業(yè)課+"')";insert1="INSERTINTO學(xué)生成績表VALUES"+recode;sql.executeUpdate(insert1);System.out.println("記錄添加完畢!");btnAdd.setEnabled(true); txtSid.setText("");txtMath.setText("");txtEng.setText("");txtMajor.setText("");newSuccess().setVisible(true);con.close(); }catch(SQLExceptione){}}}publicstaticvoidmain(String[]args){newCAddForm();}}//刪除學(xué)生成績package數(shù)據(jù)庫;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassCDeleteFormextendsJFrameimplementsActionListener{ /** * */ privatestaticfinallongserialVersionUID=1L; JLabellabSid=newJLabel("學(xué)號:"); JLabellabMath=newJLabel("數(shù)學(xué)成績:"); JLabellabEng=newJLabel("英語成績:");JLabellabMajor=newJLabel("專業(yè)課成績:");JTextFieldtxtSid=newJTextField(20);JTextFieldtxtMath=newJTextField(20);JTextFieldtxtEng=newJTextField(20);JTextFieldtxtMajor=newJTextField(20);JButtonbtnQuery=newJButton("查詢");JButtonbtnDelete=newJButton("刪除");JButtonbtnCancel=newJButton("取消");JPanelpan=newJPanel();JPanelpan1=newJPanel();JPanelpan2=newJPanel();JPanelpan3=newJPanel();JPanelpan4=newJPanel();JPanelpan5=newJPanel();JPanelpan6=newJPanel();Connectioncon;Statementsql;ResultSetrs;CDeleteForm(){ super("刪除數(shù)據(jù)");setSize(400,300);pan1.add(labSid);pan1.add(txtSid);pan2.add(labMath);pan2.add(txtMath);pan3.add(labEng);pan3.add(txtEng);pan4.add(labMajor);pan4.add(txtMajor);pan6.add(btnQuery);pan6.add(btnDelete);pan6.add(btnCancel);pan.setLayout(newGridLayout(5,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);pan.add(pan4);getContentPane().add(pan,"Center");getContentPane().add(pan6,"South");btnQuery.addActionListener(this);btnCancel.addActionListener(this);btnDelete.addActionListener(this);btnDelete.setEnabled(false);txtSid.setEditable(true);txtMath.setEditable(false);txtEng.setEditable(false);txtMajor.setEditable(false);setVisible(true);txtSid.requestFocus();setLocationRelativeTo(null);}publicvoidactionPerformed(ActionEventae){ if(ae.getSource()==btnCancel) { dispose(); } elseif(ae.getSource()==btnQuery){ //實現(xiàn)查詢功能 try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(ClassNotFoundExceptione){}try{con=DriverManager.getConnection("jdbc:sqlserver://:1433;DatabaseName=DB_student","sa","123456");System.out.println("連接成功!");sql=con.createStatement();rs=sql.executeQuery("select*from學(xué)生成績表where學(xué)號='"+txtSid.getText()+"'");if(rs.next()){ txtSid.setText(rs.getString("學(xué)號"));txtMath.setText(rs.getString("數(shù)學(xué)"));txtEng.setText(rs.getString("英語"));txtMajor.s

溫馨提示

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

評論

0/150

提交評論