English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
以下是使用Result Set教程中描述的ResultSet.CONCUR_UPDATABLE和ResultSet.TYPE_SCROLL_INSENSITIVE示例。本示例将说明对表的INSERT,UPDATE和DELETE操作。
应该注意的是,您正在处理的表应正确设置主键。
该示例代码是根据前几章中的环境和数据库设置编写的。
复制并粘贴以下示例到JDBCExample.java中,如下编译并运行:
// 步骤1.导入所需的软件包 import java.sql.*; public class JDBCExample { // JDBC驱动程序名称和数据库URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // 数据库凭证 static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; try{ // 步骤2:注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 步骤3:建立连接 System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); // 步骤4:执行查询以创建陈述 // RS示例的必需参数。 System.out.println("Creating statement..."); Statement stmt = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); //Passaggio 5: Esegui la query String sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); System.out.println("Elenco dei risultati per riferimento...."); printRs(rs); //Passaggio 6: Esplora il risultato e aumenta di 5 anni l'età //Sposta alla posizione BFR per far funzionare correttamente il ciclo while rs.beforeFirst(); //Passaggio 7: Estrai i dati dal risultato while(rs.next()){ //Ricerca per nome di colonna int newAge = rs.getInt("age") + 5; rs.updateDouble("age",newAge); rs.updateRow(); } System.out.println("Elenco dei risultati mostrando i nuovi età..."); printRs(rs); //Inserisci una nuova riga nel tavolo. //Spostati per utilizzare updateXXX() per inserire una riga e aggiungere dati delle colonne System.out.println("Inserendo un nuovo record..."); rs.moveToInsertRow(); rs.updateInt("id",104); rs.updateString("first","John"); rs.updateString("last","Paul"); rs.updateInt("age",40); //Conferma la riga rs.insertRow(); System.out.println("Elenco dei risultati mostrando il nuovo set..."); printRs(rs); //Elimina la seconda riga dal tavolo. //Imposta la posizione iniziale sul secondo record rs.absolute(2); System.out.println("Elenco del record prima dell'eliminazione..."); //Ricerca per nome di colonna int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //Visualizzazione dei valori System.out.print("ID: " + id); System.out.print(", Età: " + age); System.out.print(", Primo: " + first); System.out.println(", Ultimo: " + last); //Elimina la riga rs.deleteRow(); System.out.println("Elenco dei risultati dopo ", "Elenco dei risultati dopo ") Eliminazione di un record... printRs(rs); //Passo 8: Pulizia dell'ambiente rs.close(); stmt.close(); conn.close(); } //Gestione degli errori JDBC se.printStackTrace(); } //Gestione dell'errore di Class.forName finally{ } //Utilizzato per chiudere le risorse try{ if(conn!=null) conn.close(); } se.printStackTrace(); } } System.out.println("Arrivederci!"); //Fine di main public static void printRs(ResultSet rs) throws SQLException{ //Assicurarsi di iniziare dalla riga 1 rs.beforeFirst(); while(rs.next()){ //Ricerca per nome di colonna int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //Visualizzazione dei valori System.out.print("ID: " + id); System.out.print(", Età: " + age); System.out.print(", Primo: " + first); System.out.println(", Ultimo: " + last); } System.out.println(); //Fine di printRs() //Fine di JDBCExample
Ora, compiliamo l'esempio sopra riportato come segue:
C:\>javac JDBCExample.java C:\>
Al runtimeJDBCExampleEcco il risultato che produrrà:
C:\>java JDBCExample Connessione al database... Creazione dello statement... Elenco dei risultati della query per riferimento... ID: 100, Età: 33, Nome: Zara, Cognome: Ali ID: 101, Età: 40, Nome: Mahnaz, Cognome: Fatma ID: 102, Età: 50, Nome: Zaid, Cognome: Khan ID: 103, Età: 45, Nome: Sumit, Cognome: Mittal Elenca il result set mostrando i nuovi anni... ID: 100, Età: 38, Nome: Zara, Cognome: Ali ID: 101, Età: 45, Nome: Mahnaz, Cognome: Fatma ID: 102, Età: 55, Nome: Zaid, Cognome: Khan ID: 103, Età: 50, Nome: Sumit, Cognome: Mittal Inserendo un nuovo record... Elenca il result set mostrando il nuovo set... ID: 100, Età: 38, Nome: Zara, Cognome: Ali ID: 101, Età: 45, Nome: Mahnaz, Cognome: Fatma ID: 102, Età: 55, Nome: Zaid, Cognome: Khan ID: 103, Età: 50, Nome: Sumit, Cognome: Mittal ID: 104, Età: 40, Nome: John, Cognome: Paul Elenca il record prima di eliminarlo... ID: 101, Età: 45, Nome: Mahnaz, Cognome: Fatma Elenca il result set dopo aver eliminato un record... ID: 100, Età: 38, Nome: Zara, Cognome: Ali ID: 102, Età: 55, Nome: Zaid, Cognome: Khan ID: 103, Età: 50, Nome: Sumit, Cognome: Mittal ID: 104, Età: 40, Nome: John, Cognome: Paul Ciao! C:\>