1. Préface
J'ai appris la langue java ce semestre. À la fin du semestre, j'ai écrit un système de gestion avec une interface d'opération et associé à la base de données pour consolider les connaissances que j'ai apprises dans cette étude.
Connaissances utilisées: Java Basics, Java Interface Design (GUI), Oracle Database (Besoin de maîtriser les instructions d'opération de base de la base de données) et la base de données de liaison.
Outils de développement utilisés: MyEclipse Professional 2014
2. Conception
Les attributs que nous gérons sont: le numéro de projet, le nom du projet, le participant, la personne responsable, l'heure de début du projet et l'heure de fin. Le système de projets de recherche scientifique a quatre fonctions principales: l'addition, la suppression, la modification et la requête des projets de recherche scientifique. Et le mode de connexion conçu pour augmenter la sécurité du système.
2.1 Ajouter: ajouter toutes les informations sur les projets de recherche scientifique au tableau dans la base de données
Après avoir ajouté, utilisez des instructions SQL pour rechercher dans la console pour vérifier qu'elle a été ajoutée à la base de données.
2.2 Requête: Trouvez toutes les informations sur le projet par un numéro de projet unique
2.3 Modification: sélectionnez le projet à modifier en fonction du numéro de projet et réintégralez les informations du projet pour les modifier
2.4 Supprimer: Supprimer toutes les informations du projet correspondant via un numéro de projet unique
3. Code source de formulaire
3.1 Interface de connexion
Package Scientific Research Information Management System; Importer Java.awt. *; Importer java.awt.event. *; Importer Javax.swing. *; public class LoginWindows étend le cadre implémente WindowListener, ActionListener {public Lgabel; // Username Tag Public Label PWDLABEL; // Mot de passe tag public textfield lgtext; // Nom d'utilisateur Box Public TextField PwDText; // Boîte de texte du mot de passe Bouton public LGBT; // Bouton de connexion Bouton public QUITBT; // Quittez le bouton public LoginWindows () {super (); this.setSize (400, 300); this.setTitle ("Scientific Information Management System"); this.setLayout (null); lglabel = new Label (); LGLABEL.SETTEXT ("Compte de connexion:"); lglabel.setSize (60, 30); lglabel.setLocation (70, 70); pwdLabel = new Label (); PWDLABEL.SETTEXT ("Mot de passe:"); 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 (this); lgbt.addactionListener (this); this.addwindowListener (this); 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.showMessageAriALOG (this, "le compte ou le mot de passe est vide"); } else {if ((lgText.getText (). Equals ("admin")) && (pwDText.getText (). Equals ("111"))) //if( (lgText.getText (). Equals ("")) || (pwDText.getText (). Equals ("")) {this.setVieble (false); // sqlwindow sql = new sqlwindow (); WindowsView W = new WindowsView (); w.sciencePro (); } else {joptionpane.showMessageDialog (this, "pas d'autorisation"); }}}} @Override public void fenêtre (WindowEvent e) {// Todo Method-Generated Method Busb} @Override public void windowClosing (WindowEvent E) {// Todo Generated Method Busb System.Exit (0); } @Override public void windowclosed (windowEvent e) {// Todo Génération automatique de la méthode busb} @Override public void windowIconified (windowEvent e) {// TODO GÉNÉNÉRÉ AUTO BUSB} @Override Public Vende WindowDeiConized (WindowEvent E) {// TODO-Generated Method Busb} @override VODIDE VOID E) {// Todo Méthode générée automatiquement Busb} @Override public void windowdeativated (WindowEvent e) {// Todo Method-Generated Method Busb}}3.2 Code source du formulaire principal
Système de gestion des informations de recherche scientifique de package; import javax.swing. *; import java.awt. *; import java.awt.event. *; import javax.swing.event. *; import javax.swing.tree. *; public class windowsView implémente arreselelectionListener, actionListener // window class {Jframe main; Jpanel Leftpa; Jpanel uppa; Jpanel Downpa; /// Contrôle de requête jlabel numla; // requête jTextfield numtxt; JBUTTON NUMBT; JTextfield nametxt; // affiche la zone de texte qui affiche le nom du projet jTextField Peopletxt; // montre le participant jTextfield PrincipalTxt; // montre la personne principale en charge jTextfield timestarttxt; // affiche la zone de texte qui affiche l'heure de début jTextField TimeEndtxt; // affiche la zone de texte qui affiche l'heure de fin attendue // Ajouter un contrôle JLabel anumla; Jlabel Anamela; JLabel Apeoplela; Jlabel Abrincipalla; Jlabel Atimestartla; Jlabel Atimeendla; JTextfield anumtxt; JTextfield Anametxt; JTextfield Apeopletxt; Jtextfield aprincipaltxt; JTextfield AtiMestartTxt; JTextfield Atimeendtxt; JBUTTON ADDBT; JTable Showtable; // Supprimer le contrôle jlabel dnumla; Jbutton Dnumbt; JTextfield dnumtxt; // Modifier le contrôle 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; public void SciencePro () {main = new JFrame (); Main.SetSize (800 800); main.SetTitle ("Gestion des informations scientifiques de la recherche"); main.SetLayout (null); LeftPa = new JPanel (); LeftPA.SetSize (150, 600); LeftPa.SetLocation (0, 0); LeftPa.setBackground (Color.white); initleftPanel (); main.add (LeftPA); 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 (dowpa); main.setVisible (true); } private void initleftpanel () {string [] strS = {"query", "add", "delete", "modifier"}; Jtree Tree = new Jtree (STRS); Tree.AddtreeSelectionListener (this); Leftpa.add (arbre); } public void ValueChanged (TreeSelectionEvent E) {Jtree Tree = (Jtree) e.getsource (); DefaultMutableTreenode SelectionNode = (DefaultMutableTreenode) Tree.getLastSelectedPathComponent (); String str = sélectionnode.toString (); if (str.equals ("requête")) {initUpDownPawHensearch (); } if (str.equals ("add")) {initUpDownPAwHenadd (); } if (str.equals ("delete")) {initUpDownPAwhenDelete (); } if (str.equals ("modifier")) {initUpDownPawHenAlert (); }} private void initUpdownPAwHensearch () {// clear uppa.removeall (); downpa.removeall (); // Chargez dynamiquement les commandes sur les panneaux supérieurs et inférieurs uppa.setLayout (null); numla = new JLabel (); numla.setText ("Veuillez entrer le numéro de projet"); 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); // Chargez dynamiquement le contrôle du panneau nametxt = new JTextField (); nametxt.setLocation (80, 50); nametxt.setSize (300, 30); peupletxt = new JTextField (); peupletxt.setLocation (80, 100); peupletxt.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 (peupletxt); 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.showMessageDialog (null," Veuillez entrer le numéro de projet "); } 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]); peupletxt.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 (). JOptionPane.showMessageDialog (null, "Il ne peut pas y avoir de valeur nul dans l'entrée !!"); } 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 ("Delete")) {if (Integer.ParseInt (dnumtxt.getText ()) == 0) {joptionPane.showMessageDialog (null, "ne peut supprimer le numéro d'élément vide !!"); } else {DealDelete Deal = new DealDelete (); Deal.Delete (Integer.ParseInt (dnumtxt.getText (). Trim ())); }} if (bt.getText (). equals ("soumider")) {if (Integer.parseInt (allnumtxt.getText ())) == 0) {joptionPane.showMessageDialog (null, "Le numéro de projet vide ne peut pas être modifié !!"); } else {dealSub deal = new dealSub (); Deal.Submit (Integer.ParseInt (allnumtxt.getText ())); }} if (bt.getText (). equals ("modifier")) {if (alnametxt.getText (). equals ("") || alpeopletxt.getText (). equals ("") || alPrincipaltxt.getText (). Equals ("") || altimestartTxt.getText (). "Il ne peut pas y avoir de valeur nulle dans l'entrée !!"); } 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); }}} private void initUpdownPAwHenadd () {// clear uppa.removeall (); downpa.removeall (); // Charge dynamique du panneau supérieur uppa.setLayout (null); anumla = new JLabel (); anumla.setText ("Veuillez saisir le numéro d'article à ajouter"); anumla.setLocation (30, 50); anumla.setSize (150, 40); anumtxt = new JTextField (); anumtxt.setLocation (200, 50); anumtxt.setSize (250, 30); anamela = new JLabel (); anamela.setText ("Veuillez saisir le nom du projet à ajouter"); anamela.setLocation (30, 100); anamela.setSize (150, 40); anametxt = new JTextField (); anametxt.setLocation (200, 100); anametxt.setSize (250, 30); apeoplela = new JLabel (); apeoplela.setText ("Veuillez entrer le participant du projet"); Apeoplela.SetLocation (30, 150); Apeoplela.SetSize (150, 40); apeopletxt = new JTextField (); Apeopletxt.SetLocation (200, 150); Apeopletxt.SetSize (250, 30); aprincipalla = new JLabel (); aprincipalla.settext ("Veuillez entrer le chef de projet"); aprincipalla.setLocation (30, 200); aprincipalla.setSize (150, 40); aprincipaltxt = new JTextField (); aprincipaltxt.setLocation (200, 200); aprincipaltxt.setSize (250, 30); AtiMestartla = new JLabel (); AtiMestartla.SeTText ("Veuillez entrer l'heure de début du projet"); Atimestartla.setLocation (30, 250); AtiMestartla.SetSize (150, 40); atiMestartTxt = new JTextField (); AtiMestartTxt.SetLocation (200, 250); AtiMestartTxt.SetSize (250, 30); atimeendla = new JLabel (); atimeendla.setText ("Veuillez entrer l'heure de fin du projet"); atimeendla.setLocation (30, 300); Atimeendla.SetSize (150, 40); atimeendtxt = new JTextField (); atimeendtxt.setLocation (200, 300); atimeendtxt.setSize (250, 30); addbt = new JButton (); addbt.setText ("new"); addbt.addactionListener (this); //addbt.addmousseListener (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 () {// clear uppa.removeall (); downpa.removeall (); // Chargez dynamiquement la commande du panneau supérieur uppa.setLayout (null); numla = new JLabel (); numla.setText ("Veuillez saisir le numéro d'élément à supprimer"); 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 (dnumbt); uppa.validate (); uppa.repaint (); downpa.validate (); downpa.repaint (); } private void initUpdownPawhenAlert () {// clear uppa.removeall () sur les panneaux supérieurs et inférieurs; downpa.removeall (); // Chargez dynamiquement la commande du panneau supérieur uppa.setLayout (null); alnumla = new JLabel (); alnumla.setText ("Veuillez saisir le numéro de projet à modifier"); alnumla.setLocation (40, 60); Alnumla.SetSize (150, 40); alsebt = new JButton (); ALSEBT.SETTEXT ("Soumettre"); 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 ("modifier"); albt.AddactionListener (this); Albt.SetLocation (450, 170); Albt.SetSize (60, 30); / * allnumla = new JLabel (); allnumla.setText ("Veuillez saisir le numéro de projet modifié"); allnumla.setLocation (30, 00); Allnumla.SetSize (150, 40); alnumtxt = new JTextField (); alnumtxt.setLocation (180, 00); alnumtxt.setSize (250, 30); * / alnamela = new JLabel (); Alnamela.SeTText ("Veuillez entrer le nom du projet modifié"); Alnamela.setLocation (30, 50); Alnamela.SetSize (150, 40); alnametxt = new JTextField (); Alnametxt.SetLocation (180, 50); Alnametxt.setSize (250, 30); alpeoplela = new JLabel (); alpeoplela.setText ("s'il vous plaît réinitialiser le participant"); alpeoplela.setLocation (30, 100); Alpeoplela.SetSize (150, 40); alpeopletxt = new JTextField (); alpeopletxt.setLocation (180, 100); alpeopletxt.setSize (250, 30); alPrincipalla = new JLabel (); AlPrincipalla.SeTText ("Veuillez réinitialiser le chef de projet"); AlPrincipalla.SetLocation (30, 150); AlPrincipalla.SetSize (150, 40); alPrincipaltxt = new JTextField (); alPrincipaltxt.setLocation (180, 150); AlPrincipaltxt.SetSize (250, 30); Altimestartla = new JLabel (); Altimestartla.seTText ("Veuillez réinitialiser l'heure de début du projet"); Altimestartla.SetLocation (30, 200); Altimestartla.SetSize (150, 40); altimestarttxt = new JTextField (); AltimestartTxt.SetLocation (180, 200); AltimestartTxt.SetSize (250, 30); altimeendla = new JLabel (); altimeendla.setText ("Veuillez réinitialiser l'heure de fin du projet"); 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 Organisez des instructions SQL et des pièces de base de données de liens
Système de gestion des informations de recherche scientifique de package; import java.sql. *; import java.util.scanner; public class sql {public void addScienceProject (scienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String const = "jdbc: oracle: mince: @localhost: 1521: xe"; Connexion con = driverManager.getConnection (const, "système", "1"); StringBuffer sql = new StringBuffer ("Insérer dans la science VALEURS ("+ ScienceProject.getNum () +", '"+ ScienceProject.getName () +"', '"+ ScienceProject.getPeople () +"', '"+ ScienceProject.getLeader () +"', '"+ ScienceProject.gettimestart () +"', "+ ScienceProject.getTimefinish () +") "); Instruction st = con.createStatement (); St.Execute (sql.toString ()); St.Close (); con.close (); } catch (exception e) {// todo: gère exception system.out.println (e.toString ()); }} public void DelscienceProject (ScienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String const = "jdbc: oracle: mince: @localhost: 1521: xe"; Connexion con = driverManager.getConnection (const, "système", "1"); StringBuffer sql = new StringBuffer ("Supprimer de la science où num =" + scienceProject.getnum () + ""); Instruction st = con.createStatement (); St.Execute (sql.toString ()); St.Close (); con.close (); } catch (exception e) {// todo: gère exception system.out.println (e.toString ()); }} public void updsCienceProject (ScienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String const = "jdbc: oracle: mince: @localhost: 1521: xe"; Connexion con = driverManager.getConnection (const, "système", "1"); StringBuffer sql = new StringBuffer ("Update Science Set name = '"+ scienceProject.getName () +"', workPeople = '"+ scienceProject.getPeople () +"', manager = '"+ scienceProject.getleader () +"', timestart = '"+ scienceProject.getTimeStart () +"' ', timeEnd =' "+ scienceProject.gettimeFinish () +" '', wQuand WQUOC num = "+ scienceProject.getNum () +" "); Instruction st = con.createStatement (); St.Execute (sql.toString ()); St.Close (); con.close (); } catch (exception e) {// todo: gère exception system.out.println ("modifier l'exception"); System.out.println (e.toString ()); }} public ScienceProject FindBynum (int num) {ScienceProject ScienceProject = new ScienceProject (); essayez {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String const = "jdbc: oracle: mince: @localhost: 1521: xe"; Connexion con = driverManager.getConnection (const, "système", "1"); StringBuffer sql = new StringBuffer ("SELECT * FROM SCIENCE où num =" + num + ""); Instruction 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 (exception e) {// todo: gère exception system.out.println (e.toString ()); } return ScienceProject; } public ScienceProject look () {ScienceProject ScienceProject = new ScienceProject (); essayez {class.forname ("oracle.jdbc.driver.oracledriver"). newInstance (); String const = "jdbc: oracle: mince: @localhost: 1521: xe"; Connexion con = driverManager.getConnection (const, "système", "1"); StringBuffer sql = new StringBuffer ("SELECT * FROM SCIENCE"); Instruction 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 (exception ex) {// todo: gère exception system.out.println (ex.toString ()); } return ScienceProject; } public static void main (String args []) {}}3.4 Ajouter, supprimer, rechercher et modifier le code source correspondant
// dépanner l'ajout du système de gestion des informations de recherche scientifique de package; import javax.swing.joptionpane; public class derafaDd {public DealAdd () {} public void add (ScienceProject S) {sql sql = new sql (); if (sql.findBynum (s.getnum ()). getnum ()! = 0) {joptionpane.showMessageDialog (null, "Ce projet existe déjà, veuillez vous remettre!"); } else {sql.addsCienceProject (s); JOptionPane.showMessageDialog (null, "AddSuccess"); }}} Comme le montre la partie de conception, le numéro de projet doit être soumis en premier lors de la suppression, donc l'événement de soumission doit être traité.
// traitement du système de gestion des informations de recherche scientifique de soumission; import javax.swing.joptionpane; public class defacsub {offresb () {} public void soumed (int num) {sql sql = new sql (); if (sql.findBynum (num) .getNum () == 0) {joptionPane.showMessageDialog (null, "Ce projet n'existe pas"); } else {joptionpane.showMessageDialog (null, "Veuillez remplir les informations du projet modifiées ci-dessous"); }}} // Traitement du système de gestion des informations de recherche scientifique de suppression; Importer javax.swing.joptionpane; public class gofDelete {public Dealdelete () {} public void Delete (int num) {ScienceProject S = new ScienceProject (); SQL SQL = new SQL (); if (sql.findBynum (num) .getnum () == 0) {joptionpane.showMessageAriALOG (null, "Le projet n'existe pas ~"); } else {s = sql.findBynum (num); sql.delsCienceProject (s); JOptionPane.showMessageDialog (null, "Supprimer avec succès ~"); }}} // gérer et modifier le système de gestion des informations de recherche scientifique de package; import javax.swing.joptionpane; classe publique DealAlter {public Dealalter () {} public void alter (ScienceProject S) {sql sql = new sql (); sql.upDScienceProject (s); JOptionPane.showMessageDialog (null, "modifier avec succès"); }} // Gire et requêtes Système de gestion des informations de recherche scientifique; classe publique Dealsearch // Gire and Query Events {public officesearch () {} public String findProBynum (int num) // requête par projet numéro {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.getTimeFinish (); Résultat de retour; }}3.5 Fenêtre de connexion de l'appel de fonction principale
Système de gestion des informations de recherche scientifique de package; Classe publique Test {public static void main (String [] args) {LoginWindows v = new LoginWindows (); }}4. Résumé
Il y a encore des défauts. En raison de la méconnaissance des projets de recherche scientifique, certains attributs sont déraisonnables et il y a beaucoup de choses qui n'ont pas été considérées. De plus, la méconnaissance de l'interface graphique limite également notre conception sur la fenêtre. Il doit également être modifié en termes de propriétés du projet et de fenêtres.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.