Requête de base de données
Utilisez la méthode createStatement de l'objet Connection pour créer un objet Statement, utilisez la méthode executeQuery() de l'objet Statement pour exécuter l'instruction de requête SQL et renvoyer le jeu de résultats, puis lisez les données du jeu de résultats à l'aide d'une méthode telle que getXXX(). Après une telle série d’étapes, la requête vers la base de données peut être réalisée.
[Exemple] L'application Java accède à la base de données. L'application ouvre la table d'informations sur le candidat ksInfo et récupère diverses informations sur le candidat. Supposons que la structure de la base de données d'informations sur les candidats est la suivante :
importer java.awt.*;importer java.awt.event.*;importer javax.swing.*;importer java.util.*;importer java.sql.*;classe publique Exemple 10_9 étend JFrame implémente ActionListener{ connexion statique publique connectByJdbcodbc( URL de chaîne, nom d'utilisateur de chaîne, mot de passe de chaîne){ Connexion con = null try{ ; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //Charger le pilote ODBC} catch (Exception e){ e.printStackTrace(); //Le chargement a échoué, la connexion a échoué} try{ con = DriverManager); .getConnection(url, nom d'utilisateur, mot de passe); } catch (SQLException e){ e.printStackTrace(); return null; //Échec de la connexion} return con; String title[] ={"Numéro d'examen", "Nom", "Note", "Adresse", "Resume"}; JTextField txtNo = new JTextField txtName = new JTextField (10); JTextField(3); JTextField txtAddr = nouveau JTextField(30); JTextArea txtresume = new JTextArea(); JButton prev = new JButton("précédent"); JButton next = new JButton("suivant"); ); Instruction sql; //Objet d'instruction SQL ResultSet rs; //Résultat de la requête de stockage objectExample10_9(Connection connect){ super("Fenêtre d'affichage des informations sur le candidat"); setSize(450, 350); try{ sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ("SÉLECTIONNER * DEPUIS ksInfo"); Conteneur con = getContentPane(); con.setLayout(new BorderLayout(0, 6); JPanel p[] = new JPanel[4]; for (int i = 0; i < 4; i++){ p[ je] = nouveau JPane(nouveau FlowLayout(FlowLayout.LEFT, 8, 0)); p[i].add(nouveau) JLabel(titre[i])); } p[0].add(txtNo); p[1].add(txtName); p[2].add(txtScore); JPanel p1 = nouveau JPane (nouveau GridLayout94, 1, 0, 8)); JScrollPane jsp = nouveau JScrollPane(txtResume, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setPreforredSize(new Dimension(300, 60); for (int i = 0; i < 4; i++){ p1.add(p[i]); } JPanel p2 = nouveau JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0); p2.add(new JLabel(title[4])); p2.add(jsp); Jpanel p3 = new Jpanel(); p3.add(prev); p3.add(suivant); p3.add(premier); p3.add(dernier); next.addActionListener(this); first.addActionListener(this); last.addActionlistener(this); rs.first(); catch (Exception e){ e.printStackTrace(): } setVisible(ture); } public void modifierRecord(Connection connect){ String stuNo = (String)JOptionPane.showInputDialog(null, "Veuillez saisir le numéro d'examen du candidat", "Boîte de dialogue Saisissez le numéro d'examen", JOptionPane.PLAIN_MESSAGE, null, null, ""); try { sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); .executeQuery ("SELECT * FROM ksInfo"); Conteneur con = getContentPane(); con.setLayout(new Boarderlayout(0, 6)); Jpanel p[] = new JPanel[4]; for (int i = 0; i < ; i++){ p[i] = new JPane(new FlowLayout(flowLayout.LEFT, 8, 0)); p[i].add(new JLabel(titre[i])); p[0].add(txtNo); p[1].add(txtName); p[2].add(txtScore); p[3].add(txtAddr); , 1, 0, 8)); JScrollPane jsp = nouveau JScrollPane(txtResume, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setPreferredSize (nouvelle dimension (300, 60)); pour (int i = 0; i < 4; i++){ p1.add(p[i] } Jpanel p2 = nouveau JPanel (nouveau FlowLayout(FlowLayout.LEFT, 10, 0)); p2.add(new JLableI(title[4])); p2.add(jsp); add(suivant); p3.add(premier); p3.add(dernier); next.addActionListener(this); first.addActionListenerIthis); last.addActionListener(this); rs.first(); readRecord(); } catch (Exception e){ e.printStackTrace( } setVisible(true); readRecord(){ try{ txtNo.setText(rs.getString("Numéro d'examen")); txtName.setText(rs.getString("nom")); txtScore.setText(rs.getString("score")); txtAddr.setText(rs.getString("adresse")); "Resume")); } catch (SQLException e){ e.printStackTrace(); return false; true; } public void actionPerformed(ActionEvent e){ try{ if (e.getSource() == prev)rs.previous else if (e.getSource() == next)rs.next(); (e.getSource() == first)rs.first(); else if (e.getSource() == last)rs.last( } catch (Exception e2){} } public static void main(String args[]){ connection connect = null; setDefaultLookAndFeeDecorated(true); Font font = new Font("JFrame", Font.PLAIN, 14); :redsun", "xia", "1234")) == null){ JOptionPane.showMessageDialog(null, "Échec de la connexion à la base de données !"); System.exit ( - 1); new Exemple10_9(/Créer un objet}}
Mise à jour de la base de données Java <br />Les opérations de mise à jour de la base de données incluent la création, la suppression et l'ajout, la suppression et la modification d'enregistrements de table de données. S'il est implémenté à l'aide de commandes SQL de données, utilisez la méthode executeUpdate() de la paire Statement pour exécuter l'instruction SQL update afin de modifier la table de données ; exécutez l'instruction SQL insert pour ajouter les enregistrements de la table de données.
Par exemple, sur la base de l'exemple de requête de données précédent, ajoutez une modification et une insertion à la table de données. En raison du manque de place, le programme complet ne sera pas donné, seulement les méthodes pour mettre en œuvre la modification et l'insertion. Le programme peut ajouter des boutons d'insertion et d'enregistrement via la navigation existante, localiser une position spécifique de la table de données, éditer, modifier, insérer ou supprimer l'enregistrement de l'anthrax, puis appuyer sur le bouton Enregistrer pour compléter la table de données modifiée. . sauvegarder.
Le code suivant explique comment mettre à jour la table de données. Lors de la connexion à une table de données, vous devez préciser que l'objet ResultSet obtenu est modifiable.
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);