Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

JDBC - Lettura dei dati da un database

Collegarsi e leggere, attraverso semplici esempio, i dati da una banca dati presente sul server
Collegarsi e leggere, attraverso semplici esempio, i dati da una banca dati presente sul server
Link copiato negli appunti

Una volta configurato il driver ODBC possiamo entrare nel vivo dell'argomento con la lettura dei dati contenuti nel nosto database.

L'operazione completa per leggere i dati da una o più tabelle di una base di dati è suddivisa in quattro fasi:

  1. apertura connessione al database
  2. esecuzione istruzione
  3. elaborazione risultato
  4. chiusura connessione

Ecco uno spezzone di codice che mostra come implemetare in pratica queste fasi:

<!-- per l'esecuzione corretta delle istruzioni SQL è necessario 
     importare il relativo package: java.sql.* 
--> 
<%@ page language="java" import="java.sql.*" %>

connection dbconn = null;

// carica il file di classe del driver 
// per il collegamento al database con il ponte Odbc
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

// apre la connessione con il database "miodb"
dbconn = DriverManager.getConnection("jdbc:odbc:miobd","admin","pwd");

// manda in esecuzione l'istruzione SQL
Statement statement = dbconn.createStatement();
ResultSet rs = statement.executeQuery("SELECT dato FROM tab1");

Fin qui abbiamo implementato i primi due punti. In questa fase l'oggetto rs contiene l'insieme dei risultati ottenuti dalla SELECT, rappresentati nella classe ResultSet. Questa classe ci permette di compiere una scansione di tutti i record e leggere il contenuto dei campi.

Esaminiamo un esempio di questo meccanismo con uno spezzone di codice che stampa i dati a video.

// elabora i risultati
while (rs.next()) 
{
  // ottiene il dato
  dat = rs.getInt("dato");
 
  // stampa a video
  out.println(dat);
}

//chiude la connessione
dbconn.close();

In questo semplice esempio sono stati prelevati dalla tabella tab1 del database miodb tutti i valori del campo dato.

I metodi esposti dalla classe ResultSet per la lettura dei dati si differenziano in base al tipo del campo da rappresentare. Il nome di ogni metodo è composto dal prefisso "get", seguito dal tipo di dato che può elaborare.

Per chiarire il concetto, ecco un breve tabella che elenca i tipi di variabile del database e i rispettivi metodi da utilizzare.

Metodo Tipo del campo
getInt() Numerico intero
getFloat() Numerico con virgola
getByte() Numerico byte
getlong() Numerico lungo
getString() Stringa o testo
getBoolean() Booleano (vero/falso)
getdate() Data

Per avanzare tra i record (spostare in avanti il cursore) resultSet espone il metodo next(), che restituisce un valore booleano che indica se il cursore è arrivato al termine dalla tabella. È sufficiente creare un ciclo while(rs.next()) per scorrere senza ulteriori istruzioni la tabella generata dalla query.

Ti consigliamo anche