|
|
JDBC è un eccellente interfaccia di programmazione che connette l'accesso ad un database da qualsiasi software java. JDBC è un interfaccia di programmazione che lavora da tramite tra codice Java e un database. Più in particolare , JDBC racchiude una serie di classi che permettono l'accesso ad una base dati mediante metodi e schemi di funzionamento. Quindi è possibile connettersi ad un particolare database sfruttando un apposito driver JDBC, costituito da una classe Java. Esiste poi un particolare driver, chiamato ponte JDBC-ODBC, che permette l' utilizzo di qualsiasi fonte dati per la quale è disponibile un driver ODBC.
Una volta configurato il driver ODBC possiamo entrare nel vivo dell'argomen 949b12j to con la lettura dei dati contenuti nel nostro database.
L'operazione completa per leggere i dati da una o più tabelle di una base di dati è suddivisa in quattro fasi:
- apertura connessione al database
- esecuzione istruzione
- elaborazione risultato
- chiusura connessione
import java.sql.* |
Bisogna importare questa classe per eseguire le istruzioni sql
Class.forName("sun.jdbc.odbc. .JdbcOdbcDriver") |
carica il file di classe del driver per il collegamento al database con il ponte Odbc
questa istruzione dovrà essere racchiusa all' interno di un try , perché potrebbe generare un eccezione del tipo ClassNotFoundException
catch(ClassNotFoundException E)
}
Da adesso tutto il codice dovrà essere inserito all'intero di un try perché è possibile che venga lanciata un eccezione del tipo SQLException
file ="jdbc:odbc:Driver=;DBQ=F:\\java to database\\inserimento-cancellazione\\prova.mdb;"; |
Inseriamo il path dove è presente la nostra base dati in questo caso prova.mdb
db = DriverManager.getConnection(file,"",""); |
Apertura connessione con il data base "prova"
stm = db.createStatement(); |
QuerY = stm.executeQuery(); |
Con il metodo executeQuery() è possibile eseguire delle operazioni di ricerca utilizzando SELECT per selezionare i campi da mostrare , FROM per selezionare la tabella e WHERE per dirgli su cosa deve fare il confronto , questo metodo restituirà un oggetto di tipo ResultSet
stm = db.createStatement(); |
QuerY1 = stm.executeUpdate(); |
Con il metodo executeUpdate() è possibile eseguire delle operazioni di creazione, aggiornato,cancellazione questo metodo restituisce un intero che corrispondo al numero di record che sono stati presi in esame, per quanto riguarda la creazione si utilizza
ESEMPIO
Azienda = "CREATE TABLE Societa(Matricola VARCHAR (10) PRIMARY KEY,Nome VARCHAR(50),Indirizzo VARCHAR(50))";
Dipendanti = "CREATE TABLE Dipendenti(Codice VARCHAR (10) PRIMARY KEY,Matricola VARCHAR (10) References Societa(Matricola),Nome VARCHAR(50),Cognome VARCHAR(50),Professione VARCHAR(50))";
per inserire dei valori si utilizza
ESEMPIO
Inserimento="INSERT INTO Utente(Nome,Cognome,eta) VALUES('Alessandro','Mastropietro',19)
In questo caso il valore di IDS pure se è chiave primaria non è stato inserito perché è di tipo int AUTO INCREMENT, quindi ogni volta che inseriamo un campo IDS si incrementa da solo.
Per quanto riguarda la cancellazione si utilizza
ESEMPIO
Inserimento="DELETE FROM Utente where eta>19";
Per quanto riguarda l' aggiornamento si utilizza
SET NuovoValore
WHERE Quali Valore dovranno essere modificati
ESEMPIO
UPDATE Personale
SET Livello=6
WHERE Matricola="H009"
Inoltre è possibile scegliere quale campo inserire,cancellare,o aggiornare o ricercare tramite l' inserimento da tastiera, con l' oggetto prepareStatement,
ESEMPIO
Questo codice dovrà essere eseguito dopo l' istruzione DriverManager.getConnection()
Query="DELETE FROM Dipendenti WHERE Professione=?";
PS=db.prepareStatement(Query);
PS.setString(1,"JOptionPane.showInputDialog("INSERSCI IL MESTIERE ")");
PS.executeUpdate();
Per quanto riguarda la stampa si utilizza l' oggetto ResultSet ottenuto dalla esecuzione del metodo executeQuery(),
while(Query.next()) System.out.print(""+Result.getString(i)+"\t"); |
A questo punto l'oggetto rs contiene il set di risultati ottenuti dall'istruzione SELECT sul database. Ora i singoli campi di ogni record possono essere letti con opportuni metodi.
I metodi di lettura dei campi dell'oggetto ResultSet si differenziano in base al tipo campo. 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 |
getBoolean() |
Buleano (si/no) |
getDate() |
Data |
Se si vuole stampare anche il nome delle colonne si utilizza Result.getMetaData().getColumnCount() che ci restituisce il numero di colonne e successivamente il metodo Result.getMetaData().getColumnName(i) che ci dice il nome delle colonne
ESEMPIO
for(int i=1;i<col;i++)
System.out.print ""+Result.getMetaData().getColumnName(i)+"\t");
System.out.println "");
while(Result.next())
db.close |
Chiude la connessione
LISTATO
CANCELLAZIONE DEI CAMPI I QUALLI SARANNO ISERITI TASTIERA E STAMPA DEI RISULTATI.
import javax.swing.*;
import java.sql.*;
class Inserimento
;DBQ=F:\\java to database\\Creazione\\AziendaMia.mdb;";
Class.forName "sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException E)
}
public void Querryuno()
db.close );
stm.close );
}
catch(SQLException EX)
}
class InserimentoMain
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2024