課程設(shè)計---車輛管理系統(tǒng)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p>  課程名稱 數(shù)據(jù)庫課程設(shè)計 </p><p>  設(shè)計題目 車輛管理系統(tǒng) </p><p>  專業(yè)班級 計算機1042 </p><p>  2012-2013第1學(xué)期《數(shù)據(jù)庫課程

2、設(shè)計》任務(wù)書</p><p>  班級:計算10412; 指導(dǎo)教師:張秀坤、丁柏秀、王麗平、耿曉中;</p><p>  地點:計算機綜合實驗室; 時間:第1、2周。</p><p><b>  一、課程設(shè)計題目</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.圖書管理系統(tǒng)</p><p>  7.火車訂票管理系統(tǒng) 8.企業(yè)人事管理系統(tǒng)</p><p>  9.商品庫存管理系統(tǒng) 10.醫(yī)院藥

4、品管理系統(tǒng)</p><p>  11. 學(xué)生成績管理系統(tǒng) 12. 高校學(xué)籍管理系統(tǒng)</p><p>  13. 航空訂票管理系統(tǒng) 14. 學(xué)費管理系統(tǒng)</p><p>  15. 城市居民戶籍管理系統(tǒng) 16.超市管理系統(tǒng)</p><p>  17.學(xué)費管理系統(tǒng) 18.車輛管理系統(tǒng)</p>

5、<p>  19. 房地產(chǎn)管理系統(tǒng) 20. 企業(yè)物資管理系統(tǒng)</p><p><b>  21、其它自選題目</b></p><p>  注:每個學(xué)生可根據(jù)自己的學(xué)識水平,設(shè)計能力,在指導(dǎo)教師指導(dǎo)下選擇所設(shè)計的題目。</p><p> ?。ㄔ瓌t上選題,學(xué)號1-20題目分別對應(yīng)1-20,21-40分別對應(yīng)1-20,以此類推

6、)</p><p><b>  二、目的與要求 </b></p><p><b>  1、目的 </b></p><p>  通過課程設(shè)計,讓學(xué)生能夠全面了解數(shù)據(jù)庫應(yīng)用系統(tǒng)的整個開發(fā)過程,驗證課堂教學(xué)中的理論;掌握數(shù)據(jù)庫系統(tǒng)的基本概念、基本原理及應(yīng)用技術(shù);掌握SQL語言的定義和各種操作能力,進一步掌握SQL語言的數(shù)據(jù)庫編程

7、技能;學(xué)會利用課堂上已學(xué)過的數(shù)據(jù)庫知識進行數(shù)據(jù)庫設(shè)計;使學(xué)生對開發(fā)信息管理系統(tǒng)有一個總體認識,可使學(xué)生得到很好鍛煉,為以后學(xué)習(xí)、工作打下堅實基礎(chǔ)。</p><p><b>  2、基本要求 </b></p><p> ?。?)要求獨立完成自己題目的課程設(shè)計,如有抄襲,成績按不及格處理。</p><p>  (2)要求學(xué)生利用數(shù)據(jù)庫原理課程所學(xué)知

8、識和方法獨立完成所布置題目。</p><p>  (3)要求所設(shè)計的系統(tǒng)規(guī)模適中,用SQL語句實現(xiàn)基本的增、刪、改、查詢功能。</p><p> ?。?)數(shù)據(jù)庫中至少要包含三個表,且每個表都要滿足3NF,指明主碼、外碼等。</p><p>  (5)盡量多的使用SQL Server2005中的對象,如:視圖、觸發(fā)器、約束、默認、規(guī)則、索引等。</p>

9、<p> ?。?)簡單的系統(tǒng)與功能分析,建立數(shù)據(jù)結(jié)構(gòu)表。</p><p>  (7)每天下機時,要及時將自己的開發(fā)拷貝帶走;上機期間,學(xué)生要服從指導(dǎo)教師的統(tǒng)一安排,遵守機房制度;嚴格遵守紀律,不遲到,不早退,無故缺勤者,成績按不及格處理。</p><p><b>  三、設(shè)計方法 </b></p><p>  (1)設(shè)計題目確定、申報

10、、素材準備與設(shè)計。</p><p> ?。?)系統(tǒng)需求分析與功能設(shè)計:闡明應(yīng)用系統(tǒng)背景,組織結(jié)構(gòu)情況以及需求分析的過程,并繪制出數(shù)據(jù)流程圖,寫出數(shù)據(jù)字典。</p><p> ?。?)概念結(jié)構(gòu)設(shè)計:根據(jù)概念結(jié)構(gòu)設(shè)計的基本原則,確定概念模型,并闡明分析步驟和理論依據(jù)完成數(shù)據(jù)庫的概念設(shè)計,畫出E-R圖。</p><p> ?。?)邏輯結(jié)構(gòu)設(shè)計:根據(jù)需求分析和概念模型,將實

11、體及實體間的聯(lián)系按一定的轉(zhuǎn)換規(guī)則轉(zhuǎn)換為關(guān)系模型,寫出轉(zhuǎn)換步驟及相應(yīng)的理論依據(jù),并確定主碼、外碼。按數(shù)據(jù)庫設(shè)計方法和規(guī)范化理論得出符合3NF的邏輯模型。</p><p> ?。?)利用SQL Server2005建立相應(yīng)的數(shù)據(jù)庫對象。</p><p> ?。?)利用SQL語句實現(xiàn)相應(yīng)功能。</p><p>  (7)編寫數(shù)據(jù)庫課程設(shè)計報告并提交相應(yīng)資料與成果。<

12、/p><p><b>  四、任務(wù)安排</b></p><p> ?。ㄒ唬r間:1周。具體安排如下: </p><p>  1、確定題目,需求分析。</p><p>  2、概要設(shè)計、邏輯設(shè)計。 </p><p>  3、建立數(shù)據(jù)庫及其操作。</p><p>  4、上

13、機考核驗收答辯。</p><p>  5、寫實習(xí)報告并提交。</p><p> ?。ǘ┑攸c:計算機綜合實驗室</p><p><b>  五、調(diào)試</b></p><p>  在機房進行調(diào)試,可完成相應(yīng)功能。記錄調(diào)試過程中遇到的問題及解決方法,寫在課程設(shè)計報告中。</p><p><b&g

14、t;  六、答辯與評分標準</b></p><p>  通過設(shè)計答辯方式,并結(jié)合學(xué)生的動手能力,獨立分析解決問題的能力和創(chuàng)新精神,總結(jié)報告和答辯水平以及學(xué)習(xí)態(tài)度綜合考評。成績按五級分進行評定,成績分為優(yōu)、良、中、及格、不及格。</p><p>  1、平時表現(xiàn):30分; </p><p>  2、課程設(shè)計報告:30分; </p><p

15、>  3、課程設(shè)計答辯:40分,其中完成基本功能30分,回答問題10分。</p><p>  1. 系統(tǒng)設(shè)計與需求分析 </p><p>  車輛管理系統(tǒng),可用于公司、小區(qū)等的車輛管理,查詢,更新與維護,使用方便,易用性強,圖形界面清晰明了。該軟件用java語言編寫,用SQLServer2005數(shù)據(jù)庫作為后臺的數(shù)據(jù)庫進行信息的存儲,用SQL語句完成車輛信息的添加,查詢,修改,

16、刪除的操作以及車輛信息的錄入,修改,刪除等。用ODBC驅(qū)動實現(xiàn)前臺Java與后臺SQL數(shù)據(jù)庫的連接。Java語言跨平臺性強,可以在windows,linux,ubuntu等系統(tǒng)下使用,方便簡單,安全性好。SQLServer2005數(shù)據(jù)庫高效安全,兩者結(jié)合可相互利用各自的優(yōu)勢。</p><p><b>  數(shù)據(jù)字典</b></p><p><b>  ●數(shù)據(jù)存

17、儲及數(shù)據(jù)流</b></p><p>  該系統(tǒng)實現(xiàn)的大致功能:</p><p>  用戶登陸界面。該界面需要用戶提供ID號和密碼輸入正確即可登錄車輛管理界面。提供了六項已經(jīng)做好的功能和一項自定義功能。</p><p>  在自定義功能里可以實現(xiàn)對車輛信息的查詢,添加,修改,刪除等功能。</p><p>  管理員管理界面。擁有最高

