Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    collegamento database in java

    salve a tutti,
    sto realizzando un applicazione in java con eclipse.. ho inserirto la login per entrare nella mia applicazione ma ora come faccio a collegare il database
    questo è il codice

    package interfaccia;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.sql.*;
    import java.net.URL;
    import java.net.MalformedURLException;
    import javax.swing.JApplet.*;

    public class JLoginTest extends JApplet
    {
    JLabel labTitAccesso,labUtente,labPassword;
    JTextField txtUtente;
    JPasswordField txtPassword;
    JButton btnEntra;
    JPanel panCentrale,panTitolo,panUtente,panPassword,panPul santi;

    private Connection connessione;

    public void init()
    {
    setSize(400,400);
    setBackground( Color.black);
    try {
    // Inizia connessione con il database
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    connessione=DriverManager.getConnection("jdbcdbc:utenti");
    }
    catch (ClassNotFoundException cnfex) {
    //processo ClassNotFoundExceptions qui
    System.err.println("Caricamento di driver JDBC/ODBC non riuscito");
    cnfex.printStackTrace();
    System.exit(1);
    }
    catch (SQLException sqlex) {
    //processo SQLExceptions qui
    System.err.println("Non è possibile completare la connessione");
    sqlex.printStackTrace();
    }

    panCentrale=new JPanel();
    panTitolo=new JPanel();
    panUtente=new JPanel();
    panPassword=new JPanel();
    panPulsanti=new JPanel();

    // imposto i layout dei pannelli
    setLayout(new BorderLayout());
    panCentrale.setLayout(new BoxLayout(panCentrale, BoxLayout.Y_AXIS));
    panUtente = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 10));
    panPassword = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 10));
    panPulsanti = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 10));

    // definizioni delle etichette
    labTitAccesso=new JLabel("Accesso Utenti",SwingConstants.CENTER);
    labUtente=new JLabel("Utente",SwingConstants.CENTER);
    labPassword=new JLabel("Password",SwingConstants.CENTER);

    // definizioni dei campi di testo
    txtUtente=new JTextField(10);
    // questo campo accetterà solo numeri e il pulsante
    txtUtente.addKeyListener(new KeyAdapter()
    {
    public void keyTyped(KeyEvent e)
    {
    char caracter = e.getKeyChar();
    if(((caracter <'0') ||(caracter> '9')) &&(caracter != KeyEvent.VK_BACK_SPACE))
    {
    e.consume();
    }
    }
    });
    txtPassword=new JPasswordField(10);

    // definizione del pulsante
    btnEntra=new JButton("Entra");
    // collego questo pulsante al metodo Login
    btnEntra.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    Login(e);
    }
    });

    // inserimento degli elementi Swing ai pannelli
    panTitolo.add(labTitAccesso);
    panUtente.add(labUtente);
    panUtente.add(txtUtente);
    panPassword.add(labPassword);
    panPassword.add(txtPassword);
    panPulsanti.add(btnEntra);

    //inserimento dei pannelli al pannello centrale
    panCentrale.add(panTitolo);
    panCentrale.add(panUtente);
    panCentrale.add(panPassword);
    panCentrale.add(panPulsanti);

    add(panCentrale,BorderLayout.CENTER);

    }

    // metodo collegato al pulsante btnEntra
    public void Login(ActionEvent e)
    {

    try {
    if(!txtUtente.getText().equals("") && !txtPassword.getText().equals(""))
    {
    Statement statement =connessione.createStatement();
    // query che usa i dati dei campi Codice e Password della tabella Utenti
    String query="SELECT Codice,Password FROM Utenti WHERE Codice="+ txtUtente.getText()+
    " AND Password='"+txtPassword.getText()+"'";
    // stampa della stringa della query
    System.out.println("\nInviando query: "+connessione.nativeSQL(query)+"\n");

    ResultSet resultset=statement.executeQuery(query);
    display(resultset);
    statement.close();
    }
    else if(txtUtente.getText().equals("") && !txtPassword.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null, "Inserisca Nome Utente","Login", JOptionPane.ERROR_MESSAGE);
    }
    else if(!txtUtente.getText().equals("") && txtPassword.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null, "Inserisca Password","Login", JOptionPane.ERROR_MESSAGE);
    }
    else
    { JOptionPane.showMessageDialog(null, "Inserisca Nome Utente e Password","Login", JOptionPane.ERROR_MESSAGE);}
    }
    // cattura eventuali errori ed eccezioni nella richiesta de la query
    catch(SQLException sqlex) {
    sqlex.printStackTrace();
    }
    }

    public void display(ResultSet resultset)
    {
    String urlString="Programma.html";
    URL url = null;

    try
    {
    if(resultset.next())
    {
    // Carica il file Programma.html nella stessa pagina dell'applet
    url = new URL(getDocumentBase(),urlString);
    getAppletContext().showDocument(url);
    JOptionPane.showMessageDialog(null, "Utente loggato" ,"Login", JOptionPane.INFORMATION_MESSAGE);
    }
    else
    {JOptionPane.showMessageDialog(null, "Riprovare","Login", JOptionPane.ERROR_MESSAGE);
    return; }
    }
    catch (MalformedURLException e) {
    System.err.println("Malformed URL: " + urlString);
    }
    catch (SQLException sqlex)
    {
    sqlex.printStackTrace();
    }
    }
    }

    grazie
    tety

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Quando posti del codice, utilizza i tag [code] e [/code], cercando anche di utilizzare l'indentazione... il codice scritto in quel modo è praticamente illeggibile.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.