Discuti il tutorial sul forum !

leggere i dati da un database access con jdbc

Obiettivo
In questo articolo tratteremo un semplice modo per connettersi ad un database
access con
java jdbc ed eseguire una qualsiasi query.

Articolo
Avremo infatti due aree di testo in cui metteremo la stringa sql da eseguire
in una e nell’altra
visualizzeremo il risultato della query.
Non occorre impostare nessuna fonte di dati odbc perchè si connette
direttamente al file.
Il nostro database pippo.mdb sarà cosi costituito
 
contatti
 
ID autonumber
NOME text
COGNOME text
INDIRIZZO text
TELEFONO text
 
Il programma in java pippo.java sarà invece:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class pippo extends JFrame
{
private JTextArea jTable1;
private JScrollPane jScrollPane1;
private JTextArea jTextArea1;
private JScrollPane jScrollPane2;
private JButton esegui;
private JButton azzera;
private JPanel contentPane;

public pippo()
{
super();
initializeComponent();
this.setVisible(true);
}

private void initializeComponent()
{
jTable1 = new JTextArea();
jScrollPane1 = new JScrollPane();
jTextArea1 = new JTextArea("inserisci qui la query …");
jScrollPane2 = new JScrollPane();
esegui = new JButton();
azzera = new JButton();
contentPane = (JPanel)this.getContentPane();
jScrollPane1.setViewportView(jTable1);
jScrollPane1.setEnabled(false);
jScrollPane2.setViewportView(jTextArea1);

esegui.setText("esegui");
esegui.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
esegui_actionPerformed(e);
}

});

azzera.setText("azzera");
azzera.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
azzera_actionPerformed(e);
}

});

contentPane.setLayout(null);
addComponent(contentPane, jScrollPane1, 7,9,465,361);
addComponent(contentPane, jScrollPane2, 7,375,376,126);
addComponent(contentPane, esegui, 390,472,83,28);
addComponent(contentPane, azzera, 390,435,83,28);

this.setTitle("leggi dal db");
this.setLocation(new Point(12, 27));
this.setSize(new Dimension(499, 545));
}

private void addComponent(Container container,Component c,int x,int y,int
width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}

private void esegui_actionPerformed(ActionEvent e)
{
String QUERY=jTextArea1.getText();
String DB_URL="jdbc:odbc:;DRIVER=Microsoft Access Driver
(*.mdb);UID=;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS
Access;DriverId=281;DBQ=pippo.mdb";

int i;
int conta=0;

if(QUERY.length()>0){
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection conn=DriverManager.getConnection(DB_URL);
jTable1.setText("Connessione riuscita \n");
Statement stmt=conn.createStatement();
ResultSet rslt = stmt.executeQuery (QUERY);
ResultSetMetaData rsmd=rslt.getMetaData();

i=rsmd.getColumnCount(); //trova il numero di colonne
while(rslt.next())
{

for(int j=1;j<=i;j++)
{
jTable1.append(rslt.getString(j)+"\n");
}
conta++;
}

jTable1.append("\n Record trovati:"+conta);
//stmt.close();
//rslt.close();
//conn.close();
}
catch(Exception ez)
{
ez.printStackTrace();
JOptionPane.showMessageDialog(this,"errore: "+ QUERY,"errore SQL"
,JOptionPane.QUESTION_MESSAGE);
}
} //if query>0
else{
jTextArea1.setText("Devi inserire una query \n");
}

}

private void azzera_actionPerformed(ActionEvent e)
{
jTextArea1.setText("");
jTable1.setText("");

}

public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
}
catch (Exception ex)
{
System.out.println("Failed loading L&F: ");
System.out.println(ex);
}
new pippo();
}
}
 

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blinkbits
  • BlinkList
  • blogmarks
  • co.mments
  • del.icio.us
  • De.lirio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • scuttle
  • Smarking
  • Spurl
  • YahooMyWeb
  • DZone
  • Internetmedia
  • Snap2r
  • Technorati


Correlati


Commenti

Scrivi un commento





Commenti recenti:


Ultimi dal forum

Selezionando contrassegno si aggiungono spese al totale
Ho inserito postepay come pagamento
Inserire metakeywords
Problemi di installazione
Scaricare correttore ortografico italiano
Vari problemi
Installazione su server remoto
Installazione
Problema aggiornamento quantità prodotti carrello
Info
Bug utente + suggerimento formattazione
Problema cancellazione dalla mailing list
Problemi login
Problemi di visualizzazione nella home page
Fireworks appiattisce livelli quando salvo in png