1. Vorwort
Ich habe in diesem Semester Java -Sprache gelernt. Am Ende des Semesters schrieb ich ein Managementsystem mit einer Betriebsoberfläche, die mit der Datenbank verbunden ist, um das Wissen zu konsolidieren, das ich in dieser Studie gelernt habe.
Verwendete Wissen: Java -Grundlagen, Java Interface Design (GUI), Oracle -Datenbank (müssen die grundlegenden Betriebsanweisungen der Datenbank beherrschen) und die Linkdatenbank.
Verwendete Entwicklungstools: MyeClipse Professional 2014
2. Design
Die Attribute, die wir verwalten, sind: Projektnummer, Projektname, Teilnehmer, Verantwortliche, Projektstartzeit und Endzeit. Das wissenschaftliche Forschungsprojektsystem verfügt über vier Hauptfunktionen: Addition, Löschung, Änderung und Abfrage wissenschaftlicher Forschungsprojekte. Und der Anmeldemodus zur Erhöhung der Systemsicherheit.
2.1 Hinzufügen: Fügen Sie alle Informationen zu wissenschaftlichen Forschungsprojekten in die Tabelle in der Datenbank hinzu
Verwenden Sie nach dem Hinzufügen SQL -Anweisungen, um in der Konsole zu suchen, um zu überprüfen, ob sie der Datenbank hinzugefügt wurde.
2.2 Abfrage: Finden Sie alle Informationen zum Projekt nach einer eindeutigen Projektnummer
2.3 Änderung: Wählen Sie das Projekt, das gemäß der Projektnummer geändert werden soll
2.4 Löschen: Löschen Sie alle Informationen des entsprechenden Projekts über eine eindeutige Projektnummer
3. Formularquellcode
3.1 Anmeldeschnittstelle
Paket Scientific Research Information Management System; import Java.awt.*; import Java.awt.event.*; Javax.swing importieren. // Benutzername Tag Public Label PWDLabel; // Passwort Tag Public TextField LGText; // Benutzername Textfeld Public Textfield PWDText; // Passwort Textfeld öffentliche Schaltfläche LGBT; // Anmeldebaste öffentliche Schaltfläche Quitbt; // Button public LoginWindows () {Super () beenden; this.setSize (400, 300); this.settitle ("wissenschaftliches Informationsmanagementsystem"); this.setLayout (null); lglabel = new Label (); lglabel.setText ("Login -Konto:"); lglabel.setsize (60, 30); lglabel.setLocation (70, 70); pwdlabel = new Label (); pwdlabel.setText ("Passwort:"); 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 = New Button (); LGBT.SetLabel ("Login"); LGBT.Setsize (60, 30); LGBT.SetLocation (120, 220); QuitBT = new Button (); Quitbt.setLabel ("exit"); Quitbt.Setsize (60,30); Quitbt.SetLocation (220.220); Quitbt.AddactionListener (dies); LGBT.AddactionListener (dies); this.addwindowlistener (dies); this.add (lglabel); this.add (pwdlabel); this.add (LGText); this.add (LGBT); this.add (Quitbt); this.setvisible (true); } public static void main (String args []) {loginwindows main = new LoginWindows (); } @Override public void actionPerformed (actionEvent e) {button bt = (button) e.getSource (); if (bt.getLabel (). Equals ("exit") {System.exit (0); } else {if ((lGText.getText (). Equals ("")) || (pwdText.getText (). Equals ("")) {joptionpane.showMessagedialog (dieses "Konto oder Passwort ist leer"); } else {if ((lGText.getText (). Equals ("admin") && (pwdText.getText (). Equals ("111")) //if(lgText.getText (). Equals ("") || (pwdText.getText (actiBlext (). // sqlwindow SQL = new SQLWindow (); WindowsView w = new WindowsView (); W.SciencePro (); } else {joptionpane.showMessagedialog (this, "keine Erlaubnis"); }}}} @Override public void windowoPeed (windowEvent e) {// Todo automatisch generierte Methode Busb} @Override public void windowsClosing (windowEvent e) {// todo auto-generierte Methode busb system.exit (0); } @Override public void windowsclosend (windowEvent e) {// todo automatisch generierte Methode Busb} @Override public void windowiconified (windowEvent e) {// toDo automatisch generierte Methode Busb} @Override Public Void Windowdeiconized (windowevent e) @ / / toDo auto-genated methode methods (windowevent e { / / toDo auto-gern methods bus buconized windowActivated (windowEvent e) {// Todo automatisch generierter Methode Busb} @Override public void Windowdeactivated (WindowEvent e) {// Todo Auto-Generated-Methode Busb}}3.2 Quellcode des Hauptformulars
Paket wissenschaftliches Forschungsinformationsmanagementsystem; Javax.swing importieren.*; import Java.awt.*; import Java.awt.event. Jpanel linkspa; Jpanel uppa; Jpanel Downpa; /// Abfragekontrolle Jlabel numla; // JtextField Numtxt abfragen; Jbutton Taub; JTextField Nametxt; // Zeigen Sie das Textfeld an, in dem der Projektname JTextField Peopletxt angezeigt wird. // Zeigen Sie den Teilnehmer JTextField PrincipalTxt; // Zeigen Sie die verantwortliche Hauptperson JTextField TimestartTxt; // Zeigen Sie das Textfeld an, in dem die Startzeit JTextField Timeendtxt angezeigt wird. // Zeigen Sie das Textfeld an, in dem die erwartete Endzeit angezeigt wird // Steuerung JLabel Anumla hinzufügen; Jlabel Anamela; Jlabel Apeoplela; Jlabel Aprincipalla; Jlabel Atimestartla; Jlabel appimeendla; JTextfield Anumtxt; Jtextfield Anametxt; JTextField Apeopletxt; Jtextfield Aprincipaltxt; JTextField atimestartTxt; Jtextfield atimeendtxt; Jbutton addb; Jtable showtable; // Steuerung jlabel dnumla löschen; Jbutton dnumbt; JTextField dnumtxt; // Steuerung JLabel Alnumla ändern; 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; public void SciencePro () {main = new Jframe (); Main.Setsize (800.800); Main.Settitle ("wissenschaftliche Forschungsinformationsmanagement"); main.setLayout (null); Leftpa = new Jpanel (); linkSpa.Setsize (150, 600); Leftpa.SetLocation (0, 0); linkSpa.Setbackground (color.white); initleftpanel (); Main.Add (link); 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 (true); } private void initleftpanel () {string [] strs = {"query", "add", "delete", "modify"}; JTREE TREE = New JTREE (STRS); Tree.AddreeSeSelectionListener (this); linkspa.add (Baum); } public void Valuechanged (bleeSelectionEvent e) {jTree tree = (jTree) e.getSource (); DefaultMutabletreenode selectionNode = (DefaultMutabletreenode) Baum.getLastSelectedPathComponent (); String str = selectionNode.toString (); if (str.equals ("query")) {initupdownpawhensearch (); } if (str.equals ("add") {initupdownpawhenadd (); } if (str.equals ("delete") {initupdownpawhendelete (); } if (str.equals ("modify") {initupdownpawhenalert (); }} private void initupdownpawhensearch () {// uppa.removeall (); downpa.removeall (); // Die Steuerelemente dynamisch auf den oberen und unteren Feldern uppa.setLayout (null) laden; numla = new JLabel (); Numla.setText ("Bitte geben Sie die Projektnummer ein"); Numla.SetLocation (40, 60); Numla.Setsize (100, 40); numtxt = new JTextField (); Numtxt.setLocation (180, 60); Numtxt.SetSize (200, 30); numbt = new Jbutton (); numbt.setText ("query"); numbt.addactionListener (this); Numbt.SetLocation (250, 160); Numbt.Setsize (60, 30); uppa.add (numla); uppa.add (numtxt); uppa.add (numbt); uppa.validate (); uppa.repaint (); numbt.addactionListener (this); // laden Sie die Steuerung von Panel nametxt = new JTextField () dynamisch; 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); TIMEDTTXT = 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 (TimeendTxt); Downpa.Validate (); Downpa.Repaint (); } public void actionperformed (actionEvent e) {jbutton bt = (jbutton) e.getSource (); //bt.addactionListener(This); if (bt.getText (). Equals ("query")) {if (numtxt.getText (). Equals ("")) {joptionpane.showmessAntialog (null, "Bitte geben Sie die Projektnummer ein"); } else {DealSearch Deal = New DealSearch (); String inf = Deal.findProbynum (Integer.ParseInt (numtxt.GeteText (). TRIM ())); if ((inf! nametxt.setText (strs [1]); Peopletxt.setText (STRS [2]); PrincipalTxt.setText (STRS [3]); timestartTxt.setText (STRS [4]); timeEndtxt.setText (STRS [5]); }}} if (bt.getText (). Equals ("new") {if (anumtxt.getText (). Equals ("") || anametxt.getText (). Equals ("") || apeopletxt.getText (). Equals ("") || Aprin cipaltxt.getText (). Equals ("") || atimestartTxt.getText (). Equals ("") || atimeendtxt.GetText (). Equals ("")) {Joptionpane.showMessagedialog (null, "Es kann keinen Nullwert in der Eingabe geben !!"); } else {ScienceProject s = new ScienceProject (); S.Setnum (Integer.ParseInt (anumtxt.GIETTEXT ())); S.SetName (nametxt.getText ()); S.SetPeople (apeopletxt.getText ()); S.SetLeader (Aprincipaltxt.GeteText ()); S.Settimestart (atimestartTxt.getText ()); S.Settimefinish (atimeendtxt.GeteText ()); Dealadd Deal = New Dealadd (); Deal.Add (s); }} if (bt.getText (). Equals ("delete") {if (integer.parseInt (dnumtxt.GIETTEXT ()) == 0) {JOPTIONPANE.ShowMessagedialog (null, "kann leere Elementnummer nicht löschen !!"); } else {DeAlDelete Deal = new dealdelete (); Deal.Delete (Integer.ParseInt (dnumtxt.GeteText (). trim ())); }} if (bt.getText (). Equals ("subieren") {if (integer.parseInt (allnumtxt.GIETTEXT ()) == 0) {JOPTIONPANE.ShowMessagedialog (null (null, "Die leere Projektnummer kann nicht geändert werden!"); } else {DealSub Deal = New DealSub (); Deal.Submit (Integer.ParseInt (Allnumtxt.Getext ())); }} if (bt.getText (). Equals ("modify") {if (alnametxt.getText (). Equals ("") || alpeopletxt.getText (). Equals ("") || Alprincipaltxt.GIETTEXT (). Equals ("") || AltimestartTxt.GetText (). Equals (") || AltimeendTXT.). Joptionpane.showmessagedialog (null, "Es kann keinen Nullwert in der Eingabe geben !!"); } else {ScienceProject s = new ScienceProject (); S.Setnum (Integer.ParseInt (AllnumTxt.GeteText ())); S.SetName (alnametxt.GeteText ()); S.SetPeople (alpeopletxt.GeteText ()); S.SetLeader (Alprincipaltxt.GeteText ()); S.Settimestart (AltimestartTxt.GetText ()); S.Settimefinish (altimeendtxt.GeteText ()); DealAger Deal = New DealAgerter (); Deal.AUTER (s); }}} private void initupdownpawhenadd () {// löschen uppa.removeall (); downpa.removeall (); // Dynamische Belastung des oberen Feldes uppa.setLayout (null); anumla = new JLabel (); anumla.setText ("Bitte geben Sie die zugefügte Elementnummer ein"); Anumla.SetLocation (30, 50); Anumla.Setsize (150, 40); anumtxt = new JTextField (); anumtxt.setLocation (200, 50); anumtxt.setSize (250, 30); Anamela = new JLabel (); Anamela.setText ("Bitte geben Sie den zu fügen Sie den Projektnamen ein"); Anamela.SetLocation (30, 100); Anamela.Setsize (150, 40); anametxt = new JTextField (); Anametxt.setLocation (200, 100); Anametxt.Setsize (250, 30); apeoplela = new JLabel (); Apeoplela.setText ("Bitte geben Sie den Projektteilnehmer ein"); Apeoplela.SetLocation (30, 150); Apeoplela.Setsize (150, 40); Apeopletxt = new JTextField (); Apeopletxt.setLocation (200, 150); Apeopletxt.SetSize (250, 30); Aprincipalla = new JLabel (); AprinciPalla.SetText ("Bitte betreten Sie den Projektleiter"); Aprincipalla.Setlocation (30, 200); Aprincipalla.Setsize (150, 40); Aprincipaltxt = new JTextField (); Aprincipaltxt.setLocation (200, 200); Aprincipaltxt.Setsize (250, 30); atimestartla = new JLabel (); atimestartla.setText ("Bitte geben Sie die Projektstartzeit ein"); atimestartla.setLocation (30, 250); atimestartla.setsize (150, 40); atimestartTxt = new JTextField (); atimestartTxt.setLocation (200, 250); atimestartTxt.setSize (250, 30); atimeendla = new JLabel (); atimeendla.setText ("Bitte geben Sie die Projektendzeit ein"); atimeendla.setLocation (30, 300); atimeendla.setsize (150, 40); atimeendtxt = new JTextField (); atimeendtxt.setLocation (200, 300); atimeendtxt.setsize (250, 30); addBt = new Jbutton (); addBt.setText ("neu"); addBt.AddactionListener (this); //addbt.addmouselistener(This); 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 (); } private void initupdownpawhendelete () {// löschen uppa.removeall (); downpa.removeall (); // laden Sie die Steuerung des oberen Feldes dynamisch uppa.setLayout (null); numla = new JLabel (); numla.setText ("Bitte geben Sie die zu löschende Elementnummer ein"); Numla.SetLocation (40, 60); Numla.Setsize (150, 40); dnumtxt = new JTextField (); dnumtxt.setLocation (200, 60); dnumtxt.setSize (250, 30); dnumbt = new Jbutton (); dnumbt.setText ("delete"); dnumbt.addactionListener (this); dnumbt.setLocation (270, 170); dnumbt.setSize (60, 30); uppa.add (numla); uppa.add (dnumtxt); uppa.add (dnumt); uppa.validate (); uppa.repaint (); Downpa.Validate (); Downpa.Repaint (); } private void initupdownpawhenalert () {// uppa.removeall () auf den oberen und unteren Tafeln; downpa.removeall (); // laden Sie die Steuerung des oberen Feldes uppa.setLayout (null) dynamisch; alnumla = new JLabel (); alnumla.setText ("Bitte geben Sie die zu modifizierende Projektnummer ein); alnumla.setLocation (40, 60); Alnumla.Setsize (150, 40); AlseBt = new Jbutton (); alsebt.setText ("subieren"); alsebt.addactionListener (this); 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 ("modify"); Albt.AddactionListener (dies); Albt.SetLocation (450, 170); Albt.Setsize (60, 30); /* Allnumla = new JLabel (); Allnumla.setText ("Bitte geben Sie die geänderte Projektnummer ein"); Allnumla.SetLocation (30, 00); Allnumla.Setsize (150, 40); alnumtxt = new JTextField (); alnumtxt.setLocation (180, 00); alnumtxt.setSize (250, 30);*/ alnamela = new JLabel (); alnamela.setText ("Bitte geben Sie den geänderten Projektnamen ein"); Alnamela.SetLocation (30, 50); Alnamela.Setsize (150, 40); alnametxt = new JTextField (); alnametxt.setLocation (180, 50); alnametxt.setsize (250, 30); Alpeoplela = new JLabel (); Alpeoplela.setText ("Bitte den Teilnehmer zurücksetzen"); Alpeoplela.SetLocation (30, 100); Alpeoplela.Setsize (150, 40); Alpeopletxt = new JTextField (); alpeopletxt.setLocation (180, 100); Alpeopletxt.Setsize (250, 30); Alprincipalla = new JLabel (); Alprincipalla.setText ("Bitte den Projektleiter zurücksetzen"); Alprincipalla.SetLocation (30, 150); Alprincipalla.Setsize (150, 40); Alprincipaltxt = new JTextField (); Alprincipaltxt.setLocation (180, 150); Alprincipaltxt.Setsize (250, 30); Altimestartla = new JLabel (); Altimestartla.setText ("Bitte setzen Sie die Projektstartzeit zurück"); Altimestartla.SetLocation (30, 200); Altimestartla.Setsize (150, 40); AltimestartTxt = new JTextField (); AltimestartTxt.setLocation (180, 200); AltimestartTxt.SetSize (250, 30); altimeendla = new JLabel (); altimeendla.setText ("Bitte die Projektende zurücksetzen"); 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 Organisieren Sie SQL -Anweisungen und verknüpfen Datenbankteile
Paket wissenschaftliches Forschungsinformationsmanagementsystem; Import Java.sql. String Const = "JDBC: Oracle: Thin: @LocalHost: 1521: xe"; Verbindung con = driverManager.getConnection (Const, "System", "1"); StringBuffer SQL = New StringBuffer ("In die Wissenschaft einfügen values ("+ScienceProject.getNum ()+", "+ScienceProject.getName ()+" ',' "+ScienceProject.getPeople ()+" ',' "+ScienceProject.getleader ()+" ',' "+ScienceProject.getTimestart ()+"). Anweisung st = con.CreateStatement (); St.Execute (SQL.ToString ()); St.CLOSE (); con.close (); } catch (Ausnahme e) {// toDo: Handle Exception System.out.println (e.toString ()); }} public void delScienceProject (ScienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String Const = "JDBC: Oracle: Thin: @LocalHost: 1521: xe"; Verbindung con = driverManager.getConnection (Const, "System", "1"); StringBuffer sql = new StringBuffer ("aus der Wissenschaft löschen wobei num ="+ScienceProject.getNum ()+""); Anweisung st = con.CreateStatement (); St.Execute (SQL.ToString ()); St.CLOSE (); con.close (); } catch (Ausnahme e) {// toDo: Handle Exception System.out.println (e.toString ()); }} public void updscienceProject (ScienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String Const = "JDBC: Oracle: Thin: @LocalHost: 1521: xe"; Verbindung con = driverManager.getConnection (Const, "System", "1"); StringBuffer SQL = New StringBuffer ("Science Set aktualisieren name = '"+ScienceProject.getName ()+"', Workpeople = '"+ScienceProject.getPeople ()+"', Manager = '"+ScienceProject.getleader ()+"', Timestart = '"+ScienceProject.gettimestart ()+", Timeend =' " Num = "+ScienceProject.getNum ()+" "); Anweisung st = con.CreateStatement (); St.Execute (SQL.ToString ()); St.CLOSE (); con.close (); } catch (Ausnahme e) {// Todo: Behandeln Sie Ausnahmesystem.out.println ("Ausnahme ändern"); System.out.println (e.toString ()); }} public ScienceProject findbynum (int num) {ScienceProject ScienceProject = new ScienceProject (); try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String Const = "JDBC: Oracle: Thin: @LocalHost: 1521: xe"; Verbindung con = driverManager.getConnection (Const, "System", "1"); StringBuffer SQL = new StringBuffer ("Select * aus der Wissenschaft, wobei num ="+num+""); Anweisung st = con.CreateStatement (); ResultSet rs = St.ExecuteQuery (SQL.ToString ()); while (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 (Ausnahme e) {// toDo: Handle Exception System.out.println (e.toString ()); } return ScienceProject; } public ScienceProject Look () {ScienceProject ScienceProject = new ScienceProject (); try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String Const = "JDBC: Oracle: Thin: @LocalHost: 1521: xe"; Verbindung con = driverManager.getConnection (Const, "System", "1"); StringBuffer SQL = new StringBuffer ("aus der Wissenschaft auswählen"); Anweisung st = con.CreateStatement (); ResultSet rs = St.ExecuteQuery (SQL.ToString ()); while (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 (Ausnahme ex) {// toDo: Handle Exception System.out.println (ex.ToString ()); } return ScienceProject; } public static void main (String args []) {}}3.4 Fügen Sie den entsprechenden Quellcode hinzu, löschen, suchen und ändern
// Fehlerbehebung bei der Hinzufügung von Paket wissenschaftlichem Forschungsinformationsmanagementsystem; import Javax.swing.joptionPane; öffentliche Klasse Dealadd {public Dealadd () {} public void add (ScienceProject s) {SQL SQL = new SQL (); if (sql.findbynum (S.Getnum ()). getNum ()! } else {sql.addscienceProject (s); Joptionpane.showMessagedialog (null, "adsuccess"); }}} Wie aus dem Entwurfsteil hervorgeht, muss die Projektnummer beim Löschen zunächst eingereicht werden, sodass das Einreichungsereignis verarbeitet werden muss.
// Verarbeitung des Einreichungspakets wissenschaftliches Forschungsinformationsmanagementsystem; import javax.swing.joptionpane; public class DealSub {DealSub () {} public void subjekt (int num) {SQL SQL = new SQL (); if (sql.findbynum (num) .getnum () == 0) {joptionpane.showMessagedialog (null, "Dieses Projekt existiert nicht"); } else {joptionpane.showMessagedialog (null, "Bitte füllen Sie die geänderten Projektinformationen unten aus"); }}} // Verarbeitung des Löschpakets wissenschaftliche Forschungsinformationsmanagementsystem; Javax.swing.joptionPane; öffentliche Klasse DELDELETE {public dealdelete () {} public void delete (int num) {ScienceProject s = new ScienceProject (); SQL SQL = new SQL (); if (sql.findbynum (num) .getnum () == 0) {joptionpane.showMessagedialog (null, "Das Projekt existiert nicht ~"); } else {s = sql.findbynum (num); sql.delscienceProject (s); JOPTIONPANE.SHOWMESSAGEDIALOG (NULL, "erfolgreich löschen ~"); }}} // Paket wissenschaftliches Forschungsinformationsmanagementsystem verwandeln und ändern; import Javax.swing.joptionpane; public class Dealalter {public Dealalter () {} public void Alter (ScienceProject s) {SQL SQL = new SQL (); sql.updscienceProject (s); Joptionpane.showmessagedialog (null, "erfolgreich modifizieren"); }} // Behandeln und Abfragen von wissenschaftlichem Forschungsinformationsmanagementsystem; öffentliche Klasse DealSearch // Handle und Abfragen von Ereignissen {public DealSearch () {} public String findProbynum (int num) // Abfrage nach Projektnummer {String result = ""; ScienceProject s = new ScienceProject (); SQL SQL = new SQL (); S = Sql.Findbynum (num); result = S.Getnum ()+","+S.GetName ()+","+S.GetPeople ()+","+S.Getleader ()+","+s.gettimestart ()+"," S.GetimeFinish (); Rückgabeergebnis; }}3.5 Hauptanmeldungsfenster für Funktionen aufrufen
Paket wissenschaftliches Forschungsinformationsmanagementsystem; public class test {public static void main (String [] args) {loginwindows v = new LoginWindows (); }}4. Zusammenfassung
Es gibt noch einige Mängel. Aufgrund der Unbekanntheit wissenschaftlicher Forschungsprojekte sind einige Attribute unangemessen, und es gibt viele Dinge, die nicht berücksichtigt wurden. Darüber hinaus begrenzt Unbekanntheit mit GUI auch unser Design im Fenster. Es muss auch in Bezug auf Projekteigenschaften und Windows geändert werden.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.