Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung der Abfrage- und Aktualisierungsvorgänge von Java in der Datenbank

Detaillierte Erläuterung der Abfrage- und Aktualisierungsvorgänge von Java in der Datenbank

怪我咯
怪我咯Original
2017-07-02 10:24:512741Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von Java zum Durchführen grundlegender Abfrage- und Aktualisierungsvorgänge in der Datenbank vorgestellt. Es handelt sich um Grundkenntnisse zum Erlernen von Erste Schritte mit Java >

Datenbankabfrage

Verwenden Sie die Methode „createStatement“ des Connection-Objekts, um ein Statement-Objekt zu erstellen, und verwenden Sie die Methode „executeQuery()“ des Statement-Objekts, um die SQL-Abfrageanweisung auszuführen und zurückzugeben die Ergebnismenge und verwenden Sie dann die Methode getXXX() aus Daten werden in der Ergebnismenge gelesen. Nach einer solchen Reihe von Schritten kann die Abfrage an die Datenbank realisiert werden.

【Beispiel】Java-Anwendung greift auf die Datenbank zu. Die Anwendung öffnet die Kandidateninformationstabelle ksInfo und ruft verschiedene Informationen über den Kandidaten ab. Gehen Sie davon aus, dass die Struktur der Kandidateninformationsdatenbank wie folgt ist:



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
public class Example10_9 extends JFrame implements ActionListener{
  public static Connection connectByJdbcodbc(String url, String username,String password){
    Connection con = null;
    try{
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载ODBC驱动程序
    }
    catch (Exception e){
      e.printStackTrace();
      return null; //加载失败,连接不成功
    }
    try{
      con = DriverManager.getConnection(url, username, password);
    }
    catch (SQLException e){
      e.printStackTrace();
      return null; //连接失败
    }
    return con; //连接成功
  }
  String title[] ={"考号", "姓名", "成绩", "地址", "简历"};
  JTextField txtNo = new JTextField(8);
  JTextField txtName = new JTextField(10);
  JTextField txtScore = new JTextField(3);
  JTextField txtAddr = new JTextField(30);
  JTextArea txtresume = new JTextArea();
  JButton prev = new JButton("前一个");
  JButton next = new JButton("后一个");
  JButton first = new JButton("第一个");
  JButton last = new JButton("最后一个");
  Statement sql; //SQL语句对象
  ResultSet rs; //存放查询结果对象
  Example10_9(Connection connect){
    super("考生信息查看窗口");
    setSize(450, 350);
    try{
      sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      rs = sql.executeQuery("SELECT * FROM ksInfo");
      Container con = getContentPane();
      con.setLayout(new BorderLayout(0, 6); JPanel p[] = new JPanel[4];
      for (int i = 0; i < 4; i++){
        p[i] = new JPane(new FlowLayout(FlowLayout.LEFT, 8, 0));
        p[i].add(new JLabel(title[i]));
      }
      p[0].add(txtNo);
      p[1].add(txtName);
      p[2].add(txtScore);
      p[3].add(txtAddr);
      JPanel p1 = new JPane(new GridLayout94, 1, 0, 8));
      JScrollPane jsp = new 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 = new 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(next);
      p3.add(first);
      p3.add(last);
      prev.addActionListener(this);
      next.addActionListener(this);
      first.addActionListener(this);
      last.addActionlistener(this);
      rs.first();
      readRecord();
    }
    catch (Exception e){
      e.printStackTrace():
    }
    setVisible(ture);
  }
  public void modifyRecord(Connection connect){
    String stuNo = (String)JOptionPane.showInputDialog(null,
      "请输入考生考号", "输入考号对话框", JOptionPane.PLAIN_MESSAGE, null,
      null, "");
    try {
      sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      rs = sql.executeQuery("SELECT * FROM ksInfo");
      Container 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(title[i]));
      }
      p[0].add(txtNo);
      p[1].add(txtName);
      p[2].add(txtScore);
      p[3].add(txtAddr);
      Jpanel p1 = new Jpane(new GridLayout(4, 1, 0, 8));
      JScrollPane jsp = new JScrollPane(txtResume,
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
      jsp.setPreferredSize (new dimension(300, 60));
      for (int i = 0; i < 4; i++){
        p1.add(p[i]);
      }
      Jpanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0));
      p2.add(new JLableI(title[4]));
      p2.add(jsp);
      JPanel p3 = new JPanel();
      p3.add(prev);
      p3.add(next);
      p3.add(first);
      p3.add(last);
      prev.addActionListener(this);
      next.addActionListener(this);
      first.addActionListenerIthis);
      last.addActionListener(this);
      rs.first();
      readRecord();
    }
    catch (Exception e){
      e.printStackTrace();
    }
    setVisible(true);
  }
  boolean readRecord(){
    try{
      txtNo.setText(rs.getString("考号")); txtName.setText(rs.getString("姓名")); txtScore.setText(rs.getString("成绩"));
      txtAddr.setText(rs.getString("地址")); txtResume.setText(rs.getString("简历"));
    }
    catch (SQLException e){
      e.printStackTrace(); return false;
    }
    return true;
  }
  public void actionPerformed(ActionEvent e){
    try{
      if (e.getSource() == prev)rs.previous();
      else if (e.getSource() == next)rs.next();
      else if (e.getSource() == first)rs.first();
      else if (e.getSource() == last)rs.last(); readRecord();
    }
    catch (Exception e2){}
  }
  public static void main(String args[]){
    connection connect = null;
    JFrame .setDefaultLookAndFeeDecorated(true);
    Font font = new Font("JFrame", Font.PLAIN, 14);
    if ((connect =connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) == null){
      JOptionPane.showMessageDialog(null, "数据库连接失败!");
      System.exit ( - 1);
    }
    new Example10_9(connect); //创建对象
  }
}

Java-Datenbankaktualisierung Datenbankaktualisierungsvorgänge umfassen die Erstellung von Datentabellen ,
Löschen und Vorgänge wie das Hinzufügen, Löschen und Ändern von Datentabellendatensätzen. Wenn es mithilfe von Daten-SQL-Befehlen implementiert wird, verwenden Sie die MethodeexecuteUpdate() des Statement-Paares, um die SQL-Update-Anweisung auszuführen, um die Datentabelle zu ändern. Führen Sie die SQL-Insert-Anweisung aus, um die Datentabellendatensätze hinzuzufügen.

Fügen Sie beispielsweise basierend auf dem vorherigen Datenabfragebeispiel Änderungen und Einfügungen zur Datentabelle hinzu. Aus Platzgründen wird nicht das vollständige Programm angegeben, sondern nur die Methoden zum Implementieren von Änderungen und Einfügungen. Das Programm kann Schaltflächen zum Einfügen, und Speichern hinzufügen, um eine bestimmte Position in der Datentabelle zu finden, den Karbunkeldatensatz zu bearbeiten, zu ändern, einzufügen oder zu löschen und dann auf die Schaltfläche „Speichern“ zu klicken, um die geänderte Datentabelle zu vervollständigen . speichern.

Der folgende Code erklärt, wie die Datentabelle aktualisiert wird. Wenn Sie eine Verbindung zu einer Datentabelle herstellen, müssen Sie angeben, dass das erhaltene ResultSet-Objekt aktualisierbar ist.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Abfrage- und Aktualisierungsvorgänge von Java in der Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn