1. คำนำ
ฉันเรียนภาษา Java ภาคเรียนนี้ ในตอนท้ายของภาคการศึกษาฉันเขียนระบบการจัดการด้วยอินเทอร์เฟซการดำเนินงานและเกี่ยวข้องกับฐานข้อมูลเพื่อรวบรวมความรู้ที่ฉันได้เรียนรู้ในการศึกษานี้
ความรู้ที่ใช้: พื้นฐาน Java, Java Interface Design (GUI), ฐานข้อมูล Oracle (จำเป็นต้องควบคุมคำสั่งการทำงานพื้นฐานของฐานข้อมูล) และฐานข้อมูลลิงก์
เครื่องมือพัฒนาที่ใช้: Myeclipse Professional 2014
2. การออกแบบ
คุณลักษณะที่เราจัดการคือ: หมายเลขโครงการชื่อโครงการผู้เข้าร่วมบุคคลที่รับผิดชอบเวลาเริ่มต้นโครงการและเวลาสิ้นสุด ระบบโครงการวิจัยทางวิทยาศาสตร์มีฟังก์ชั่นหลักสี่ประการ ได้แก่ การเพิ่มการลบการปรับเปลี่ยนและการสืบค้นของโครงการวิจัยทางวิทยาศาสตร์ และโหมดเข้าสู่ระบบที่ออกแบบมาเพื่อเพิ่มความปลอดภัยของระบบ
2.1 เพิ่ม: เพิ่มข้อมูลทั้งหมดเกี่ยวกับโครงการวิจัยทางวิทยาศาสตร์ลงในตารางในฐานข้อมูล
หลังจากเพิ่มแล้วให้ใช้คำสั่ง SQL เพื่อค้นหาในคอนโซลเพื่อตรวจสอบว่ามีการเพิ่มลงในฐานข้อมูล
2.2 Query: ค้นหาข้อมูลทั้งหมดเกี่ยวกับโครงการโดยหมายเลขโครงการที่ไม่ซ้ำกัน
2.3 การปรับเปลี่ยน: เลือกโครงการที่จะแก้ไขตามหมายเลขโครงการและป้อนข้อมูลโครงการอีกครั้งเพื่อแก้ไข
2.4 ลบ: ลบข้อมูลทั้งหมดของโครงการที่เกี่ยวข้องผ่านหมายเลขโครงการที่ไม่ซ้ำกัน
3. ซอร์สโค้ดแบบฟอร์ม
3.1 อินเตอร์เฟสเข้าสู่ระบบ
แพคเกจระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์; นำเข้า Java.awt.*; นำเข้า Java.awt.event.*; นำเข้า Javax.swing.*; LoginWindows ระดับสาธารณะขยายเฟรมใช้ WindowListener, ActionListener // ชื่อ USERNAME TAG ฉลากสาธารณะ PWDLABEL; // รหัสผ่านแท็ก public textfield lgtext; // กล่องข้อความชื่อผู้ใช้ publicfield pwdtext; // กล่องข้อความรหัสผ่านปุ่มสาธารณะ LGBT; // ปุ่มเข้าสู่ระบบปุ่มสาธารณะ Quitbt; // ออกจากปุ่มล็อกอินสาธารณะ () {super (); this.setsize (400, 300); this.settitle ("ระบบการจัดการข้อมูลทางวิทยาศาสตร์"); this.setLayout (NULL); lglabel = ใหม่ป้ายกำกับ (); lglabel.settext ("บัญชีเข้าสู่ระบบ:"); lglabel.setsize (60, 30); lglabel.setLocation (70, 70); pwdLabel = new label (); pwdlabel.settext ("รหัสผ่าน:"); pwdlabel.setsize (60, 30); pwdlabel.setLocation (70, 150); lgtext = new textfield (); lgtext.setsize (180, 30); lgtext.setLocation (140, 70); pwdtext = new textfield (); pwdtext.setsize (180, 30); pwdtext.setLocation (140, 150); LGBT = ปุ่มใหม่ (); LGBT.SetLabel ("เข้าสู่ระบบ"); lgbt.setsize (60, 30); LGBT.SetLocation (120, 220); quitbt = ปุ่มใหม่ (); quitbt.setLabel ("ออก"); quitbt.setsize (60,30); quitbt.setLocation (220,220); quitbt.addactionListener (นี้); lgbt.addactionListener (นี้); this.addwindowListener (นี้); this.add (lglabel); this.add (pwdlabel); this.add (lgtext); this.add (LGBT); this.add (quitbt); this.setVisible (จริง); } โมฆะคงที่สาธารณะหลัก (สตริง args []) {loginWindows main = new loginWindows (); } @Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ปุ่ม bt = (ปุ่ม) e.getSource (); if (bt.getLabel (). เท่ากับ ("ออก")) {system.exit (0); } else {if ((lgtext.getText (). Equals ("")) || (pwdtext.getText (). เท่ากับ (""))) {joptionpane.showMessagedialog (นี่ "บัญชีหรือรหัสผ่านว่างเปล่า"); } else {if ((lgtext.getText (). equals ("admin")) && (pwdtext.getText (). equals ("111")))) //if((lgtext.getText (). เท่ากับ ("")) || (pwdText.getText () // sqlwindow sql = new sqlwindow (); WindowsView W = ใหม่ WindowsView (); W.SciencePro (); } else {joptionpane.showMessageDialog (นี่ "ไม่ได้รับอนุญาต"); }}}} @Override โมฆะสาธารณะ Windowopened (WindowEvent E) {// วิธีการที่สร้างขึ้นอัตโนมัติ todo busb} @Override โมฆะสาธารณะ windowclosing (windowEvent e) {// วิธีการที่กำหนดอัตโนมัติ } @Override โมฆะสาธารณะ Windowclosed (WindowEvent E) {// วิธีการที่สร้างขึ้นโดยอัตโนมัติ busb} @Override โมฆะสาธารณะเป็นโมฆะ windowiConified (windowEvent e) {// วิธีการที่สร้างขึ้นอัตโนมัติ busb} @override void windowdeiconized WindowActivated (WindowEvent E) {// วิธีการที่สร้างขึ้นอัตโนมัติ TODO BUSB} @Override โมฆะสาธารณะ WindowDeactivated (WindowEvent E) {// วิธีการที่สร้างอัตโนมัติ3.2 ซอร์สโค้ดแบบฟอร์มหลัก
แพคเกจระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์ นำเข้า Javax.swing.*; นำเข้า Java.awt.*; นำเข้า java.awt.event.*; นำเข้า Javax.swing.event.*; นำเข้า Javax.swing.tree.*; ชั้นเรียนสาธารณะ WindowsView ใช้ TreesElectionListener, ActionListener // Window Class JPanel ซ้าย; JPanel uppa; JPanel Downpa; /// การควบคุมแบบสอบถาม Jlabel numla; // คำถาม jtextfield numtxt; Jbutton Numbt; Jtextfield Nametxt; // แสดงกล่องข้อความที่แสดงชื่อโครงการ jtextfield peopletxt; // แสดงผู้เข้าร่วม jtextfield principaltxt; // แสดงบุคคลหลักที่รับผิดชอบ jtextfield timestarttxt; // แสดงกล่องข้อความที่แสดงเวลาเริ่มต้น Jtextfield TimeNendtxt; // แสดงกล่องข้อความที่แสดงเวลาสิ้นสุดที่คาดหวัง // เพิ่มการควบคุม jlabel anumla; Jlabel Anamela; Jlabel Apeoplela; Jlabel aprincipalla; Jlabel Atimestartla; Jlabel Atimeendla; jtextfield anumtxt; jtextfield anametxt; jtextfield apeopletxt; jtextfield aprincipaltxt; Jtextfield atimestarttxt; jtextfield atimeendtxt; Jbutton Addbt; jtable showtable; // ลบการควบคุม jlabel dnumla; Jbutton Dnumbt; Jtextfield Dnumtxt; // แก้ไขการควบคุม Jlabel Alnumla; jtextfield allnumtxt; Jbutton Alsebt; Jlabel Allnumla; Jlabel Allnumla; Jlabel Alnamela; Jlabel Alpeoplela; Jlabel Alprincipalla; Jlabel Altimestartla; Jlabel Altimeendla; Jtextfield Alnumtxt; Jtextfield Alnametxt; Jtextfield Alpeopletxt; Jtextfield Alprincipaltxt; Jtextfield Altimestarttxt; Jtextfield Altimeendtxt; โมฆะสาธารณะ SciencePro () {main = new JFrame (); main.setsize (800,800); Main.settitle ("การจัดการข้อมูลการวิจัยทางวิทยาศาสตร์"); Main.setLayout (NULL); leftPa = new JPanel (); leftpa.setsize (150, 600); leftpa.setLocation (0, 0); leftpa.setbackground (color.white); initleftpanel (); main.add (ซ้าย); UPPA = new JPanel (); uppa.setsize (650, 400); UPPA.SetLocation (150, 0); uppa.setbackground (color.gray); main.add (uppa); downpa = new JPanel (); downpa.setsize (650, 400); uppa.setbackground (color.gray); main.add (uppa); downpa = new JPanel (); downpa.setsize (650, 400); downpa.setLocation (150, 400); downpa.setbackground (color.orange); main.add (downpa); main.setVisible (จริง); } โมฆะส่วนตัว initleftPanel () {String [] strs = {"Query", "เพิ่ม", "ลบ", "แก้ไข"}; jtree tree = new jtree (strs); tree.addtreeselectionListener (นี้); leftpa.add (ต้นไม้); } โมฆะสาธารณะ valueChanged (treelectionEvent e) {jtree tree = (jtree) e.getSource (); DefaultMutableTreEnode SelectionNode = (DefaultMutableTreEnode) Tree.GetLastSelectedPathComponent (); string str = selectionNode.toString (); if (str.equals ("query")) {initupdownpawhensearch (); } if (str.equals ("เพิ่ม")) {initupdownpawhenadd (); } if (str.equals ("ลบ")) {initupdownpawhendelete (); } if (str.equals ("แก้ไข")) {initupdownpawhenalert (); }} เป็นโมฆะส่วนตัว initupDownPawHenSearch () {// ล้าง uppa.removeAll (); downpa.removeall (); // โหลดตัวควบคุมแบบไดนามิกบนแผงด้านบนและล่าง uppa.setLayout (null); numla = new jlabel (); numla.settext ("โปรดป้อนหมายเลขโครงการ"); numla.setLocation (40, 60); numla.setsize (100, 40); numtxt = new jtextfield (); numtxt.setLocation (180, 60); numtxt.setsize (200, 30); numbt = new JButton (); numbt.settext ("คำถาม"); numbt.addactionListener (นี่); numbt.setLocation (250, 160); numbt.setsize (60, 30); uppa.add (numla); uppa.add (numtxt); uppa.add (numbt); uppa.validate (); uppa.repaint (); numbt.addactionListener (นี่); // โหลดการควบคุมแบบไดนามิกของแผง nametxt = new jtextfield (); nametxt.setLocation (80, 50); nametxt.setsize (300, 30); peopletxt = new jtextfield (); peopletxt.setLocation (80, 100); peopletxt.setsize (300, 30); principalTxt = new Jtextfield (); Principaltxt.setLocation (80, 150); principaltxt.setsize (300, 30); timestarttxt = new Jtextfield (); timestarttxt.setLocation (80, 200); timestarttxt.setsize (300, 30); timeendTxt = new Jtextfield (); timeendtxt.setLocation (80, 250); timeendtxt.setsize (300, 30); downpa.setLayout (null); downpa.add (nametxt); downpa.add (peopletxt); downpa.add (principaltxt); downpa.add (timestarttxt); downpa.add (TimeNendtxt); downpa.validate (); downpa.repaint (); } โมฆะสาธารณะ ActionPerformed (ActionEvent E) {JButton Bt = (JButton) E.getSource (); //bt.addactionListener( นี่); if (bt.getText (). Equals ("Query")) {ถ้า (numtxt.getText (). เท่ากับ ("")) {joptionpane.showmessagedialog (null, "โปรดป้อนหมายเลขโครงการ"); } else {DealSearch Deal = New DealSearch (); String inf = deal.findProbynum (integer.parseInt (numtxt.getText (). trim ())); if ((inf! = null) && (! inf.equals ("")))) {string [] strs = inf.split (","); nametxt.settext (strs [1]); peopletxt.settext (strs [2]); principaltxt.settext (strs [3]); timestarttxt.settext (strs [4]); timeendtxt.settext (strs [5]); }}} if (bt.getText (). equals ("ใหม่")) {ถ้า (anumtxt.getText (). เท่ากับ ("") || anametxt.getText (). เท่ากับ ("") || apeopletxt.getText (). เท่ากับ ("") || aprincipaltxt.getText () ("") joptionpane.showmessagedialog (null, "ไม่มีค่าว่างในอินพุต !!"); } else {ScienceProject S = New ScienceProject (); S.SetNum (Integer.ParseInt (anumtxt.getText ())); S.SetName (nametxt.getText ()); S.SetPeople (apeopletxt.getText ()); S.SetLeader (aprincipaltxt.getText ()); S.Settimestart (atimestarttxt.getText ()); S.Settimefinish (atimeendtxt.getText ()); DealAdd Deal = new DealAdd (); Deal.add (s); }} if (bt.getText (). equals ("ลบ")) {ถ้า (integer.parseint (dnumtxt.getText ()) == 0) {joptionpane.showMessagedialog (null "ไม่สามารถลบหมายเลขรายการว่างเปล่าได้ !!"); } else {dealdelete deal = new dealdelete (); deal.delete (integer.parseint (dnumtxt.getText (). trim ())); }} if (bt.getText (). equals ("ส่ง")) {ถ้า (integer.parseint (allnumtxt.getText ())) == 0) {joptionpane.showMessagedialog (NULL "หมายเลขโครงการว่างไม่สามารถแก้ไขได้ !!"); } else {dealsub deal = new dealsub (); deal.submit (integer.parseint (allnumtxt.getText ())); }} if (bt.getText (). equals ("แก้ไข")) {ถ้า (alnametxt.getText (). เท่ากับ ("") || alpeopletxt.getText (). เท่ากับ ("") || alprincipaltxt.getText (). เท่ากับ ("") "ไม่สามารถมีค่าว่างในอินพุตได้ !!"); } else {ScienceProject S = New ScienceProject (); S.SetNum (Integer.ParseInt (AllNumTxt.getText ())); S.SetName (alnametxt.getText ()); S.SetPeople (alpeopletxt.getText ()); S.SetLeader (alprincipaltxt.getText ()); S.Settimestart (altimestarttxt.getText ()); S.Settimefinish (altimeendtxt.getText ()); Dealalter Deal = New Dealalter (); Deal.alter (s); }}} เป็นโมฆะส่วนตัว initupdownpawhenadd () {// ล้าง uppa.removeAll (); downpa.removeall (); // การโหลดแบบไดนามิกของแผงด้านบน UPPA.SetLayout (NULL); anumla = new jlabel (); anumla.settext ("โปรดป้อนหมายเลขรายการที่จะเพิ่ม"); anumla.setLocation (30, 50); anumla.setsize (150, 40); anumtxt = new jtextfield (); anumtxt.setLocation (200, 50); anumtxt.setsize (250, 30); anamela = new jlabel (); anamela.settext ("โปรดป้อนชื่อโครงการที่จะเพิ่ม"); Anamela.setLocation (30, 100); anamela.setsize (150, 40); anametxt = new jtextfield (); Anametxt.setLocation (200, 100); anametxt.setsize (250, 30); apeoplela = new Jlabel (); apeoplela.settext ("โปรดป้อนผู้เข้าร่วมโครงการ"); Apeoplela.setLocation (30, 150); Apeoplela.setsize (150, 40); apeopletxt = new jtextfield (); Apeopletxt.setLocation (200, 150); apeopletxt.setsize (250, 30); aprincipalla = new jlabel (); aprincipalla.settext ("โปรดป้อนหัวหน้าโครงการ"); Aprincipalla.setLocation (30, 200); aprincipalla.setsize (150, 40); aprincipaltxt = new jtextfield (); aprincipaltxt.setLocation (200, 200); aprincipaltxt.setsize (250, 30); atimestartla = new jlabel (); atimestartla.settext ("โปรดป้อนเวลาเริ่มต้นโครงการ"); atimestartla.setLocation (30, 250); atimestartla.setsize (150, 40); atimestarttxt = new jtextfield (); atimestarttxt.setLocation (200, 250); atimestarttxt.setsize (250, 30); atimeendla = new jlabel (); atimeendla.settext ("โปรดป้อนเวลาสิ้นสุดโครงการ"); atimeendla.setLocation (30, 300); atimeendla.setsize (150, 40); atimeendtxt = new Jtextfield (); atimeendtxt.setLocation (200, 300); atimeendtxt.setsize (250, 30); addbt = new JButton (); addbt.settext ("ใหม่"); addbt.addactionListener (นี่); //addbt.addmouselistener( นี้); addbt.setLocation (250, 340); addbt.setsize (60, 30); uppa.add (addbt); UPPA.ADD (Anumla); uppa.add (Namela); uppa.add (apeoplela); uppa.add (aprincipalla); uppa.add (atimestartla); uppa.add (atimeendla); uppa.add (atimetxt); uppa.add (anumtxt); UPPA.ADD (APEOPLETXT); uppa.add (aprincipaltxt); uppa.add (atimestarttxt); uppa.add (atimeendtxt); uppa.validate (); uppa.repaint (); downpa.validate (); downpa.repaint (); downpa.repaint (); } เป็นโมฆะส่วนตัวเริ่มต้น PAWHENDELETE () {// ล้าง uPPA.REMOVEALL (); downpa.removeall (); // โหลดแบบไดนามิกการควบคุมของแผงควบคุม UPPA.SetLayout (NULL) แบบไดนามิก; numla = new jlabel (); numla.settext ("โปรดป้อนหมายเลขรายการที่จะลบ"); numla.setLocation (40, 60); numla.setsize (150, 40); dnumtxt = new jtextfield (); dnumtxt.setLocation (200, 60); dnumtxt.setsize (250, 30); dnumbt = new JButton (); dnumbt.settext ("ลบ"); dnumbt.addactionListener (นี้); dnumbt.setLocation (270, 170); dnumbt.setsize (60, 30); uppa.add (numla); uppa.add (dnumtxt); uppa.add (dnumbt); uppa.validate (); uppa.repaint (); downpa.validate (); downpa.repaint (); } เป็นโมฆะส่วนตัวเริ่มต้น PAWHENALERT () {// ล้าง UPPA.REMOVEALL () บนแผงด้านบนและล่าง; downpa.removeall (); // โหลดการควบคุมแบบไดนามิกของแผงด้านบน UPPA.SetLayout (NULL); alnumla = new Jlabel (); alnumla.settext ("โปรดป้อนหมายเลขโครงการที่จะแก้ไข"); Alnumla.setLocation (40, 60); alnumla.setsize (150, 40); alsebt = new JButton (); alsebt.settext ("ส่ง"); alsebt.addactionListener (นี่); Alsebt.setLocation (270, 170); alsebt.setsize (60, 30); AllNumTxt = new Jtextfield (); Allnumtxt.setLocation (200, 60); allnumtxt.setsize (200, 30); uppa.add (Alnumla); uppa.add (Alsebt); uppa.add (Allnumtxt); uppa.validate (); uppa.repaint (); ALBT = new JButton (); albt.settext ("แก้ไข"); albt.addactionListener (นี่); ALBT.SetLocation (450, 170); albt.setsize (60, 30); /* allnumla = new Jlabel (); allnumla.settext ("โปรดป้อนหมายเลขโครงการที่แก้ไขแล้ว"); Allnumla.setLocation (30, 00); Allnumla.setsize (150, 40); alnumtxt = new jtextfield (); alnumtxt.setLocation (180, 00); alnumtxt.setsize (250, 30);*/ alnamela = new Jlabel (); alnamela.settext ("โปรดป้อนชื่อโครงการที่แก้ไขแล้ว"); Alnamela.setLocation (30, 50); alnamela.setsize (150, 40); alnametxt = new Jtextfield (); Alnametxt.setLocation (180, 50); alnametxt.setsize (250, 30); alpeoplela = new Jlabel (); alpeoplela.settext ("โปรดรีเซ็ตผู้เข้าร่วม"); Alpeoplela.setLocation (30, 100); alpeoplela.setsize (150, 40); alpeopletxt = new jtextfield (); alpeopletxt.setLocation (180, 100); alpeopletxt.setsize (250, 30); alprincipalla = new jlabel (); alprincipalla.settext ("โปรดรีเซ็ตหัวหน้าโครงการ"); Alprincipalla.setLocation (30, 150); alprincipalla.setsize (150, 40); alprincipaltxt = new jtextfield (); alprincipaltxt.setLocation (180, 150); alprincipaltxt.setsize (250, 30); Altimestartla = new Jlabel (); altimestartla.settext ("โปรดรีเซ็ตเวลาเริ่มต้นโครงการ"); Altimestartla.setLocation (30, 200); Altimestartla.setsize (150, 40); AltimestartTxt = new Jtextfield (); Altimestarttxt.setLocation (180, 200); Altimestarttxt.setsize (250, 30); Altimeendla = new Jlabel (); altimeendla.settext ("โปรดรีเซ็ตเวลาสิ้นสุดโครงการ"); Altimeendla.setLocation (30, 250); Altimeendla.setsize (150, 40); AltimeendTxt = new JTextField (); Altimeendtxt.setLocation (180, 250); Altimeendtxt.setsize (250, 30); downpa.add (ALBT); //downpa.add( Allnumla); downpa.add (Alnamela); downpa.add (Alpeoplela); downpa.add (alprincipalla); downpa.add (Altimestartla); downpa.add (Altimeendla); downpa.add (altimetxt); //downpa.add(ALNUMTXT); downpa.add (alpeopletxt); downpa.add (alprincipaltxt); downpa.add (altimestarttxt); downpa.add (altimeendtxt); downpa.setLayout (null); downpa.validate (); downpa.repaint (); -3.3 จัดระเบียบคำสั่ง SQL และส่วนฐานข้อมูลลิงค์
แพคเกจระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์ นำเข้า java.sql.*; นำเข้า Java.util.scanner; คลาสสาธารณะ SQL {โมฆะสาธารณะ addscienceProject (ScienceProject ScienceProject) {ลอง {class.forname ("Oracle.jdbc.driver.oracledriver"). newInstance (); String Constr = "JDBC: Oracle: Thin: @LocalHost: 1521: XE"; Connection con = drivermanager.getConnection (ข้อ จำกัด , "ระบบ", "1"); StringBuffer SQL = ใหม่ StringBuffer ("แทรกเข้าไปในวิทยาศาสตร์ ค่า ("+scienceproject.getNum ()+", '"+scienceproject.getName ()+"', '"+Scienceproject.getPeople ()+",' "+Scienceproject.getLeader ()+", '"Scienceproject.getTimestart () คำสั่ง st = con.createstatement (); St.Execute (sql.toString ()); St.Close (); con.close (); } catch (exception e) {// todo: จัดการระบบยกเว้น System.out.println (e.toString ()); }} โมฆะสาธารณะ delscienceProject (ScienceProject ScienceProject) {ลอง {class.forName ("oracle.jdbc.driver.oracledriver"). newinstance (); String Constr = "JDBC: Oracle: Thin: @LocalHost: 1521: XE"; Connection con = drivermanager.getConnection (ข้อ จำกัด , "ระบบ", "1"); StringBuffer SQL = ใหม่ StringBuffer ("ลบจากวิทยาศาสตร์โดยที่ num ="+scienceproject.getNum ()+""); คำสั่ง st = con.createstatement (); St.Execute (sql.toString ()); St.Close (); con.close (); } catch (exception e) {// todo: จัดการระบบยกเว้น System.out.println (e.toString ()); }} โมฆะสาธารณะ UPDSCienceProject (ScienceProject ScienceProject) {ลอง {class.forName ("oracle.jdbc.driver.oracledriver") newinstance (); String Constr = "JDBC: Oracle: Thin: @LocalHost: 1521: XE"; Connection con = drivermanager.getConnection (ข้อ จำกัด , "ระบบ", "1"); StringBuffer SQL = ใหม่ StringBuffer ("Update Science Set name = '"+scienceproject.getName ()+"', workPeople = '"+ScienceProject.getPeople ()+"', ผู้จัดการ = '"+ScienceProject.getLeader ()+"' timestart = '"ScienceProject.getTimeStart ()+"' num = "+scienceproject.getNum ()+" "); คำสั่ง st = con.createstatement (); St.Execute (sql.toString ()); St.Close (); con.close (); } catch (exception e) {// todo: จัดการระบบยกเว้นระบบ. println ("แก้ไขข้อยกเว้น"); System.out.println (e.toString ()); }} ScienceProject Provect FindBynum (int num) {ScienceProject ScienceProject = New ScienceProject (); ลอง {class.forname ("oracle.jdbc.driver.oracledriver"). newinstance (); String Constr = "JDBC: Oracle: Thin: @LocalHost: 1521: XE"; Connection con = drivermanager.getConnection (ข้อ จำกัด , "ระบบ", "1"); StringBuffer SQL = ใหม่ StringBuffer ("SELECT * จากวิทยาศาสตร์โดยที่ num ="+num+""); คำสั่ง st = con.createstatement (); resultset rs = stexecuteQuery (sql.toString ()); ในขณะที่ (rs.next ()) {scienceproject.setnum (rs.getint (1)); ScienceProject.setName (Rs.getString (2)); ScienceProject.setPeople (Rs.getString (3)); ScienceProject.SetLeader (Rs.getString (4)); Scienceproject.settimestart (Rs.getString (5)); Scienceproject.settimefinish (Rs.getString (6)); } st.close (); con.close (); } catch (exception e) {// todo: จัดการระบบยกเว้น System.out.println (e.toString ()); } ส่งคืน ScienceProject; } Public ScienceProject Look () {ScienceProject ScienceProject = New ScienceProject (); ลอง {class.forname ("oracle.jdbc.driver.oracledriver"). newinstance (); String Constr = "JDBC: Oracle: Thin: @LocalHost: 1521: XE"; Connection con = drivermanager.getConnection (ข้อ จำกัด , "ระบบ", "1"); StringBuffer SQL = ใหม่ StringBuffer ("SELECT *จาก Science"); คำสั่ง st = con.createstatement (); resultset rs = stexecuteQuery (sql.toString ()); ในขณะที่ (rs.next ()) {scienceproject.setnum (rs.getint (1)); ScienceProject.setName (Rs.getString (2)); ScienceProject.setPeople (Rs.getString (3)); ScienceProject.SetLeader (Rs.getString (4)); Scienceproject.settimestart (Rs.getString (5)); Scienceproject.settimefinish (Rs.getString (6)); } st.close (); con.close (); } catch (exception ex) {// todo: จัดการระบบยกเว้น System.out.println (ex.toString ()); } ส่งคืน ScienceProject; } โมฆะคงที่สาธารณะหลัก (สตริง args []) {}}3.4 เพิ่มลบค้นหาและแก้ไขซอร์สโค้ดที่เกี่ยวข้อง
// แก้ไขปัญหาการเพิ่มระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์แพ็คเกจ นำเข้า Javax.swing.joptionpane; Public Class Dealadd {Public Dealadd () {} โมฆะสาธารณะเพิ่ม (ScienceProject S) {SQL SQL = ใหม่ SQL (); if (sql.findbynum (s.getNum ()). getNum ()! = 0) {JOptionPane.ShowMessageDialog (NULL, "โครงการนี้มีอยู่แล้วโปรดกลับเข้ามา!"); } else {sql.addscienceproject (s); joptionpane.showmessagedialog (null, "Addsuccess"); }}} ดังที่เห็นได้จากส่วนการออกแบบหมายเลขโครงการจะต้องส่งก่อนเมื่อลบดังนั้นเหตุการณ์การส่งจะต้องดำเนินการ
// การประมวลผลระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์การส่ง นำเข้า javax.swing.joptionpane; ข้อเสนอระดับสาธารณะ {dealsub () {} โมฆะสาธารณะส่ง (int num) {sql sql = new sql (); if (sql.findbynum (num) .getNum () == 0) {joptionpane.showMessageDialog (NULL, "โครงการนี้ไม่มีอยู่"); } else {joptionpane.showMessageDialog (null, "โปรดกรอกข้อมูลโครงการที่แก้ไขด้านล่าง"); }}} // การประมวลผลแพ็คเกจการลบระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์; นำเข้า javax.swing.joptionpane; ชั้นเรียนสาธารณะ dealdelete {สาธารณะ dealdelete () {} โมฆะสาธารณะลบ (int num) {ScienceProject S = New ScienceProject (); SQL SQL = new SQL (); if (sql.findbynum (num) .getNum () == 0) {JOptionPane.ShowMessageDialog (null, "โครงการไม่มีอยู่ ~"); } else {s = sql.findbynum (num); sql.delscienceproject (s); joptionpane.showmessagedialog (null, "ลบสำเร็จ ~"); }}} // จัดการและแก้ไขแพ็คเกจระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์; นำเข้า Javax.swing.joptionpane; ผู้ขายในชั้นเรียนสาธารณะ {Public Dealalter () {} Public Void Alter (ScienceProject S) {SQL SQL = ใหม่ SQL (); sql.updscienceproject (s); joptionpane.showmessagedialog (null, "แก้ไขได้สำเร็จ"); }} // การจัดการและการสืบค้นแพคเกจระบบการวิจัยข้อมูลการวิจัยทางวิทยาศาสตร์; Public Class DealSearch // Handle and Query Events {Public DealSearch () {} สตริงสาธารณะ findProbynum (int num) // Query ตามหมายเลขโครงการ {string result = ""; ScienceProject S = New ScienceProject (); SQL SQL = new SQL (); s = sql.findbynum (num); ผลลัพธ์ = s.getNum ()+","+s.getName ()+","+s.getpeople ()+","+s.getLeader ()+","+s.getTimestart ()+","+s.gettimefinish (); ผลการกลับมา; -3.5 ฟังก์ชั่นหลักโทรเข้าสู่ระบบ
แพคเกจระบบการจัดการข้อมูลการวิจัยทางวิทยาศาสตร์ การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {loginWindows v = ใหม่ loginWindows (); -4. สรุป
ยังมีข้อบกพร่องบางอย่าง เนื่องจากไม่คุ้นเคยกับโครงการวิจัยทางวิทยาศาสตร์คุณลักษณะบางอย่างไม่มีเหตุผลและมีหลายสิ่งที่ยังไม่ได้รับการพิจารณา นอกจากนี้ความไม่คุ้นเคยกับ GUI ยัง จำกัด การออกแบบของเราบนหน้าต่าง นอกจากนี้ยังต้องมีการแก้ไขในแง่ของคุณสมบัติโครงการและ Windows
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น