版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 課程名稱 數(shù)據(jù)庫(kù)課程設(shè)計(jì) </p><p> 設(shè)計(jì)題目 車輛管理系統(tǒng) </p><p> 專業(yè)班級(jí) 計(jì)算機(jī)1042 </p><p> 2012-2013第1學(xué)期《數(shù)據(jù)庫(kù)課程
2、設(shè)計(jì)》任務(wù)書(shū)</p><p> 班級(jí):計(jì)算10412; 指導(dǎo)教師:張秀坤、丁柏秀、王麗平、耿曉中;</p><p> 地點(diǎn):計(jì)算機(jī)綜合實(shí)驗(yàn)室; 時(shí)間:第1、2周。</p><p><b> 一、課程設(shè)計(jì)題目</b></p><p> 選擇下列題目中的一種:</p><p>
3、1. 小區(qū)物業(yè)管理系統(tǒng) 2. 高校工資管理系統(tǒng)</p><p> 3. 教材管理系統(tǒng) 4. 酒店管理系統(tǒng)</p><p> 5. 高校教職工管理系統(tǒng) 6.圖書(shū)管理系統(tǒng)</p><p> 7.火車訂票管理系統(tǒng) 8.企業(yè)人事管理系統(tǒng)</p><p> 9.商品庫(kù)存管理系統(tǒng) 10.醫(yī)院藥
4、品管理系統(tǒng)</p><p> 11. 學(xué)生成績(jī)管理系統(tǒng) 12. 高校學(xué)籍管理系統(tǒng)</p><p> 13. 航空訂票管理系統(tǒng) 14. 學(xué)費(fèi)管理系統(tǒng)</p><p> 15. 城市居民戶籍管理系統(tǒng) 16.超市管理系統(tǒng)</p><p> 17.學(xué)費(fèi)管理系統(tǒng) 18.車輛管理系統(tǒng)</p>
5、<p> 19. 房地產(chǎn)管理系統(tǒng) 20. 企業(yè)物資管理系統(tǒng)</p><p><b> 21、其它自選題目</b></p><p> 注:每個(gè)學(xué)生可根據(jù)自己的學(xué)識(shí)水平,設(shè)計(jì)能力,在指導(dǎo)教師指導(dǎo)下選擇所設(shè)計(jì)的題目。</p><p> ?。ㄔ瓌t上選題,學(xué)號(hào)1-20題目分別對(duì)應(yīng)1-20,21-40分別對(duì)應(yīng)1-20,以此類推
6、)</p><p><b> 二、目的與要求 </b></p><p><b> 1、目的 </b></p><p> 通過(guò)課程設(shè)計(jì),讓學(xué)生能夠全面了解數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程,驗(yàn)證課堂教學(xué)中的理論;掌握數(shù)據(jù)庫(kù)系統(tǒng)的基本概念、基本原理及應(yīng)用技術(shù);掌握SQL語(yǔ)言的定義和各種操作能力,進(jìn)一步掌握SQL語(yǔ)言的數(shù)據(jù)庫(kù)編程
7、技能;學(xué)會(huì)利用課堂上已學(xué)過(guò)的數(shù)據(jù)庫(kù)知識(shí)進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì);使學(xué)生對(duì)開(kāi)發(fā)信息管理系統(tǒng)有一個(gè)總體認(rèn)識(shí),可使學(xué)生得到很好鍛煉,為以后學(xué)習(xí)、工作打下堅(jiān)實(shí)基礎(chǔ)。</p><p><b> 2、基本要求 </b></p><p> ?。?)要求獨(dú)立完成自己題目的課程設(shè)計(jì),如有抄襲,成績(jī)按不及格處理。</p><p> ?。?)要求學(xué)生利用數(shù)據(jù)庫(kù)原理課程所學(xué)知
8、識(shí)和方法獨(dú)立完成所布置題目。</p><p> ?。?)要求所設(shè)計(jì)的系統(tǒng)規(guī)模適中,用SQL語(yǔ)句實(shí)現(xiàn)基本的增、刪、改、查詢功能。</p><p> (4)數(shù)據(jù)庫(kù)中至少要包含三個(gè)表,且每個(gè)表都要滿足3NF,指明主碼、外碼等。</p><p> ?。?)盡量多的使用SQL Server2005中的對(duì)象,如:視圖、觸發(fā)器、約束、默認(rèn)、規(guī)則、索引等。</p>
9、<p> ?。?)簡(jiǎn)單的系統(tǒng)與功能分析,建立數(shù)據(jù)結(jié)構(gòu)表。</p><p> (7)每天下機(jī)時(shí),要及時(shí)將自己的開(kāi)發(fā)拷貝帶走;上機(jī)期間,學(xué)生要服從指導(dǎo)教師的統(tǒng)一安排,遵守機(jī)房制度;嚴(yán)格遵守紀(jì)律,不遲到,不早退,無(wú)故缺勤者,成績(jī)按不及格處理。</p><p><b> 三、設(shè)計(jì)方法 </b></p><p> (1)設(shè)計(jì)題目確定、申報(bào)
10、、素材準(zhǔn)備與設(shè)計(jì)。</p><p> ?。?)系統(tǒng)需求分析與功能設(shè)計(jì):闡明應(yīng)用系統(tǒng)背景,組織結(jié)構(gòu)情況以及需求分析的過(guò)程,并繪制出數(shù)據(jù)流程圖,寫(xiě)出數(shù)據(jù)字典。</p><p> ?。?)概念結(jié)構(gòu)設(shè)計(jì):根據(jù)概念結(jié)構(gòu)設(shè)計(jì)的基本原則,確定概念模型,并闡明分析步驟和理論依據(jù)完成數(shù)據(jù)庫(kù)的概念設(shè)計(jì),畫(huà)出E-R圖。</p><p> ?。?)邏輯結(jié)構(gòu)設(shè)計(jì):根據(jù)需求分析和概念模型,將實(shí)
11、體及實(shí)體間的聯(lián)系按一定的轉(zhuǎn)換規(guī)則轉(zhuǎn)換為關(guān)系模型,寫(xiě)出轉(zhuǎn)換步驟及相應(yīng)的理論依據(jù),并確定主碼、外碼。按數(shù)據(jù)庫(kù)設(shè)計(jì)方法和規(guī)范化理論得出符合3NF的邏輯模型。</p><p> ?。?)利用SQL Server2005建立相應(yīng)的數(shù)據(jù)庫(kù)對(duì)象。</p><p> ?。?)利用SQL語(yǔ)句實(shí)現(xiàn)相應(yīng)功能。</p><p> ?。?)編寫(xiě)數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告并提交相應(yīng)資料與成果。<
12、/p><p><b> 四、任務(wù)安排</b></p><p> (一)時(shí)間:1周。具體安排如下: </p><p> 1、確定題目,需求分析。</p><p> 2、概要設(shè)計(jì)、邏輯設(shè)計(jì)。 </p><p> 3、建立數(shù)據(jù)庫(kù)及其操作。</p><p> 4、上
13、機(jī)考核驗(yàn)收答辯。</p><p> 5、寫(xiě)實(shí)習(xí)報(bào)告并提交。</p><p> ?。ǘ┑攸c(diǎn):計(jì)算機(jī)綜合實(shí)驗(yàn)室</p><p><b> 五、調(diào)試</b></p><p> 在機(jī)房進(jìn)行調(diào)試,可完成相應(yīng)功能。記錄調(diào)試過(guò)程中遇到的問(wèn)題及解決方法,寫(xiě)在課程設(shè)計(jì)報(bào)告中。</p><p><b&g
14、t; 六、答辯與評(píng)分標(biāo)準(zhǔn)</b></p><p> 通過(guò)設(shè)計(jì)答辯方式,并結(jié)合學(xué)生的動(dòng)手能力,獨(dú)立分析解決問(wèn)題的能力和創(chuàng)新精神,總結(jié)報(bào)告和答辯水平以及學(xué)習(xí)態(tài)度綜合考評(píng)。成績(jī)按五級(jí)分進(jìn)行評(píng)定,成績(jī)分為優(yōu)、良、中、及格、不及格。</p><p> 1、平時(shí)表現(xiàn):30分; </p><p> 2、課程設(shè)計(jì)報(bào)告:30分; </p><p
15、> 3、課程設(shè)計(jì)答辯:40分,其中完成基本功能30分,回答問(wèn)題10分。</p><p> 1. 系統(tǒng)設(shè)計(jì)與需求分析 </p><p> 車輛管理系統(tǒng),可用于公司、小區(qū)等的車輛管理,查詢,更新與維護(hù),使用方便,易用性強(qiáng),圖形界面清晰明了。該軟件用java語(yǔ)言編寫(xiě),用SQLServer2005數(shù)據(jù)庫(kù)作為后臺(tái)的數(shù)據(jù)庫(kù)進(jìn)行信息的存儲(chǔ),用SQL語(yǔ)句完成車輛信息的添加,查詢,修改,
16、刪除的操作以及車輛信息的錄入,修改,刪除等。用ODBC驅(qū)動(dòng)實(shí)現(xiàn)前臺(tái)Java與后臺(tái)SQL數(shù)據(jù)庫(kù)的連接。Java語(yǔ)言跨平臺(tái)性強(qiáng),可以在windows,linux,ubuntu等系統(tǒng)下使用,方便簡(jiǎn)單,安全性好。SQLServer2005數(shù)據(jù)庫(kù)高效安全,兩者結(jié)合可相互利用各自的優(yōu)勢(shì)。</p><p><b> 數(shù)據(jù)字典</b></p><p><b> ●數(shù)據(jù)存
17、儲(chǔ)及數(shù)據(jù)流</b></p><p> 該系統(tǒng)實(shí)現(xiàn)的大致功能:</p><p> 用戶登陸界面。該界面需要用戶提供ID號(hào)和密碼輸入正確即可登錄車輛管理界面。提供了六項(xiàng)已經(jīng)做好的功能和一項(xiàng)自定義功能。</p><p> 在自定義功能里可以實(shí)現(xiàn)對(duì)車輛信息的查詢,添加,修改,刪除等功能。</p><p> 管理員管理界面。擁有最高
18、的權(quán)限。允許添加教師信息和課程信息等。</p><p> 2. 數(shù)據(jù)庫(kù)計(jì) </p><p> 2.1 系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 2.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p><b> 司機(jī)信息表:</b></p><p><b> 車輛信息表:</b&g
19、t;</p><p><b> 車輛事故表:</b></p><p><b> 車輛派發(fā)表:</b></p><p><b> 車輛維護(hù)表:</b></p><p> 2.3 數(shù)據(jù)庫(kù)關(guān)系圖</p><p> 3. 創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象</p&
20、gt;<p> 3.1 SQL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)表的創(chuàng)建</p><p> ?。?)司機(jī)信息表創(chuàng)建:</p><p> CREATE TABLE Driver (</p><p> Dno char(10) primary key , </p><p> Dname char(20) not null,</p>
21、<p> Dsex char(2) check (Dsex in('男','女')),</p><p> Dage smallint,</p><p> Daddress varchar(20),</p><p> Dtelephone char(20),</p><p> Dstate c
22、har(2)</p><p><b> );</b></p><p> ?。?)汽車信息表創(chuàng)建:</p><p> CREATE TABLE Vehicle (</p><p> Vlicense char(10) primary key , </p><p> Vtype varchar
23、(20) not null,</p><p> Vcolor char(5),</p><p> Vstate varchar(5)</p><p><b> );</b></p><p> ?。?)汽車事故表創(chuàng)建:</p><p> CREATE TABLE Vehicle_Accide
24、nt (</p><p> Vlicense char(10)not null, </p><p> Dno char(10)not null,</p><p> VaccidentTime datetime not null,</p><p> VaccidentPlace varchar(20)not null,</p>
25、;<p> VaccidentReason varchar(20)not null,</p><p> VaccidentMethod varchar(20)not null,</p><p> primary key (Vlicense,Dno),</p><p> foreign key (Vlicense) references Vehi
26、cle(Vlicense),</p><p> foreign key (Dno) references Driver(Dno)</p><p><b> );</b></p><p> ?。?)車輛派發(fā)表創(chuàng)建:</p><p> CREATE TABLE Vehicle_Distribution (</p&
27、gt;<p> Vlicense char(10)not null, </p><p> Dno char(10)not null,</p><p> StartTime datetime not null,</p><p> EndTime datetime not null,</p><p> Distance f
28、loat not null,</p><p> primary key (Vlicense,Dno),</p><p> foreign key (Vlicense) references Vehicle(Vlicense),</p><p> foreign key (Dno) references Driver(Dno)</p><p&
29、gt;<b> );</b></p><p> (5)車輛維護(hù)表創(chuàng)建:</p><p> CREATE TABLE Vehicle_Repair (</p><p> Vlicense char(10)not null, </p><p> Dno char(10)not null,</p>&l
30、t;p> VfixTime datetime not null,</p><p> VfixContext varchar(20),</p><p> VfixPrice float,</p><p> primary key (Vlicense,Dno),</p><p> foreign key (Vlicense) re
31、ferences Vehicle(Vlicense),</p><p> foreign key (Dno) references Driver(Dno)</p><p><b> );</b></p><p> 3.2 SQL語(yǔ)句實(shí)現(xiàn)視圖的創(chuàng)建</p><p> (1)“車輛派發(fā)View”視圖創(chuàng)建:</p
32、><p> SELECT dbo.Vehicle_Distribution.Vlicense AS 車牌號(hào), dbo.Driver.Dname AS 司機(jī)姓名, dbo.Driver.Dno AS 司機(jī)編號(hào), dbo.Driver.Dtelephone AS 聯(lián)系電話, </p><p> dbo.Vehicle_Distribution.StartTime AS 出車時(shí)間, </p
33、><p> dbo.Vehicle_Distribution.EndTime AS 結(jié)束時(shí)間, </p><p> dbo.Vehicle_Distribution.Distance AS 出車?yán)锍? </p><p> dbo.Driver.Dstate AS 司機(jī)狀態(tài)</p><p> FROM dbo.Driver INNER J
34、OIN</p><p> dbo.Vehicle_Distribution ON dbo.Driver.Dno = </p><p> dbo.Vehicle_Distribution.Dno</p><p> (2) “車輛維護(hù)View”視圖創(chuàng)建:</p><p> SELECT dbo.Vehicle_Repair.Vlicens
35、e AS 車牌號(hào), dbo.Driver.Dname AS 司機(jī)姓名, dbo.Driver.Dno AS 司機(jī)編號(hào), dbo.Driver.Dtelephone AS 司機(jī)電話, </p><p> dbo.Vehicle_Repair.VfixTime AS 維護(hù)時(shí)間, dbo.Vehicle_Repair.VfixContext AS 維護(hù)內(nèi)容, dbo.Vehicle_Repair.VfixPrice
36、AS 維護(hù)費(fèi)用</p><p> FROM dbo.Driver INNER JOIN</p><p> dbo.Vehicle_Repair ON dbo.Driver.Dno = dbo.Vehicle_Repair.Dno</p><p> (3) “車輛事故View”視圖創(chuàng)建:</p><p> SELECT TOP (10
37、0) PERCENT dbo.Driver.Dno AS 司機(jī)編號(hào), dbo.Driver.Dname AS 司機(jī)姓名, dbo.Driver.Dtelephone AS 聯(lián)系方式, </p><p> dbo.Vehicle_Accident.Vlicense AS 車牌號(hào), dbo.Vehicle_Accident.VaccidentTime AS 事故時(shí)間, dbo.Vehicle_Accident.Va
38、ccidentPlace AS 事故地點(diǎn), </p><p> dbo.Vehicle_Accident.VaccidentReason AS 事故原因, dbo.Vehicle_Accident.VaccidentMethod AS 處理方法</p><p> FROM dbo.Driver INNER JOIN</p><p> dbo.Vehicle_
39、Accident ON dbo.Driver.Dno = dbo.Vehicle_Accident.Dno</p><p> ORDER BY 司機(jī)編號(hào)</p><p> 4. 系統(tǒng)模塊詳細(xì)設(shè)計(jì)</p><p><b> 登錄界面</b></p><p> 4.2 各用戶操作模塊</p><
40、p><b> 課程設(shè)計(jì)總結(jié)</b></p><p> 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程. 本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來(lái)這門課的知識(shí)學(xué)的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過(guò)程中碰到了很多問(wèn)題,剛開(kāi)始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書(shū)、同學(xué)和老師的幫助下都得到了
41、解決,讓我學(xué)會(huì)了好多書(shū)本上沒(méi)有的東西,通過(guò)本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。 </p><p> 通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,
42、只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p><p><b> 6.附錄(代碼)</b></p><p> 由于篇幅有限,所以只附上主要功能的代碼:</p><p> 6.1登陸界面與主功能界面:</p><p
43、> import java.sql.Connection;</p><p> import java.sql.DriverManager;</p><p> import javax.swing.JFrame;</p><p> import javax.swing.JOptionPane;</p><p> class Lo
44、go extends javax.swing.JFrame {</p><p> public Logo() {</p><p> initComponents();</p><p><b> }</b></p><p> private void initComponents() {</p>&l
45、t;p> buttonGroup1 = new javax.swing.ButtonGroup();</p><p> jButton1 = new javax.swing.JButton();</p><p> jButton2 = new javax.swing.JButton();</p><p> jLabel1 = new javax.swi
46、ng.JLabel();</p><p> jTextField1 = new javax.swing.JTextField();</p><p> jTextField2 = new javax.swing.JTextField();</p><p> jLabel2 = new javax.swing.JLabel();</p><p&
47、gt; jLabel3 = new javax.swing.JLabel();</p><p> setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);</p><p> setTitle("\u8f66\u8f86\u7ba1\u7406\u7cfb\u7edf");</p&
48、gt;<p> setBounds(new java.awt.Rectangle(200, 200, 300, 400));</p><p> setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));</p><p> setName("\u8f66\u8f86\u7ba1\u7406\u7cfb
49、\u7edf");</p><p> jButton1.setText("\u767b\u5f55");</p><p> jButton1.setToolTipText("\u767b\u5f55\u8be5\u7cfb\u7edf");</p><p> jButton1.setNextFocusableC
50、omponent(jButton1);</p><p> jButton1.setSelected(true);</p><p> jButton1.addActionListener(new java.awt.event.ActionListener() {</p><p> public void actionPerformed(java.awt.even
51、t.ActionEvent evt) {</p><p> jButton1ActionPerformed(evt);</p><p><b> }</b></p><p><b> });</b></p><p> jButton2.setText("\u9000\u51fa&q
52、uot;);</p><p> jButton2.setToolTipText("\u9000\u51fa\u8be5\u7cfb\u7edf");</p><p> jButton2.addActionListener(new java.awt.event.ActionListener() {</p><p> public void a
53、ctionPerformed(java.awt.event.ActionEvent evt) {</p><p> jButton2ActionPerformed(evt);</p><p><b> }</b></p><p><b> });</b></p><p> jLabel1.s
54、etFont(new java.awt.Font("微軟雅黑", 0, 24));</p><p><b> jLabel1</b></p><p> .setText("\u6b22\u8fce\u4f7f\u7528\u8f66\u8f86\u7ba1\u7406\u7cfb\u7edf");</p>&l
55、t;p> jLabel1.setToolTipText("Welcome");</p><p> jLabel2.setFont(new java.awt.Font("黑體", 0, 18));</p><p> jLabel2.setText("\u767b\u5f55\u540d");</p><
56、;p> jLabel3.setFont(new java.awt.Font("黑體", 0, 18));</p><p> jLabel3.setText("\u5bc6\u7801");</p><p> javax.swing.GroupLayout layout = new javax.swing.GroupLayout(</
57、p><p> getContentPane());</p><p> getContentPane().setLayout(layout);</p><p><b> layout</b></p><p> .setHorizontalGroup(layout</p><p> .creat
58、eParallelGroup(</p><p> javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addGroup(</p><p> javax.swing.GroupLayout.Alignment.TRAILING,</p><p> layout.createSeque
59、ntialGroup().addContainerGap(</p><p> 61, Short.MAX_VALUE).addComponent(</p><p> jLabel1).addGap(60, 60, 60))</p><p> .addGroup(</p><p> layout.createSequentialGrou
60、p().addGap(77, 77,</p><p> 77).addComponent(jButton1).addGap(71,</p><p> 71, 71).addComponent(jButton2)</p><p> .addContainerGap(87, Short.MAX_VALUE))</p><p> .addG
61、roup(</p><p><b> layout</b></p><p> .createSequentialGroup()</p><p> .addGap(31, 31, 31)</p><p> .addGroup(</p><p><b> layout</b&
62、gt;</p><p> .createParallelGroup(</p><p> javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addComponent(jLabel3)</p><p> .addComponent(jLabel2))</p><p
63、> .addGap(22, 22, 22)</p><p> .addGroup(</p><p><b> layout</b></p><p> .createParallelGroup(</p><p> javax.swing.GroupLayout.Alignment.TRAILING,<
64、/p><p><b> false)</b></p><p> .addComponent(</p><p> jTextField2,</p><p> javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addComponent(&l
65、t;/p><p> jTextField1,</p><p> javax.swing.GroupLayout.Alignment.LEADING,</p><p> javax.swing.GroupLayout.DEFAULT_SIZE,</p><p><b> 156,</b></p><
66、p> Short.MAX_VALUE))</p><p> .addContainerGap(98, Short.MAX_VALUE)));</p><p><b> layout</b></p><p> .setVerticalGroup(layout</p><p> .createParallel
67、Group(</p><p> javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addGroup(</p><p><b> layout</b></p><p> .createSequentialGroup()</p><p>
68、 .addGap(86, 86, 86)</p><p> .addComponent(jLabel1)</p><p> .addGap(37, 37, 37)</p><p> .addGroup(</p><p><b> layout</b></p><p> .createP
69、arallelGroup(</p><p> javax.swing.GroupLayout.Alignment.BASELINE)</p><p> .addComponent(</p><p> jTextField1,</p><p> javax.swing.GroupLayout.PREFERRED_SIZE,</p&
70、gt;<p><b> 24,</b></p><p> javax.swing.GroupLayout.PREFERRED_SIZE)</p><p> .addComponent(</p><p><b> jLabel2,</b></p><p> javax.swin
71、g.GroupLayout.PREFERRED_SIZE,</p><p><b> 24,</b></p><p> javax.swing.GroupLayout.PREFERRED_SIZE))</p><p> .addGap(32, 32, 32)</p><p> .addGroup(</p&g
72、t;<p><b> layout</b></p><p> .createParallelGroup(</p><p> javax.swing.GroupLayout.Alignment.TRAILING)</p><p> .addComponent(jLabel3)</p><p> .a
73、ddComponent(</p><p> jTextField2,</p><p> javax.swing.GroupLayout.PREFERRED_SIZE,</p><p> javax.swing.GroupLayout.DEFAULT_SIZE,</p><p> javax.swing.GroupLayout.PREF
74、ERRED_SIZE))</p><p> .addPreferredGap(</p><p> javax.swing.LayoutStyle.ComponentPlacement.RELATED,</p><p> 47, Short.MAX_VALUE)</p><p> .addGroup(</p><p&
75、gt;<b> layout</b></p><p> .createParallelGroup(</p><p> javax.swing.GroupLayout.Alignment.BASELINE)</p><p> .addComponent(jButton1)</p><p> .addCompone
76、nt(jButton2))</p><p> .addGap(88, 88, 88)));</p><p><b> pack();</b></p><p> }// </editor-fold></p><p> //GEN-END:initComponents</p><p&g
77、t; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> // TODO add your handling code here:</p><p> if ((jTextField2.getText().toString().equals("admin"))
78、</p><p> && jTextField1.getText().toString().equals("admin")) {</p><p> java.awt.EventQueue.invokeLater(new Runnable() {</p><p> public void run() {</p>
79、<p> new Inquire().setVisible(true);</p><p><b> }</b></p><p><b> });</b></p><p><b> } else {</b></p><p> JOptionPane.showM
80、essageDialog(null, "請(qǐng)確認(rèn)用戶名和密碼!", "提示",</p><p> JOptionPane.INFORMATION_MESSAGE, null);</p><p><b> }</b></p><p><b> }</b></p>&l
81、t;p> private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> // TODO add your handling code here:</p><p> System.exit(0);</p><p><b> }</b>&
82、lt;/p><p> private javax.swing.ButtonGroup buttonGroup1;</p><p> private javax.swing.JButton jButton1;</p><p> private javax.swing.JButton jButton2;</p><p> private ja
83、vax.swing.JLabel jLabel1;</p><p> private javax.swing.JLabel jLabel2;</p><p> private javax.swing.JLabel jLabel3;</p><p> private javax.swing.JTextField jTextField1;</p>&
84、lt;p> private javax.swing.JTextField jTextField2;</p><p><b> }</b></p><p> 6.2 連接數(shù)據(jù)庫(kù):</p><p> import java.sql.Connection;</p><p> import java.sql.Dr
85、iverManager;</p><p> import java.sql.ResultSet;</p><p> import java.sql.SQLException;</p><p> import java.sql.Statement;</p><p> public class ConnectDB {</p>
86、<p> private static final String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加載JDBC驅(qū)動(dòng)</p><p> String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=Vehicle-
87、Management"; // 連接服務(wù)器和數(shù)據(jù)庫(kù)Student-Couse</p><p> String userName = "sa"; // 默認(rèn)用戶名</p><p> String userPwd = "abc123"; // sql server 2005時(shí)的密碼</p><p> Connect
88、ion dbConn;</p><p> public Connection getDbConn() {</p><p> return dbConn;</p><p><b> }</b></p><p> Statement st;</p><p> ResultSet rs;<
89、;/p><p> DisplayDialog dlg;</p><p><b> static {</b></p><p><b> try {</b></p><p> Class.forName(driverName);</p><p> System.out.pr
90、intln("Connection Successful!"); //如果連接成功 控制臺(tái)輸出Connection Successful!</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p>
91、;<p><b> }</b></p><p> private void getConn(){</p><p><b> try {</b></p><p> dbConn=DriverManager.getConnection(dbURL,userName,userPwd);</p>
92、<p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> private void getStatement(){&l
93、t;/p><p> getConn();</p><p><b> try {</b></p><p> st=dbConn.createStatement();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace()
94、;</p><p><b> }</b></p><p><b> }</b></p><p> public ResultSet query(String sql){</p><p> getStatement();</p><p><b> try {
95、</b></p><p> rs=st.executeQuery(sql);</p><p> return rs;</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p> return null;<
96、;/p><p><b> }</b></p><p><b> }</b></p><p> public void Update(String sql){</p><p> getStatement();</p><p><b> try {</b&g
97、t;</p><p> st.executeUpdate(sql);</p><p> } catch (SQLException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><
98、;b> }</b></p><p><b> }</b></p><p> public void ShowDialog(Connection dbConn,String sql,Object[]name,String title){</p><p> DisplayDialog dlg = new DisplayDi
99、alog(dbConn,sql,name,title);</p><p><b> }</b></p><p><b> }</b></p><p> 6.3 顯示查詢結(jié)果:</p><p> import java.awt.BorderLayout;</p><p&g
100、t; import java.sql.Connection;</p><p> import java.sql.ResultSet;</p><p> import java.sql.ResultSetMetaData;</p><p> import java.sql.SQLException;</p><p> import j
101、ava.sql.Statement;</p><p> import javax.swing.JDialog;</p><p> import javax.swing.JFrame;</p><p> import javax.swing.JLabel;</p><p> import javax.swing.JScrollPane;
102、</p><p> import javax.swing.JTable;</p><p> public class DisplayDialog extends JDialog {//假設(shè)表格在JDialog上</p><p> Statement stmt = null;</p><p> DisplayDialog(Connect
103、ion connection, String sql,</p><p> Object[] name,String title) {</p><p> this.setBounds(200, 200, 600, 500);</p><p> this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</
104、p><p> this.setVisible(true);</p><p> this.setTitle(title);</p><p><b> try {</b></p><p> stmt = connection.createStatement(</p><p> ResultSet
105、.TYPE_SCROLL_INSENSITIVE,// 對(duì)滾動(dòng)不敏感,結(jié)果集可滾來(lái)滾去</p><p> ResultSet.CONCUR_READ_ONLY);// 只能夠讀取里邊的內(nèi)容,</p><p> ResultSet rs = stmt.executeQuery(sql);</p><p> rs.last();// 指到定位到最后一行</p
106、><p> int row = rs.getRow();// 獲得總行數(shù)</p><p> rs.beforeFirst();// 定位到開(kāi)始</p><p> ResultSetMetaData rsmd1 = rs.getMetaData();// 計(jì)算字段個(gè)數(shù)</p><p> int col = rsmd1.getColumnCo
107、unt(); // 計(jì)算字段個(gè)數(shù)</p><p> Object a[][] = new Object[row][col];</p><p> JTable table = new JTable(a, name);</p><p> for (int index = 0; rs.next(); index++)</p><p> fo
108、r (int j = 0; j < col; j++)</p><p> a[index][j] = rs.getString(j + 1);</p><p> getContentPane().removeAll();</p><p> add(new JScrollPane(table), BorderLayout.CENTER);</p>
109、;<p> validate();</p><p> rs.close();</p><p> } catch (SQLException e) {</p><p> System.out.println("SQL語(yǔ)句無(wú)效");</p><p> add(new JLabel("SQL語(yǔ)句
110、無(wú)效"));</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 6.4 主
111、函數(shù):</b></p><p> public class VehicleManagement {</p><p> public static void main(String[] args) {</p><p> // TODO Auto-generated method stub</p><p> java.awt.
112、EventQueue.invokeLater(new Runnable() {</p><p> public void run() {</p><p> new Logo().setVisible(true);</p><p><b> }</b></p><p><b> });</b>
113、</p><p><b> }</b></p><p><b> }</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1] 王珊 薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論 第四版.出版地:高等教育出版社,2006年5月</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《車輛信息管理》課程設(shè)計(jì)--車輛信息管理系統(tǒng)
- 車輛出入庫(kù)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----車輛管理系統(tǒng)
- c++課程設(shè)計(jì)之車輛管理系統(tǒng)
- 車輛管理系統(tǒng)和學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---plc控制車輛出入庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--車輛租賃管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)車輛租賃管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-車輛管理
- 管理信息系統(tǒng)課程設(shè)計(jì)報(bào)告---車輛租賃管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告-車輛故障管理系統(tǒng)
- plc車輛入庫(kù)管理課程設(shè)計(jì)
- plc車輛入庫(kù)管理課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---運(yùn)輸企業(yè)車輛信息管理系統(tǒng)
- web課程設(shè)計(jì)--課程管理系統(tǒng)
- 課程設(shè)計(jì)---停車場(chǎng)停車場(chǎng)車輛管理系統(tǒng)實(shí)現(xiàn)與設(shè)計(jì)
- 《面向?qū)ο笳n程設(shè)計(jì)》課程設(shè)計(jì)---媒體管理系統(tǒng)
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- 車輛出入庫(kù)plc控制系統(tǒng)課程設(shè)計(jì)
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論