版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 學(xué)生信息管理系統(tǒng)</b></p><p><b> 目 錄 </b></p><p> 1學(xué)生信息管理系統(tǒng)概述5</p><p> 1.1系統(tǒng)的任務(wù)5</p><p> 1.2系統(tǒng)的目標5</p><p> 2 系統(tǒng)具體需求分析
2、6</p><p><b> 2.1系統(tǒng)需求6</b></p><p><b> 2.2數(shù)據(jù)字典6</b></p><p> 2.3數(shù)據(jù)流圖10</p><p> 3 概念結(jié)構(gòu)設(shè)計11</p><p> 4.邏輯結(jié)構(gòu)設(shè)計14</p><
3、p> 5.物理結(jié)構(gòu)設(shè)計15</p><p><b> 表匯總15</b></p><p><b> 表A—F16</b></p><p> 6.數(shù)據(jù)保護設(shè)計18</p><p> 6.1防止用戶直接操作數(shù)據(jù)庫的方法18</p><p> 6.2用戶
4、帳號密碼的加密方法18</p><p> 6.3角色與權(quán)限18</p><p> 7.運行管理與維護說明19</p><p> 8.SQL語句及部分關(guān)鍵Java語句20</p><p> 9.心得與體會29</p><p> 10.參考資料29</p><p> 計算
5、機與信息工程學(xué)院</p><p> 《數(shù)據(jù)庫應(yīng)用》 課程設(shè)計任務(wù)書</p><p><b> 需求分析:</b></p><p> 學(xué)生信息管理系統(tǒng)概述</p><p> 學(xué)生信息管理系統(tǒng)主要用來管理學(xué)生基本信息。本系統(tǒng)是一個簡單的學(xué)生信息管理系統(tǒng),系統(tǒng)管理的信息主要是學(xué)生基本信息、課程信息和學(xué)生選課信息。系統(tǒng)
6、的目的是有效地處理這些信息,同時為用戶提供信息檢索、信息修改和保護功能。</p><p><b> 系統(tǒng)的任務(wù)</b></p><p> 學(xué)生信息管理系統(tǒng)是學(xué)校有效管理學(xué)生的重要工具,它的任務(wù)主要有以下幾項:</p><p> 學(xué)生基本信息管理,主要負責(zé)管理學(xué)生基本信息。</p><p> 學(xué)生選課信息管理,主要
7、負責(zé)管理課程信息和學(xué)生選課信息。</p><p> 信息 檢 索 管 理,主要負責(zé)對學(xué)生各類信息進行查詢和統(tǒng)計。</p><p> 信息 修 改 管 理,主要負責(zé)學(xué)生信息的增加,刪除,更改。</p><p> 系 統(tǒng) 管 理,主要負責(zé)管理用戶信息和用戶登陸,以及配置系統(tǒng)參數(shù)。</p><p><b> 系統(tǒng)的目標&l
8、t;/b></p><p> 學(xué)生信息管理系統(tǒng)是學(xué)校管理學(xué)生的有效方法,也是學(xué)生學(xué)生查詢信息的有效途徑。一個好的學(xué)生信息管理系統(tǒng)應(yīng)具有以下這些目標:</p><p> 能夠管理所有學(xué)生的信息。</p><p> 能夠快速地進行學(xué)生的各類信息查詢,包括基本信息和選課信息的查詢。</p><p> 減少學(xué)校管理學(xué)生的工作任務(wù),降低管
9、理成本。</p><p><b> 2 系統(tǒng)具體需求</b></p><p><b> 2.1系統(tǒng)需求 </b></p><p> 根據(jù)以上對學(xué)生信息管理系統(tǒng)的任務(wù)和目標的分析,藍天大學(xué)學(xué)生信息管理系統(tǒng)的具體需求如下:</p><p> (1)學(xué)生信息:學(xué)號、姓名、性別、出生日期、電話、部門
10、、民族、政治面貌、來源地、入學(xué)成績、備注。</p><p> ?。?)課程信息:課程號、課程名、先選課、學(xué)時、考核方式、學(xué)分。</p><p> ?。?)選課信息:學(xué)號、 課程號、成績。</p><p> ?。?)教師信息:工號、姓名、性別、職稱、學(xué)院。</p><p> (5)授課信息:工號、課程號和授課效果。</p>&l
11、t;p> (6)指導(dǎo)信息:工號、學(xué)號和成績。</p><p> ?。?)學(xué)生能查詢課程信息;自己的學(xué)生信息;自己的選課信息;自己選課的最高分、最低分、平均分、和總分。學(xué)生選課時,該學(xué)生必須是本校學(xué)生,課程必須是本校課程;一個學(xué)生可以選擇多門課程,多個學(xué)生可以選擇同一門課程。學(xué)生選指導(dǎo)老師時,學(xué)生必須是本校學(xué)生,教師必須是本校教師;一個學(xué)生只能選擇一個指導(dǎo)教師。</p><p>
12、(8)教師只能查詢課程信息、本人的授課信息、本人授課的選課信息、本人的指導(dǎo)信息等。教師只能修改本人授課的選課成績、本人指導(dǎo)的成績等。教師授課時,課程必須使本校課程,教師必須是本校教師;一個教師可以講授多門課,多個教師可以講授一門課。教師指導(dǎo)學(xué)生時,學(xué)生必須使本校學(xué)生,教師必須是本校教師;一個教師可以指導(dǎo)多個學(xué)生。</p><p> ?。?)DBA擁有所有信息的所有權(quán)限。</p><p>
13、 (10)滿足常規(guī)的完整性、安全性和數(shù)據(jù)備份能力。</p><p><b> 2.2數(shù)據(jù)字典</b></p><p> 根據(jù)系統(tǒng)需求分析,利用表格方式設(shè)計的數(shù)據(jù)字典如下:</p><p><b> 數(shù)據(jù)項</b></p><p> 數(shù)據(jù)字典的數(shù)據(jù)項如表所示:</p><p
14、><b> 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 數(shù)據(jù)字典的數(shù)據(jù)結(jié)構(gòu)如表所示。</p><p><b> 數(shù)據(jù)流</b></p><p> 數(shù)據(jù)字典的數(shù)據(jù)流如表所示。</p><p><b> 數(shù)據(jù)存儲</b></p><p> 數(shù)據(jù)字典
15、的數(shù)據(jù)存儲如表所示。</p><p><b> 處理過程</b></p><p> 數(shù)據(jù)字典的處理過程如表所示。 </p><p><b> 3.數(shù)據(jù)流圖</b></p><p> 學(xué)生登記表 學(xué)生選課表
16、 教師登記表</p><p><b> 3 概念結(jié)構(gòu)設(shè)計</b></p><p> .根據(jù)需求分析得到的具體要求,繪制E—R 圖如下。</p><p> 圖1-選課管理局部E-R圖</p><p> 圖2-教授管理局部E-R圖</p><p> 圖3-指導(dǎo)管理局部E-R圖</p&
17、gt;<p> 圖4-學(xué)生管理系統(tǒng)全局E-R圖</p><p><b> 4邏輯結(jié)構(gòu)設(shè)計 </b></p><p> 1)根據(jù)系統(tǒng)的概念結(jié)構(gòu),其邏輯結(jié)構(gòu)設(shè)計如下:</p><p> 學(xué)生(學(xué)號,姓名,性別,出生日期,電話,部門,民族,政治面貌,來源地,入學(xué)成績,備注)</p><p> 課程(課程
18、號,課程名,上課地點,學(xué)分,學(xué)時,考核方式)</p><p> 選課(學(xué)號,課程號,成績)</p><p> 2)根據(jù)系統(tǒng)的邏輯結(jié)構(gòu)和應(yīng)用需求,其外模式的視圖設(shè)計如下:</p><p> 學(xué)生視圖(學(xué)號,姓名,性別,年齡, 電話,部門,民族,政治面貌,來源地,入學(xué)成績,課程號,課程名,上課地點,學(xué)時,考核方式學(xué)分,成績,最高分、最低分、平均分,總學(xué)分 )<
19、;/p><p> DBA選課視圖(學(xué)號,姓名,性別,年齡,電話,部門,民族,政治面貌,來源地,入學(xué)成績,課程號,課程名,上課地點,學(xué)時,考核方式,學(xué)分,成績)</p><p> 3) 根據(jù)上述的轉(zhuǎn)換結(jié)果,在對關(guān)系模式中數(shù)據(jù)進行規(guī)范化處理后,得到了符合第三范式的關(guān)系模式如下:</p><p> 學(xué)生:{學(xué)號、姓名、性別、年齡、電話、部門、民族、政治面貌、來源地、
20、入學(xué)成績、備注} </p><p> 課程:{課程號、課程名、上課地點、學(xué)時、考核方式、學(xué)分}</p><p> 選修:{學(xué)號、課程號、成績}</p><p><b> 4)滿足3NF:</b></p><p> (1)學(xué)生表(Student)中的屬性有 學(xué)號(SNo),姓名(Sname),性別(Ssex),出生
21、日期(Sbirth),電話(Sphone),部門(Scoll),民族(Snation),政治面貌(Spaob),來源地(Sbirthplace-Sbplace),入學(xué)成績(Ssgrade-Ssg),備注(Sremarks-Srem)。</p><p> Student(U1,F1)</p><p> U1={SNo,Sname,SSex,Sbirth,Sphone,SColl,Snat
22、ion,Spaob,Sbp,Ssg,Srem}</p><p> F1={SNo→(Sname.SSex,Sbirth,Sphone,SColl,Snation,Spaob,Sbplace,Ssg,Srem)}</p><p> ?。?)課程表(Course)中的屬性有 課程號(CNo),課程名(Cname),上課地點(Cclass),考核方式(Cexamsy),學(xué)時(Cperiod),
23、學(xué)分(Credit)。</p><p> Course(U2,F2)</p><p> U2={CNo,CName,Ctname,Cclass,Cexamsy,Cperiod,Credit}</p><p> F2={CNo→(CName ,Cclass,Cexansy,Cperiod,Credit)}</p><p> (3)選課表
24、(StudentCourse)中的屬性有學(xué)號(SNo),課程號(CNo),成績(Grade)。</p><p> StudentCourse(U3,F3)</p><p> U3={SNo,CNo,Grade}</p><p> F3={(SNo,CNo)→Grade}</p><p> 4)教師表(Teacher)中的屬性有工號(T
25、No),教師姓名(TName),教師性別(Tsex),教師年齡(TAge),職稱(Title),教齡(SchAge),教師電話(Tphone),教師學(xué)院(TColl).</p><p> Teacher(U4,F4)</p><p> U4={TNo,TName,TSex,TAge,Title,SchAge,TPhone,TColl}</p><p> F4=
26、{TNo→(TName,TSex,TAge,Title,SchAge,TPhone,TColl)}</p><p> 授課表(TeacherCourse)中的屬性有教師工號(TNo),課程號(CNo),教學(xué)效果(TGrade).</p><p> TeacherCourse(U5,F5)</p><p> U5={TNo,CNo,TGrade}</p&g
27、t;<p> F5={(TNo,CNo)→TGrade}</p><p> 指導(dǎo)表(TeacherStudent)中的屬性有教師工號(TNo),學(xué)生學(xué)號(SNo),畢設(shè)成績(GDsign)</p><p> TeacherStudent(U6,F6)</p><p> U6={TNo,SNo,GDsign}</p><p&g
28、t; F6={(TNo,SNo)→GDsign}</p><p><b> 5.物理結(jié)構(gòu)設(shè)計</b></p><p> ?。?)主要是設(shè)計表結(jié)構(gòu)。一般地,實體對應(yīng)于表,實體的屬性對應(yīng)于表的列,實體之間的關(guān)系成為表的約束。邏輯設(shè)計中的實體大部分可以轉(zhuǎn)換成物理設(shè)計中的表,但是它們并不一定是一一對應(yīng)的。</p><p> ?。?)對表結(jié)構(gòu)進行規(guī)范
29、化處理(第三范式)。</p><p><b> ?。?)表匯總</b></p><p><b> 表A</b></p><p> 注:(1)該表存放全校所有學(xué)生的基本信息,每個學(xué)生產(chǎn)生一條記錄。 </p><p><b> 表B</b></p><p&
30、gt; 注:該表存放某校所有的課程信息,每門課產(chǎn)生一條記錄。</p><p><b> 表C</b></p><p><b> 表D</b></p><p> 注:該表存放藍天大學(xué)所有學(xué)生的成績信息,每個學(xué)生學(xué)習(xí)每門課程產(chǎn)生一條記錄。</p><p><b> 表E</b&
31、gt;</p><p><b> 表F</b></p><p><b> 6.數(shù)據(jù)保護設(shè)計</b></p><p> 6.1防止用戶直接操作數(shù)據(jù)庫的方法</p><p> 采用用戶標識和鑒別檢測機制。即:用戶進入系統(tǒng)時必須首先輸入用戶的帳號和密碼,然后系統(tǒng)對其進行鑒別 ,通過系統(tǒng)鑒別后才能使
32、用系統(tǒng)資源。</p><p> 6.2用戶帳號密碼的加密方法</p><p> 用動態(tài)戶標識和鑒別,它是使用變化的用戶標識信息進行身份鑒別的機制。即:靜態(tài)用戶名和動態(tài)密碼。采用驗證碼登陸機制(用戶名稱+密碼+驗證碼),其基本思想為:驗證碼是把隨機產(chǎn)生的多個數(shù)字或者字符組成的字符串,生成一幅圖片,同時在圖片里加上噪聲(防止OCR識別),并由用戶肉眼識別其中的驗證碼信息,提交網(wǎng)站驗證。&l
33、t;/p><p><b> 6.3角色與權(quán)限</b></p><p> 7.運行管理與維護說明</p><p> ?。?)轉(zhuǎn)儲和恢復(fù)。DBA需要定期定時有計劃的對數(shù)據(jù)庫及其日志文件進行備份,從而確保發(fā)生故障時,利用后備副本,可以把數(shù)據(jù)庫恢復(fù)到一致狀態(tài),并盡量減少數(shù)據(jù)庫的損失。</p><p> (2)安全性控制。隨著系
34、統(tǒng)運行,應(yīng)用環(huán)境會發(fā)生變化,對安全性的要求會改變,用戶的密級也隨之改變。因此,需要DBA根據(jù)實際情況修改原有的安全性控制。</p><p> ?。?)完整性控制。在系統(tǒng)運行過程中,對實體、參照和用戶定義等完整性的要求會發(fā)生改變。因此需要DBA根據(jù)實際情況修改原有的完整性控制。</p><p> (4)性能維護。性能維護是對系統(tǒng)性能的監(jiān)督、分析和改進。監(jiān)督系統(tǒng)運行,并對監(jiān)測數(shù)據(jù)進行分析,從
35、而找出改進系統(tǒng)性能的方法。同時綜合運行管理和評價的改進建議,對系統(tǒng)進行調(diào)整和改進。</p><p> ?。?)重組與重構(gòu)。隨著系統(tǒng)運行,對元組的添加、刪除和修改等更新操作,會降低數(shù)據(jù)庫存儲空間的利用率和數(shù)據(jù)的存取效率,使數(shù)據(jù)庫的性能下降。因此,需要對數(shù)據(jù)庫進行重組。重組通常不需要改變邏輯結(jié)構(gòu)和物理結(jié)構(gòu);如果需要添加新實體,或者實體之間的聯(lián)系發(fā)生了變化,則需要重構(gòu)數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。顯然重構(gòu)數(shù)據(jù)庫可能會導(dǎo)致
36、數(shù)據(jù)庫數(shù)據(jù)丟失。</p><p> 8.SQL語句及部分關(guān)鍵Java語句</p><p> ===============================================================</p><p><b> 系統(tǒng)說明書</b></p><p> ===============
37、================================================</p><p> 建立數(shù)據(jù)庫StudentDatabase的SQL Server語句:</p><p> ---------------------------------------------------------------</p><p> JavaID
38、LStudentDatabase-DBTable.txt</p><p> ---------------------------------------------------------------</p><p><b> 數(shù)據(jù)庫</b></p><p> --------------------------------------
39、-------------------------</p><p> StudentDatabase</p><p> ---------------------------------------------------------------</p><p><b> 數(shù)據(jù)表</b></p><p> ---
40、------------------------------------------------------------</p><p> 建立數(shù)據(jù)庫StudentDatabase的SQL Server語句:</p><p> ---------------------------------------------------------------</p><p
41、> JavaIDLStudentDatabase-DBTable.txt</p><p> ---------------------------------------------------------------</p><p><b> 數(shù)據(jù)庫</b></p><p> --------------------------
42、-------------------------------------</p><p> StudentDatabase</p><p> ---------------------------------------------------------------</p><p> 部分數(shù)據(jù)表(表Student Course StudentCours
43、e)</p><p> ---------------------------------------------------------------</p><p><b> Student</b></p><p> CREATE TABLE Student(</p><p> SNo CHAR(10) P
44、RIMARY KEY NOT NULL, </p><p> SName CHAR(20) NOT NULL, </p><p> SSex CHAR(2),</p><p> Sbirth CHAR(10),</p><p> Sphone CHAR(11),</p><p> SColl CHAR
45、(40), NOT NULL,</p><p> Snation CHAR(15), NOTNULL,</p><p> Spaob CHAR(4), NOT NULL,</p><p> Sbplace CHAR(10),</p><p> SSgrade CHAR(4), NOTNULL,</p><p
46、> Srem CHAR(10);</p><p><b> Course</b></p><p> CREATE TABLE Course(</p><p> CNo CHAR(10) PRIMARY KEY NOT NULL,</p><p> CName CHAR(20) NOT NULL, &
47、lt;/p><p> CCredit INT),</p><p> Cclass CHAR(4),NOTNULL,</p><p> Cperiod INT(2), NOTNULL,</p><p> Ces CHAR(1);</p><p> StudentCourse</p><p&g
48、t; CREATE TABLE StudentCourse(</p><p> SNo CHAR(10) NOT NULL,</p><p> CNo CHAR(10) NOT NULL,</p><p> Grade FLOAT,</p><p> PRIMARY KEY (SNo, CNo),</p><p&
49、gt; FOREIGN KEY (SNo) REFERENCES Student(SNo),</p><p> FOREIGN KEY (CNo) REFERENCES Course(CNo));</p><p> TempStudentCourse</p><p> CREATE TABLE TempStudentCourse(</p>&l
50、t;p> SNo CHAR(10) NOT NULL,</p><p> CNo CHAR(10) NOT NULL, </p><p> Grade FLOAT,</p><p> SName CHAR(20),</p><p> CName CHAR(20),</p><p> PRIMARY K
51、EY (SNo, CNo),</p><p> FOREIGN KEY (SNo) REFERENCES Student(SNo),</p><p> FOREIGN KEY (CNo) REFERENCES Course(CNo));</p><p> -----------------------------------------------------
52、----------</p><p><b> 子程序</b></p><p> ---------------------------------------------------------------</p><p> JavaIDLNameDBMS </p><p> 其中:Name為模塊名稱&l
53、t;/p><p> ---------------------------------------------------------------</p><p> 使用SQL Server 2000建立數(shù)據(jù)庫的說明</p><p> ---------------------------------------------------------------&l
54、t;/p><p> 如果用戶使用的是SQL Server 2000,</p><p> 則只需使用SQL Server 2000的查詢分析器,</p><p> 并把在SQL Server 2000的查詢分析器中,</p><p> 運行本書提供的建立數(shù)據(jù)庫的相應(yīng)文檔即可。</p><p> ----------
55、-----------------------------------------------------</p><p><b> 運行環(huán)境設(shè)置</b></p><p> ---------------------------------------------------------------</p><p> 1. 安裝JDK6.
56、0</p><p> 2. 安裝JDBC驅(qū)動</p><p> 3. 安裝EclipseSDK環(huán)境</p><p><b> 4. 附加數(shù)據(jù)庫</b></p><p> 5. 在Eclipse中導(dǎo)入程序</p><p><b> END</b></p>
57、<p><b> 添加</b></p><p> public class add implements ActionListener, ItemListener {</p><p> JLabel lb[], lable, lable1;</p><p> JPanel pan[];</p><p>
58、; JComboBox cmb;</p><p> JTextField tf1, tf[];</p><p> JButton bt, handin;</p><p> CardLayout card;</p><p> Connection con;</p><p> public add() thro
59、ws IOException {</p><p> cmb = new JComboBox();</p><p> cmb.addItemListener(this);</p><p> card = new CardLayout();</p><p> tf1 = new JTextField(10);</p><
60、;p> tf1.setEditable(false);</p><p> lable = new JLabel("現(xiàn)在進入新增模式");</p><p> lable.setHorizontalAlignment(JLabel.CENTER);</p><p> //lable.setForeground(Color.red);&l
61、t;/p><p> lable.setFont(new Font("華文行楷", Font.BOLD, 30));</p><p> bt = new JButton("下一步");</p><p> bt.setIcon(new ImageIcon("but1.gif"));</p>&l
62、t;p> bt.addActionListener(this);</p><p> handin = new JButton("提交");</p><p> handin.addActionListener(this);</p><p> // 以下初始化各個成員</p><p> lb = new JLa
63、bel[7];</p><p> for (int i = 0; i < lb.length; i++) {</p><p> lb[i] = new JLabel("", JLabel.RIGHT);</p><p><b> }</b></p><p> tf = new JText
64、Field[5];</p><p> for (int i = 0; i < tf.length; i++) {</p><p> tf[i] = new JTextField(3);</p><p><b> }</b></p><p> // 初始化 pan</p><p>
65、pan = new JPanel[8];</p><p> for (int i = 0; i < pan.length; i++) {</p><p> pan[i] = new JPanel();</p><p><b> }</b></p><p> lb[0].setText("您要增加幾
66、名學(xué)生的信息:");</p><p> lb[1].setText("請輸入您要增加的學(xué)生的數(shù)目:");</p><p> // 以下進行初級設(shè)置</p><p> pan[0].setLayout(card);</p><p> pan[1].setLayout(new GridLayout(4, 1,
67、 0, 20));</p><p> pan[2].setLayout(new FlowLayout());</p><p> pan[3].setLayout(new FlowLayout());</p><p> pan[4].setLayout(new FlowLayout());</p><p><b> // 以下
68、進入正題</b></p><p> cmb.addItem("只增加一名");</p><p> cmb.addItem("增加多名");</p><p> pan[2].add(lb[0]);</p><p> pan[2].add(cmb);</p><p&g
69、t; pan[3].add(lb[1]);</p><p> pan[3].add(tf1);</p><p> pan[4].add(bt);</p><p> pan[1].add(lable);</p><p> pan[1].add(pan[2]);</p><p> pan[1].add(pan[
70、3]);</p><p> pan[1].add(pan[4]);</p><p> lable1 = new JLabel("請輸入學(xué)生信息", JLabel.CENTER);</p><p> //lable1.setForeground(Color.red);</p><p> lable1.setFont(
71、new Font("華文行楷", Font.BOLD, 30));</p><p> lb[2].setText("學(xué)號 ");</p><p> lb[3].setText("姓名 ");</p><p> lb[4].setText("性別");</p><
72、p> lb[5].setText("年齡");</p><p> lb[6].setText("專業(yè)");</p><p> lb[2].setSize(new Dimension(20, 10));</p><p> pan[5].setLayout(new BorderLayout());</p>
73、<p> pan[6].setLayout(new GridLayout(5, 3, 0, 50));</p><p> pan[7].setLayout(new FlowLayout());</p><p> pan[6].add(lb[2]);</p><p> pan[6].add(tf[0]);</p><p>
74、 pan[6].add(new JLabel(" "));</p><p> pan[6].add(lb[3]);</p><p> pan[6].add(tf[1]);</p><p> pan[6].add(new JLabel(" "));</p><p> pan[6].add(l
75、b[4]);</p><p> pan[6].add(tf[2]);</p><p> pan[6].add(new JLabel(" "));</p><p> pan[6].add(lb[5]);</p><p> pan[6].add(tf[3]);</p><p> pan[6]
76、.add(new JLabel(" "));</p><p> pan[6].add(lb[6]);</p><p> pan[6].add(tf[4]);</p><p> pan[7].add(handin);</p><p> pan[5].add("North", lable1);&l
77、t;/p><p> pan[5].add("Center", pan[6]);</p><p> pan[5].add("South", pan[7]);</p><p> //pan[0].add("card1", pan[1]);</p><p> pan[0].add(&q
78、uot;card2", pan[5]);</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> // ********************************************************<
79、;/p><p> if (e.getSource() == bt) {</p><p> card.show(pan[0], "card2");</p><p><b> }</b></p><p> // *********************************************
80、***********</p><p> if (e.getSource() == handin) {</p><p><b> try {</b></p><p> con = DriverManager.getConnection("jdbc:odbc:student","sa","&
81、quot;);</p><p> //con= DriverManager. getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=student","sa","");</p><p> } catch (SQLException e2) {
82、</p><p> JOptionPane.showMessageDialog(studentGUI.cp, "系統(tǒng)出錯11!!", "學(xué)生信息管理系統(tǒng)",</p><p> JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p>&l
83、t;p> String id = tf[0].getText();</p><p> String name = tf[1].getText();</p><p> String ss1 = tf[2].getText();</p><p> int ss2 = change(tf[3].getText());</p><p>
84、 String ss3 = tf[4].getText();</p><p> tf[0].setText("");</p><p> tf[1].setText("");</p><p> tf[2].setText("");</p><p> tf[3].setText
85、("");</p><p> tf[4].setText("");</p><p><b> try {</b></p><p> news(id, name, ss1, ss2, ss3);</p><p> } catch (SQLException e1) {<
86、/p><p> JOptionPane.showMessageDialog(studentGUI.cp, "操作失敗!!", "學(xué)生信息管理系統(tǒng)",</p><p> JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p>
87、;<b> }</b></p><p><b> }</b></p><p> // *********************************************************</p><p> public void itemStateChanged(ItemEvent e) {</
88、p><p> if (cmb.getSelectedIndex() == 1) {</p><p> tf1.setEditable(true);</p><p><b> } else</b></p><p> tf1.setEditable(false);</p><p><b>
89、; }</b></p><p> // ********************************************************</p><p> public void news(String id, String name, String ss1, int ss2, String ss3)</p><p> throw
90、s SQLException {</p><p> String sql = "INSERT INTO student VALUES(?,?,?,?,?)";</p><p> PreparedStatement ps = con.prepareStatement(sql);</p><p> ps.setString(1, id);<
91、;/p><p> ps.setString(2, name);</p><p> ps.setString(3, ss1);</p><p> ps.setInt(4, ss2);</p><p> ps.setString(5, ss3);</p><p> ps.executeUpdate();</p&
92、gt;<p> con.close();</p><p> JOptionPane.showMessageDialog(studentGUI.cp, "添加成功");</p><p><b> }</b></p><p> //**************************************
93、***************** </p><p> public int change(String s) {</p><p> return (Integer.parseInt(s));</p><p><b> }</b></p><p> //******************************
94、************************* </p><p><b> }</b></p><p><b> 2、刪除</b></p><p> public class delete implements ActionListener {</p><p> JLabel lb[],
95、 lable, lable1;</p><p> JPanel pan[];</p><p> JComboBox cmb;</p><p> JTextField tf1, tf[];</p><p> JButton bt, handin;</p><p> CardLayout card;</p&
96、gt;<p> Connection con;</p><p> Statement s;</p><p> public delete() throws IOException {</p><p> cmb = new JComboBox();</p><p> card = new CardLayout();<
97、;/p><p> tf1 = new JTextField(10);</p><p> tf1.setEditable(false);</p><p> lable = new JLabel("現(xiàn)在進入刪除模式");</p><p> lable.setHorizontalAlignment(JLabel.CENTER
98、);</p><p> lable.setForeground(Color.red);</p><p> lable.setFont(new Font("華文行楷", Font.BOLD, 30));</p><p> bt = new JButton("下一步");</p><p> bt.s
99、etIcon(new ImageIcon("but1.gif"));</p><p> bt.addActionListener(this);</p><p> handin = new JButton("提交");</p><p> handin.addActionListener(this);</p>
100、<p> // 以下初始化各個成員</p><p> lb = new JLabel[7];</p><p> for (int i = 0; i < lb.length; i++) {</p><p> lb[i] = new JLabel("", JLabel.RIGHT);</p><p>&
101、lt;b> }</b></p><p> tf = new JTextField[2];</p><p> for (int i = 0; i < tf.length; i++) {</p><p> tf[i] = new JTextField(3);</p><p><b> }</b&g
102、t;</p><p> // 初始化 pan</p><p> pan = new JPanel[7];</p><p> for (int i = 0; i < pan.length; i++) {</p><p> pan[i] = new JPanel();</p><p><b> }
103、</b></p><p> lb[0].setText("請選擇刪除方式:");</p><p> // 以下進行初級設(shè)置</p><p> pan[0].setLayout(card);</p><p> pan[1].setLayout(new GridLayout(3, 1, 0, 20));&l
104、t;/p><p> pan[2].setLayout(new FlowLayout());</p><p> pan[3].setLayout(new FlowLayout());</p><p><b> // 以下進入正題</b></p><p> cmb.addItem("刪除某一特定學(xué)生"
105、);</p><p> cmb.addItem("刪除某一學(xué)號段內(nèi)的學(xué)生");</p><p> pan[2].add(lb[0]);</p><p> pan[2].add(cmb);</p><p> pan[3].add(bt);</p><p> pan[1].add(lable)
106、;</p><p> pan[1].add(pan[2]);</p><p> pan[1].add(pan[3]);</p><p> lable1 = new JLabel("請輸入要刪除的學(xué)生的信息", JLabel.CENTER);</p><p> //lable1.setForeground(Color
107、.red);</p><p> lable1.setFont(new Font("華文行楷", Font.BOLD, 30));</p><p> lb[1].setText("學(xué)號 ");</p><p> lb[2].setText("姓名 ");</p><p> pa
108、n[4].setLayout(new BorderLayout());</p><p> pan[5].setLayout(new GridLayout(4, 3, 0, 70));</p><p> pan[6].setLayout(new FlowLayout());</p><p> pan[5].add(new JLabel(" "
109、;));</p><p> pan[5].add(new JLabel(" "));</p><p> pan[5].add(new JLabel(" "));</p><p> pan[5].add(lb[1]);</p><p> pan[5].add(tf[0]);</p>
110、<p> pan[5].add(new JLabel(" "));</p><p> pan[5].add(lb[2]);</p><p> pan[5].add(tf[1]);</p><p> pan[5].add(new JLabel(" "));</p><p> p
111、an[6].add(handin);</p><p> pan[4].add("North", lable1);</p><p> pan[4].add("Center", pan[5]);</p><p> pan[4].add("South", pan[6]);</p><p&
112、gt; //pan[0].add("card1", pan[1]);</p><p> pan[0].add("card2", pan[4]);</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e) {<
113、;/p><p> // ********************************************************</p><p> if (e.getSource() == bt) {</p><p> card.show(pan[0], "card2");</p><p><b>
114、}</b></p><p> // ********************************************************</p><p> if (e.getSource() == handin) {</p><p><b> try {</b></p><p> con
115、= DriverManager.getConnection("jdbc:odbc:student","sa","");</p><p> s = con.createStatement();</p><p> } catch (SQLException e2) {</p><p> JOptionPa
116、ne.showMessageDialog(studentGUI.cp, "系統(tǒng)出錯!!",</p><p> "學(xué)生信息管理系統(tǒng)", JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p> String id = tf[0].getText
117、();</p><p> String name = tf[1].getText();</p><p> tf[0].setText("");</p><p> tf[1].setText("");</p><p><b> try {</b></p><
118、;p> del(id, name);</p><p> } catch (SQLException e1) {</p><p> JOptionPane.showMessageDialog(studentGUI.cp, "系統(tǒng)出錯!!",</p><p> "學(xué)生信息管理系統(tǒng)", JOptionPane.WARN
119、ING_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> // ****************************************************
120、****</p><p> public void del(String id, String name) throws SQLException {</p><p> if(name.equals("")&&id.equals("")){</p><p> JOptionPane.showMessage
121、Dialog(studentGUI.cp, "學(xué)號和姓名不能同時為空!!", "學(xué)生信息管理系統(tǒng)",</p><p> JOptionPane.PLAIN_MESSAGE);</p><p><b> }</b></p><p><b> else{ </b></p>
122、;<p> if (name.equals("")) {</p><p> PreparedStatement ps = con</p><p> .prepareStatement("delete from student where sno=?");</p><p> ps.setString(1,
123、id);</p><p> ps.executeUpdate();</p><p><b> }</b></p><p> else if (id.equals("")) {</p><p> PreparedStatement ps = con</p><p> .
124、prepareStatement("delete from student where sname=?");</p><p> ps.setString(1, name);</p><p> ps.executeUpdate();</p><p><b> }</b></p><p><b
125、> else </b></p><p><b> {</b></p><p> PreparedStatement ps = con</p><p> .prepareStatement("delete from student where sname=? and sno=?");</p>
126、;<p> ps.setString(1, name);</p><p> ps.setString(2, id);</p><p> ps.executeUpdate();</p><p><b> }</b></p><p> JOptionPane.showMessageDialog(stu
127、dentGUI.cp, "操作成功!!", "學(xué)生信息管理系統(tǒng)",</p><p> JOptionPane.PLAIN_MESSAGE);</p><p><b> }</b></p><p> s.close();</p><p> con.close();</p
128、><p><b> }</b></p><p> //******************************************************* </p><p><b> }</b></p><p><b> 3、查詢</b></p>&
129、lt;p> public class search implements ActionListener, ItemListener {</p><p> JLabel lb[], lable, lable1;</p><p> JPanel pan[];</p><p> JComboBox cmb;</p><p> JTe
130、xtField tf1, tf[];</p><p> JButton bt, handin;</p><p> CardLayout card;</p><p> Connection con;</p><p> Statement s;</p><p> private RSTable table;<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計學(xué)生信息管理系統(tǒng)
- sql數(shù)據(jù)庫(學(xué)生信息管理系統(tǒng))課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計---學(xué)生信息管理系統(tǒng)設(shè)計
- 學(xué)生信息管理數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫原理b課程設(shè)計--數(shù)據(jù)庫學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生信息管理系統(tǒng) (2)
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生選課信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---學(xué)生學(xué)籍信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告書(學(xué)生信息管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計之學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告-宿舍信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告----賓館信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告--教室信息管理系統(tǒng)
- 數(shù)據(jù)庫原理課程設(shè)計報告---學(xué)生信息管理信息系統(tǒng)
評論
0/150
提交評論