JDBC Funzionamento

Materie:Appunti
Categoria:Informatica

Voto:

1.5 (2)
Download:66
Data:13.01.2006
Numero di pagine:4
Formato di file:.doc (Microsoft Word)
Download   Anteprima
jdbc-funzionamento_1.zip (Dimensione: 10.91 Kb)
trucheck.it_jdbc-funzionamento.doc     63.5 Kb
readme.txt     59 Bytes



Testo

Nome: Mastropietro Alessandro
Classe: 5c
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'argomento 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
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException E)
{
System.out.println(" ATTENZIONE:"+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={Microsoft Access Driver (*.mdb)};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
• CREATE TABLE NomeTabella((Matricola VARCHAR (10) PRIMARY KEY,Nome VARCHAR(50),Indirizzo VARCHAR(50)) se si vuole creare un relazione con un'altra tabella si utilizza ReferenceNomeTabella(Campo) .
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
• INSERT INTO NomeTabella(//Nome Campi)VALUES(//VALORI)
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
• DELETE FROM NomeTabella WHERE ";
ESEMPIO
Inserimento="DELETE FROM Utente where eta>19";
Per quanto riguarda l’ aggiornamento si utilizza
• UPDATE NomeTabella
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

Esempio