การจัดการข้อมูลหนังสือคล้ายกับการจัดการข้อมูลผู้อ่าน มันมีสองส่วน: การเพิ่มหนังสือและการสืบค้นหนังสือและการปรับเปลี่ยน การเพิ่มข้อมูลหนังสือต้องใช้ข้อมูลที่ถูกต้องของข้อมูลแปดเล่มของหนังสือและหมายเลข ISBN นั้นไม่ซ้ำกัน ในระหว่างกระบวนการดำเนินการควรใช้ ISBN เป็นคีย์หลัก มาดูกระบวนการดำเนินการ:
หนังสือในฐานข้อมูล:
กระบวนการเพิ่มหนังสือ:
เพิ่มเนื้อหาฐานข้อมูล:
แบบสอบถามและการดัดแปลงหนังสือ: กระบวนการสอบถามสามารถสอบถามได้ตามเงื่อนไขที่แตกต่างกันเช่น ISBN, ผู้แต่ง, สำนักพิมพ์, ชื่อหนังสือ ฯลฯ และหนังสือทั้งหมดจะแสดงในรายการโดยค่าเริ่มต้น หลังจากป้อนเงื่อนไขการสืบค้นผลลัพธ์การสืบค้นจะแสดงในตาราง
โมดูลนี้ใช้แผงแท็กซึ่งสามารถสอบถามข้อมูลที่ต้องการได้อย่างง่ายดาย เมื่อกระบวนการปรับเปลี่ยนเข้าสู่หมายเลข ISBN และกด Enter เพื่อแสดงข้อมูลหนังสือทั้งหมดด้านล่างเนื้อหาทั้งหมดจะได้รับการอัปเดตหลังจากแก้ไขข้อมูลหนังสือ
Book Query:
แก้ไขข้อมูลหนังสือ:
เพิ่มซอร์สโค้ดของหนังสือดังนี้: addbook.java
แพ็คเกจ pdsu.bbm.view; นำเข้า Java.awt.BorderLayout; นำเข้า java.awt.flowlayout; นำเข้า Java.awt.Font; นำเข้า java.awt.image; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.actionListener; นำเข้า java.text.parseException; นำเข้า java.text.simpledateFormat; นำเข้า java.util.date; นำเข้า java.util.iterator; นำเข้า java.util.list; นำเข้า javax.swing.buttongroup; นำเข้า Javax.swing.imageicon; นำเข้า Javax.swing.jbutton; นำเข้า Javax.swing.jcombobox; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jlabel; นำเข้า Javax.swing.joptionpane; นำเข้า Javax.swing.jpanel; นำเข้า Javax.swing.jtextfield; นำเข้า pdsu.bbm.dao.bookdao; นำเข้า pdsu.bbm.dao.booktypedao; นำเข้า pdsu.bbm.model.book; นำเข้า pdsu.bbm.model.booktype; AddBook คลาสสาธารณะขยาย JFrame ใช้ ActionListener {Private JPanel ContentPane; jlabel ส่วนตัว label_1; JLabel LBLL ส่วนตัว; jlabel private label_2; jlabel private label_3; jlabel private jlabel label_4; jlabel private label_5; JPanel Centerppanel; Jbutton button1, button2, button3; ส่วนตัว jcombobox combobox_1; ไอคอนรูปภาพ = ใหม่ imageicon ("image/icon.png"). getImage (); ส่วนตัว Jtextfield Isbnfiled; ส่วนตัว Jtextfield Publishfield; ส่วนตัว Jtextfield PublishDateField; Private Jtextfield Publishtime; Private Jtextfield UnitPriceField; ส่วนตัว Jtextfield BookNamefield; ผู้แต่ง Jtextfield ส่วนตัว; โมฆะคงที่สาธารณะหลัก (สตริง [] args) {addbook ใหม่ (); } Public AddBook () {settitle ("เพิ่มข้อมูลหนังสือ"); setsize (555, 333); seticonimage (ไอคอน); SetLocationRelativeto (NULL); Settitle ("เพิ่มข้อมูลหนังสือ"); setsize (555, 334); SetLocationRelativeto (NULL); setVisible (จริง); centerppanel = new jpanel (); centerppanel.setLayout (NULL); JLabel label1 = new JLabel ("ISBN:"); label1.setFont (ฟอนต์ใหม่ ("宋体", font.plain, 20)); label1.setBounds (71, 26, 95, 42); centerppanel.add (label1); isbnfiled = new jtextfield (); isbnfiled.setbounds (120, 30, 110, 30); centerppanel.add (isbnfiled); isbnfiled.setColumns (10); jlabel label = new JLabel ("หมวดหมู่:"); label.setFont (ตัวอักษรใหม่ ("Zongyi", Font.plain, 20)); label.setBounds (306, 30, 116, 35); centerppanel.add (ฉลาก); label_1 = new jlabel ("ชื่อหนังสือ:"); label_1.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); label_1.setbounds (50, 75, 154, 50); centerppanel.add (label_1); lbll = new jlabel ("ผู้แต่ง:"); lbll.setfont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); lbll.setbounds (306, 75, 137, 50); centerppanel.add (LBLL); label_2 = new jlabel ("ผู้เผยแพร่:"); label_2.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); label_2.setbounds (50, 130, 154, 50); centerppanel.add (label_2); label_3 = new jlabel ("宋体:"); label_3.setfont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); label_3.setbounds (285, 135, 137, 50); centerppanel.add (label_3); publishfield = new jtextfield (); publishfield.setColumns (10); publishfield.setbounds (120, 143, 110, 30); centerppanel.add (Publishfield); publishDateField = new JTextField (); PublishDateField.SetColumns (10); PublishDateField.SetBounds (380, 143, 120, 30); centerppanel.add (PublishDateField); label_4 = new JLabel ("จำนวนการพิมพ์:"); label_4.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); label_4.setbounds (28, 190, 154, 50); centerppanel.add (label_4); publishTime = new Jtextfield (); publishtime.setColumns (10); publishtime.setBounds (120, 203, 110, 30); centerppanel.add (PublishTime); label_5 = new jlabel ("宋体:"); label_5.setfont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); label_5.setbounds (305, 194, 84, 42); centerppanel.add (label_5); UnitPriceField = new Jtextfield (); UNITPRICEFIELD.SetColumns (10); UNITPRICEFIELD.SetBounds (380, 203, 120, 30); centerppanel.add (UNITPRICEFIELD); getContentPane (). เพิ่ม (centerppanel, borderlayout.center); booknamefield = new Jtextfield (); BookNamefield.SetColumns (10); booknamefield.setbounds (120, 86, 110, 30); centerppanel.add (booknamefield); uthorfiled = new Jtextfield (); uthorfiled.setColumns (10); uthorfiled.setbounds (380, 86, 120, 30); centerppanel.add (ผู้เขียน); รายการ <BookType> RS = BookTypedao.SelectBookType (); Iterator <BookType> iterator = rs.iterator (); สตริง [] allTyPename = สตริงใหม่ [rs.size ()]; int i = 0; ในขณะที่ (iterator.hasnext ()) {string typename = iterator.next (). getTypename (); AllTyPename [i] = typename; i ++; } cOMBOBOX_1 = new JCOMBOBOX (AllTyPename); combobox_1.setbounds (380, 30, 120, 30); combobox_1.setfont (ตัวอักษรใหม่ ("安体", font.plain, 16)); centerppanel.add (combobox_1); buttonGroup Group = ใหม่ buttonGroup (); JPanel Panel2 = new JPanel (); Panel2.SetLayout (ใหม่ flowlayout ()); button1 = new JButton ("เพิ่ม"); button1.setfont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); button2 = new jbutton ("宋体", font.plain, 20)); button3 = new JButton ("รีเซ็ต"); button3.setfont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); Panel2.add (button1); Panel2.add (button3); Panel2.add (button2); button1.addactionListener (นี่); button2.addactionListener (นี่); button3.addactionListener (นี่); getContentPane (). เพิ่ม (Panel2, BorderLayout.South); setVisible (จริง); } @suppresswarnings ("ไม่ได้ใช้") โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ถ้า (e.getSource () == button1) {string isbn = isbnfiled.getText (). toString (); สตริง bookName = bookNameField.getText (); String Author = AuthorFiled.getText (); String selectType = combobox_1.getSelectedItem (). toString (); String publish = publishfield.getText (); สตริง publishDate = publishDateField.getText (); time string = publishtime.getText (). trim (); ราคาสตริง = unitpricefield.getText (). trim (); if (isbn.equals ("") || bookname.equals ("") || ผู้เขียน. equals ("") || selecttype.equals ("") || publish.equals ("") || publishdate.equals ("") || time.equals ("") กลับ; } else {bookType bt = ใหม่ bookType (); หนังสือหนังสือ = หนังสือเล่มใหม่ (); book.setisbn (isbn); Book.setBookName (BookName); Book.setauthor (ผู้แต่ง); bt.setTypename (SelectType); int m = 0; รายการ <BookType> list = bookTypedao .SeleCtIdByTyPename (SelectType); Iterator <BookType> item = list.iterator (); ในขณะที่ (ite.hasnext ()) {m = item.next (). getId (); } book.setTypeId (m + ""); Book.setPublish (เผยแพร่); ลอง {book.setPublishTime (integer.parseint (เวลา)); Book.setUnitPrice (Integer.ParseInt (ราคา)); } catch (numberFormatexception e1) {e1.printStackTrace (); } SimpledateFormat SDF = ใหม่ SimpleDateFormat ("YYYY-MM-DD"); วันที่ regdate = null; ลอง {regdate = sdf.parse (publishDate); } catch (parseexception e1) {joptionpane.showmessagedialog (นี่ "โปรดป้อนวันที่ที่ถูกต้อง"); publishdatefield.settext (""); } book.setPublishDate (regdate); if (regdate == null) return; if (bookdao.selectbookbyisbn (isbn)! = null) {joptionpane.showmessagedialog (นี่ "หมายเลขนี้มีอยู่แล้ว"); กลับ; } อื่นถ้า (bookdao.insertbook (หนังสือ)! = 0) {joptionpane.showmessagedialog (สิ่งนี้ "เพิ่มสำเร็จ"); } else joptionpane.ShowMessagedialog (นี่ "เพิ่มล้มเหลว"); }} if (e.getSource () == button3) {isbnfiled.settext (""); booknamefield.settext (""); Authorfield.settext (""); publishfield.settext (""); publishdatefield.settext (""); publishtime.settext (""); unitpricefield.settext (""); unitpricefield.settext (""); } if (e.getSource () == button2) {dispose (); ใหม่ MainWindow (); - Book Query และแก้ไขซอร์สโค้ด: BookSelectandModify.java
แพ็คเกจ pdsu.bbm.view; นำเข้า Java.awt.BorderLayout; นำเข้า Java.awt.Dimension; นำเข้า Java.awt.Font; นำเข้า Java.awt.Gridlayout; นำเข้า java.awt.image; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.actionListener; นำเข้า java.text.simpledateFormat; นำเข้า java.util.arraylist; นำเข้า java.util.date; นำเข้า java.util.iterator; นำเข้า java.util.list; นำเข้า Javax.swing.imageicon; นำเข้า Javax.swing.jbutton; นำเข้า Javax.swing.jcombobox; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jlabel; นำเข้า Javax.swing.joptionpane; นำเข้า Javax.swing.jpanel; นำเข้า Javax.swing.jscrollpane; นำเข้า Javax.swing.jtabbedpane; นำเข้า Javax.swing.jtable; นำเข้า Javax.swing.jtextfield; นำเข้า Javax.swing.swingConstants; นำเข้า Javax.swing.table.tableModel; นำเข้า pdsu.bbm.dao.bookdao; นำเข้า pdsu.bbm.dao.booktypedao; นำเข้า pdsu.bbm.model.book; นำเข้า pdsu.bbm.model.booktype; ชั้นเรียนสาธารณะ BookSelectandModify ขยาย JFrame ดำเนินการ actionListener {// ตั้งค่าหมายเลขซีเรียลส่วนตัวคงที่สุดท้ายคงสุดท้าย serialVersionUID = 1L; JTABBEDPANE ส่วนตัว JTABBEDPANE; // แท็กแผง // selectjp query แผงการเลือก select_conditionjp รายการดรอปดาวน์แผง select_resultjp ปุ่มผลลัพธ์ UpdateJP แผงการปรับเปลี่ยน // updateJP แผงการปรับเปลี่ยน, BookJP Middle Panel ButtonJP2 PANEL ส่วนตัว JPANEL SELECTJP, SELECT_CONDITIONJP, SELET_RESULTJP, BOONDJP1 // ส่วนตัว jtextfield selectjtf, isbnjtf, booknamejtf, ผู้แต่ง Jtf, printtimejtf, publishjtf, publishdatejtf, unitpricejtf; ส่วนตัว Jlabel Isbnjl, Booknamejl, ผู้แต่ง, หมวดหมู่ Jl, PrintTimeJl, Publishjl, PublishDateJl, UnitPriceJl; // จุดสนใจ! jtable ส่วนตัว jtable; // กำหนดตารางส่วนตัว jcombobox choicejcb, booktypejcb; Jscrollpane ส่วนตัว Jscrollpane; ส่วนตัว JButton SelectJB, ExitJB, UpdateJB, RESETJB; // ปุ่มสอบถาม, ปุ่มออก, ปุ่มแก้ไข, ปิดปุ่ม TableModel ส่วนตัว GetSelect; สตริงส่วนตัว [] title = {"isbn", "ลำดับหนังสือ", "ชื่อหนังสือ", "ผู้แต่ง", "สำนักพิมพ์", "วันที่ตีพิมพ์", "จำนวนพิมพ์", "ราคาหน่วย"}; ไอคอนรูปภาพ = ใหม่ imageicon ("image/icon.png"). getImage (); Public BookselectandModify () {super (); seticonimage (ไอคอน); Settitle ("Book Query and Modification"); Setbounds (100, 100, 555, 400); SetLocationRelativeto (NULL); // jtabbedpane tabjtabbedpane = ใหม่ jtabbedpane (); เพิ่ม (jtabbedpane); selectjp = new JPanel (); selectjp.setLayout (New BorderLayout ()); jtabbedpane.add ("สอบถามข้อมูลหนังสือ", selectjp); // การสืบค้นเงื่อนไขแผง select_conditionjp = new JPanel (); ตัวเลือก jcb = new jcombobox (); สตริงอาร์เรย์ [] = {"isbn", "ชื่อหนังสือ", "ลำดับหนังสือ", "ผู้เขียน", "สำนักพิมพ์", "ทั้งหมด"}; // ตั้งค่าเป็นอาร์เรย์หนึ่งมิติสำหรับ (int i = 0; i <array.length; i ++) } select_conditionjp.add (Choicejcb); selectjtf = new Jtextfield (20); select_conditionjp.add (selectjtf); selectjp.add (select_conditionjp, borderlayout.north); // แบบสอบถามแผงผลลัพธ์ select_resultjp = new JPanel (); bookdao dao = bookdao ใหม่ (); รายการ <book> list = dao.selectbook (); jtable = new jtable (getSelect (รายการ), ชื่อเรื่อง); //! ตั้งค่าขนาดตารางไม่เปลี่ยนแปลง jtable.setautoresizeMode (jtable.auto_resize_off); //! ตั้งค่าความกว้างของคอลัมน์ jtable.getColumnModel (). getColumn (4) .SetPreferredWidth (175); jscrollpane = new jscrollpane (jtable); // เพิ่มตารางลงในแผงเลื่อน // แสดงขอบแผงเลื่อน jscrollpane.setpreferredsize (มิติใหม่ (450, 170)); select_resultjp.add (jscrollpane); selectjp.add (select_resultjp, borderlayout.center); // การสืบค้นปุ่มแผงปุ่ม JP1 = new JPanel (); selectjb = new JButton ("Query"); Selectjb.setFont (ฟอนต์ใหม่ ("Zongyi", font.plain, 20)); selectjb.addactionListener (นี่); buttonjp1.add (selectjb); exitjb = new JButton ("Exit"); exitjb.setFont (ฟอนต์ใหม่ ("Zongyi", Font.plain, 20)); exitjb.addactionListener (นี้); buttonjp1.add (exitjb); selectjp.add (buttonjp1, borderlayout.south); // การปรับเปลี่ยนข้อมูลหน้า UpdateJp = new JPanel (); updatejp.setLayout (New BorderLayout ()); jtabbedpane.addtab ("การปรับเปลี่ยนข้อมูลหนังสือ", updatejp); Bookjp = new JPanel (); gridlayout สุดท้าย gridlayout = new gridlayout (8, 2); // ตั้งระยะห่างระหว่างเส้นขอบ gridlayout.setvGap (8); gridlayout.sethgap (8); Bookjp.setLayout (Gridlayout); isbnjl = new jlabel ("isbn:"); isbnjl.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); isbnjl.sethorizontalalignment (swingconstants.center); bookjp.add (isbnjl); isbnjtf = new jtextfield (20); isbnjtf.addactionListener (นี่); bookjp.add (isbnjtf); categoryjl = new Jlabel ("หมวดหมู่:"); categoryjl.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); categoryjl.sethorizontalalignment (swingconstants.center); bookjp.add (categoryjl); // รายการดรอปดาวน์รายการ <BookType> list1 = bookTypedao.selectbooktype (); Iterator <BookType> it = list1.iterator (); String ty [] = สตริงใหม่ [list1.size ()]; int i = 0; BookTypejcb = new JcomboBox (); ในขณะที่ (it.hasnext ()) {ty [i] = it.next (). getTypename (); booktypejcb.additem (ty [i]); i ++; } bookjp.add (booktypejcb); booknamejl = new Jlabel ("ชื่อหนังสือ:"); BookNameJl.SetFont (ตัวอักษรใหม่ ("宋体", Font.plain, 20)); booknamejl.sethorizontalalignment (swingconstants.center); bookjp.add (booknamejl); BookNamejtf = new Jtextfield (); booknamejtf.setColumns (20); bookjp.add (booknamejtf); AuthorJl = new JLabel ("ผู้เขียน:"); AuthorJl.SetFont (ฟอนต์ใหม่ ("宋体", Font.plain, 20)); ผู้แต่ง Jl.Sethorizontalalignment (SwingConstants.Center); Bookjp.add (ผู้เขียน); AuthorJtf = new Jtextfield (); Authorjtf.setColumns (20); Bookjp.add (AuthorJTF); publishjl = new jlabel ("สำนักพิมพ์:"); publishjl.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); Publishjl.Sethorizontalalignment (SwingConstants.Center); Bookjp.add (Publishjl); publishjtf = new jtextfield (); Bookjp.add (Publishjtf); publishDateJl = new JLabel ("วันที่เผยแพร่:"); PublishDateJl.SetFont (ฟอนต์ใหม่ ("宋体", Font.plain, 20)); PublishDateJl.Sethorizontalalignment (SwingConstants.Center); Bookjp.add (PublishDateJL); publishDateJtf = new Jtextfield (); PublishDateJtf.Sethorizontalalignment (SwingConstants.left); Bookjp.add (PublishDateJTF); printtimejl = new jlabel ("จำนวนการพิมพ์:"); printtimejl.setFont (ตัวอักษรใหม่ ("宋体", font.plain, 20)); printtimejl.sethorizontalalignment (swingconstants.center); bookjp.add (printtimejl); printtimejtf = new jtextfield (); bookjp.add (printtimejtf); UnitPriceJl = new JLabel ("ราคาต่อหน่วย:"); UnitPriceJl.SetFont (ตัวอักษรใหม่ ("宋体", Font.plain, 20)); UnitPriceJl.Sethorizontalalignment (SwingConstants.Center); bookjp.add (unitpricejl); UnitPriceJtf = new Jtextfield (); bookjp.add (untpricejtf); // ปุ่มแผง // การออกแบบแผงปุ่มปุ่ม buttonjp2 = new jpanel (); updatejb = new JButton ("แก้ไข"); updatejb.setFont (ฟอนต์ใหม่ ("songyi", font.plain, 20)); updatejb.addactionListener (นี่); RESETJB = new JButton ("ปิด"); RESETJB.SETFONT (FONT ใหม่ ("Zongyi", Font.Plain, 20)); RESETJB.ADDACTIONLISTENER (นี่); buttonjp2.add (updatejb); buttonjp2.add (resetjb); updatejp.add (Bookjp, BorderLayout.Center); updatejp.add (buttonjp2, borderlayout.south); setVisible (จริง); SetDefaultCloseoperation (jframe.exit_on_close); } // เพิ่มตารางการสืบค้นลงในวัตถุส่วนตัวของพาเนล [] [] getSelect (รายการ <book> รายการ) {// toDo วิธีการที่สร้างขึ้นอัตโนมัติวัตถุต้นขั้ววัตถุ [] [] วัตถุ = วัตถุใหม่ [list.size ()] [title.length]; สำหรับ (int i = 0; i <list.size (); i ++) {book book = list.get (i); วัตถุ [i] [0] = book.getisbn (); วัตถุ [1] = book.getTypeId (); // ลำดับหนังสือลำดับวัตถุ [i] [2] = book.getBookName (); // ชื่อหนังสือวัตถุ [i] [3] = book.getauthor (); // ผู้เขียนหนังสือ [i] [4] = book.getPublish () วัตถุ [i] [6] = book.getPublishTime (); // จำนวนวัตถุการพิมพ์ [i] [7] = book.getUnitPrice (); // ราคาหน่วย} ส่งคืนวัตถุ; } โมฆะสาธารณะ ActionPerformed (ActionEvent E) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub ถ้า (e.getSource () == isbnjtf) {string isbn = isbnjtf.getText (); สตริง typename = null; string id = bookdao.selectbookbyisbn (isbn) .getTypeId (); typename = booktypedao.selectbyid (id); System.out.println (typename); BookTypeJCB.SetSelectedItem (Typename); booknamejtf.settext (bookdao.selectbookbyisbn (isbn) .getBookName ()); Authorjtf.settext (bookdao.selectbookbyisbn (isbn) .getauthor ()); Publishjtf.settext (bookdao.selectbookbyisbn (isbn) .getPublish ()); PublishDatejtf.settext (bookdao.selectbookbyisbn (isbn) .getPublishDate ()); PublishDatejtf.settext (bookdao.selectbookbyisbn (isbn) .getPublishDate ()+""); printtimejtf.settext (bookdao.selectbookbyisbn (isbn) .getPublishTime ()+""); UNITPRICEJTF.SETTEXT (BookDao.SelectBookByisbn (ISBN) .getUnitPrice ()+""); } if (e.getSource () == selectjb) {// ค้นหา int r = choicejcb.getselectedIndex (); if (r == 0) {string name = selectjtf.getText (). trim (); // cast ไปยังรายการประเภทตารางเชิงเส้น <book> list = new ArrayList <Book> (); หนังสือหนังสือ = bookdao.selectbookbyisbn (ชื่อ); if (book == null) {joptionpane.showMessagedialog (นี่ "การเข้ารหัสนี้ไม่มีอยู่!"); } else {list.add (หนังสือ); Object [] [] data = getSelect (รายการ); jtable = ใหม่ jtable (ข้อมูลชื่อ); jtable.getColumnModel (). getColumn (4) .SetPreferredWidth (175); jtable.setautoresizeMode (jtable.auto_resize_off); jscrollpane.setViewportView (JTable); }} if (r == 1) {// ข้อมูลการสอบถามตามชื่อสตริงชื่อหนังสือ = selectjtf.getText (). toString (); รายการ <book> list = bookdao.selectbookbyname (ชื่อ); // ตรวจสอบว่าตารางเชิงเส้นนั้นว่างเปล่าถ้า (list == null || list.size () == 0) {joptionpane.showMessagedialog (นี่ "หนังสือไม่มีอยู่!"); } else {object [] [] data = getSelect (รายการ); jtable = ใหม่ jtable (ข้อมูลชื่อ); Tianjia (); }} if (r == 2) {// ข้อมูลการสอบถามตามลำดับสตริงลำดับหนังสือ = selectjtf.getText (). toString (); รายการ <book> list = bookdao.selectbookByType (ชื่อ); // ตรวจสอบว่าตารางเชิงเส้นนั้นว่างเปล่าถ้า (list == null || list.size () == 0) {joptionpane.showMessagedialog (นี่ "หนังสือไม่มีอยู่!"); } else {object [] [] data = getSelect (รายการ); jtable = ใหม่ jtable (ข้อมูลชื่อ); Tianjia (); }} if (r == 3) {// ค้นหาสตริงตามชื่อผู้เขียน = selectjtf.getText (). toString (); // ค้นหารายการ <book> list = bookdao.selectbookbyauthor (ชื่อ); // ตรวจสอบว่าตารางเชิงเส้นนั้นว่างเปล่าถ้า (list == null || list.size () == 0) {joptionpane.showMessagedialog (นี่ "หนังสือเล่มนี้ไม่มีอยู่!"); } else {object [] [] data = getSelect (รายการ); jtable = ใหม่ jtable (ข้อมูลชื่อ); Tianjia (); }} if (r == 4) {// ค้นหาสตริงตามชื่อผู้เผยแพร่ = selectjtf.getText (). toString (); รายการ <book> list = bookdao.selectbookbypublish (ชื่อ); if (list == null || list.size () == 0) {joptionpane.showMessagedialog (นี่ "หนังสือเล่มนี้ไม่มีอยู่!"); } else {object [] [] data = getSelect (รายการ); jtable = ใหม่ jtable (ข้อมูลชื่อ); Tianjia (); }} if (r == 5) {รายการ <book> list = bookdao.selectbook (); }} if (e.getSource () == updateJB) {สตริง isbn = isbnjtf.getText (). trim (); String typename = ((String) BookTypejcb.getSelectedItem ()). trim (); string id = booktypedao.selectbyTypename (typename); String BookName = BookNamejtf.getText (); String Author = Authorjtf.getText (); String publish = publishjtf.getText (); สตริง publishDate = publishDateJtf.getText (); SimpledateFormat SDF = New SimpledateFormat ("YYYY-MM-DD"); วันที่ regdate = null; ลอง {regdate = sdf.parse (publishDate); } catch (Exception e2) {e2.printstacktrace (); joptionpane.ShowMessagedialog (นี่ "โปรดป้อนรูปแบบวันที่ที่ถูกต้อง!"); } if (regdate == null) return; int publishtime = integer.parseint (printtimejtf.getText ()); int unitPrice = integer.parseInt (unitpricejtf.getText ()); // ห่อหุ้มหนังสือ Object Book = หนังสือเล่มใหม่ (); book.setisbn (isbn); Book.setTypeId (ID); Book.setBookName (BookName); Book.setauthor (ผู้แต่ง); Book.setPublish (เผยแพร่); Book.setPublishDate (regdate); Book.setPublishTime (PublishTime); Book.setUnitPrice (UnitPrice); Book.setTypename (typename); int result = bookdao.update (หนังสือ); รายการ <book> list2 = new ArrayList <Book> (); list2.add (หนังสือ); // system.out.println (list2); if (result == 1) {joptionpane.showMessageDialog (สิ่งนี้ "แก้ไขสำเร็จ!"); bookdao bk = bookdao ใหม่ (); รายการ <book> list = bk.selectbook (); jtable = new jtable (getSelect (รายการ), ชื่อเรื่อง); Tianjia (); } else {joptionpane.showMessageDialog (นี่ "แก้ไขล้มเหลว!"); }} if (e.getSource () == RESETJB) {dispose (); ใหม่ MainWindow (); } if (e.getSource () == exitjb) {dispose (); ใหม่ MainWindow (); }} โมฆะส่วนตัว tianjia () {jtable.getColumnModel (). getColumn (4) .SetPreferredWidth (175); jtable.setautoresizeMode (jtable.auto_resize_off); jscrollpane.setViewportView (JTable); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ใหม่ bookselectandModify (); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น