Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch11 資料庫範例_與Swing結合 物件導向系統實務.

Similar presentations


Presentation on theme: "Ch11 資料庫範例_與Swing結合 物件導向系統實務."— Presentation transcript:

1 Ch11 資料庫範例_與Swing結合 物件導向系統實務

2 專案實例:圖書資料管理系統 圖書資料管理系統的架構 圖書資料管理系統的編譯與執行 Java程式說明 2019/4/19

3 圖書資料管理系統的架構-說明 圖書資料管理系統使用本章Access資料庫Books.mdb,其使用介面是第11章JInternetFrame類別的多重視窗和第10章JOptionPane類別的訊息對話方塊。 在圖書資料管理系統使用功能表列的指令執行資料庫操作和搜尋,使用者並不需要下達完整的SQL指令,就可以新增、更新、刪除和以書號查詢圖書記錄,搜尋記錄功能可以讓使用者輸入完整的SQL查詢指令,其中每一種功能都擁有獨立的內層視窗,使用者可以同時開啟多個視窗執行不同的圖書資料查詢。 2019/4/19

4 圖書資料管理系統的架構-Java程式說明
2019/4/19

5 圖書資料管理系統的編譯與執行 2019/4/19

6 Java程式說明-Books.java Books.java
Books.java程式是修改自Ch11_5.java的多重視窗應用程式,直接擴充createMenuBar()方法的功能表列,新增功能表指令來開啟不同JInternalFrame類別的內層視窗。 在其中的createInternalFrame()方法可以建立內層視窗,資料庫操作的addFrame和deleteFrame視窗物件都只能建立一次。 2019/4/19

7 Java程式說明-Books.java 使用if條件檢查內層視窗是否已經建立,如下所示: if (addFrame == null)
{ // 第一次建立 addFrame = new AddRecord(); jdesktop.add(addFrame); } else if (addFrame.isClosed()) { // 內層視窗被關閉 2019/4/19

8 Java程式說明-Books.java 如果內層視窗已經建立,因為使用者可能縮小視窗成為圖示,所以使用isIcon()方法檢查是否為圖示顯示,setIcon(false)方法將它設成不是圖示顯示,如下所示: if (iframe.isIcon()) iframe.setIcon(false); 2019/4/19

9 Java程式說明-JDBC.java JDBC.java
JDBC.java就是Ch15_4.java,只是更改類別名稱,內含JDBC驅動程式的載入、建立和關閉ODBC資料庫連結的方法。 2019/4/19

10 Java程式說明-AddRecord.java AddRecord.java
AddRecord.java是繼承JInternalFrame類別的內層視窗類別,在建立好輸入欄位資料的JTextField元件後,直接使用Ch15_5_1.java的SQL指令來新增記錄。 2019/4/19

11 Java程式說明-AddRecord.java 按鈕的事件處理方法actionPerformed()在新增記錄前會查詢書號,以確認書號是否已經存在,如下所示: String code = id.getText(); String strSQL = "SELECT * FROM Book WHERE BookID='" + code + "'"; rs = JDBC.stmt.executeQuery(strSQL); int count = 0; while ( rs.next() ) // 是否有此記錄 count++; 2019/4/19

12 Java程式說明-AddRecord.java 新增記錄的出版日期就是今天,這是使用System類別的currentTimeMillis()方法取得的Date日期物件,如下所示: Date pubDate = new Date(System.currentTimeMillis()); 2019/4/19

13 Java程式說明-DeleteRecord.java DeleteRecord.java
DeleteRecord.java是繼承JInternalFrame類別的內層視窗類別,在建立好輸入書號欄位資料的JTextField元件後,使用Ch15_5_3.java的SQL指令刪除記錄,在刪除記錄前會查詢書號,以確認刪除書號存在。 2019/4/19

14 Java程式說明-SQLQuery.java SQLQuery.java
SQLQuery.java就是第15-4-3節的Ch15_4_3.java,只是改成繼承JInternalFrame類別的內層視窗類別。 2019/4/19

15 Java程式說明-IdQuery.java IdQuery.java
idQuery.java和SQLQuery.java相似,只是SQL指令改成書號的萬用字元條件,如下所示: String strSQL; strSQL="SELECT * FROM Book WHERE BookID LIKE '%"+code+"%'"; 2019/4/19


Download ppt "Ch11 資料庫範例_與Swing結合 物件導向系統實務."

Similar presentations


Ads by Google