18、的權(quán)限。允許添加教師信息和課程信息等。</p><p>  2. 數(shù)據(jù)庫計 </p><p>  2.1 系統(tǒng)概念結(jié)構(gòu)設(shè)計</p><p>  2.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計</p><p><b>  司機信息表:</b></p><p><b>  車輛信息表:</b&g

19、t;</p><p><b>  車輛事故表:</b></p><p><b>  車輛派發(fā)表:</b></p><p><b>  車輛維護表:</b></p><p>  2.3 數(shù)據(jù)庫關(guān)系圖</p><p>  3. 創(chuàng)建數(shù)據(jù)庫對象</p&

20、gt;<p>  3.1 SQL語句實現(xiàn)數(shù)據(jù)表的創(chuàng)建</p><p> ?。?)司機信息表創(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)車輛維護表創(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語句實現(xiàn)視圖的創(chuàng)建</p><p>  (1)“車輛派發(fā)View”視圖創(chuàng)建:</p

32、><p>  SELECT dbo.Vehicle_Distribution.Vlicense AS 車牌號, dbo.Driver.Dname AS 司機姓名, dbo.Driver.Dno AS 司機編號, dbo.Driver.Dtelephone AS 聯(lián)系電話, </p><p>  dbo.Vehicle_Distribution.StartTime AS 出車時間, </p

33、><p>  dbo.Vehicle_Distribution.EndTime AS 結(jié)束時間, </p><p>  dbo.Vehicle_Distribution.Distance AS 出車里程, </p><p>  dbo.Driver.Dstate AS 司機狀態(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) “車輛維護View”視圖創(chuàng)建:</p><p>  SELECT dbo.Vehicle_Repair.Vlicens

35、e AS 車牌號, dbo.Driver.Dname AS 司機姓名, dbo.Driver.Dno AS 司機編號, dbo.Driver.Dtelephone AS 司機電話, </p><p>  dbo.Vehicle_Repair.VfixTime AS 維護時間, dbo.Vehicle_Repair.VfixContext AS 維護內(nèi)容, dbo.Vehicle_Repair.VfixPrice

36、AS 維護費用</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 司機編號, dbo.Driver.Dname AS 司機姓名, dbo.Driver.Dtelephone AS 聯(lián)系方式, </p><p>  dbo.Vehicle_Accident.Vlicense AS 車牌號, dbo.Vehicle_Accident.VaccidentTime AS 事故時間, dbo.Vehicle_Accident.Va

38、ccidentPlace AS 事故地點, </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 司機編號</p><p>  4. 系統(tǒng)模塊詳細設(shè)計</p><p><b>  登錄界面</b></p><p>  4.2 各用戶操作模塊</p><

40、p><b>  課程設(shè)計總結(jié)</b></p><p>  課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們實際工作能力的具體訓(xùn)練和考察過程. 本次課程設(shè)計雖然很辛苦,實在是受益匪淺。本來這門課的知識學(xué)的就不夠扎實,本次課程設(shè)計,在設(shè)計過程中碰到了很多問題,剛開始要設(shè)計的時候,還真不知道從哪里下手但最終在圖書、同學(xué)和老師的幫助下都得到了

41、解決,讓我學(xué)會了好多書本上沒有的東西,通過本次課程設(shè)計我也能將課本上的知識融會貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識比整整一個學(xué)期學(xué)到的都多。理論和實踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。 </p><p>  通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,

42、只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。</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, "請確認用戶名和密碼!", "提示",</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ù)庫:</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ū)動</p><p>  String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=Vehicle-

87、Management"; // 連接服務(wù)器和數(shù)據(jù)庫Student-Couse</p><p>  String userName = "sa"; // 默認用戶名</p><p>  String userPwd = "abc123"; // sql server 2005時的密碼</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!"); //如果連接成功 控制臺輸出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,// 對滾動不敏感,結(jié)果集可滾來滾去</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();// 定位到開始</p><p>  ResultSetMetaData rsmd1 = rs.getMetaData();// 計算字段個數(shù)</p><p>  int col = rsmd1.getColumnCo

107、unt(); // 計算字段個數(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語句無效");</p><p>  add(new JLabel("SQL語句

110、無效"));</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>  參考文獻</b></p><p>  [1] 王珊 薩師煊.數(shù)據(jù)庫系統(tǒng)概論 第四版.出版地:高等教育出版社,2006年5月</p><p>  

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論