Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508

    [JDBC] problemi con createStatement

    Ho dei problemi con l'istruzione "Statement stmt = conn.createStatement();" presente nel seguente codice, mi ritorna sempre una nullpointerexception e non capisco il perché, ho già usato lo stesso codice in passato su un altro progetto ed ha sempre funzionato, ho anche provato a tirarlo fuori di nuovo per vedere se magari non fosse un problema di mysql o tomacat sul pc visto che li ho reinstallati e potevo aver sbagliato qualcosa, invece il vecchio progetto funziona correttamente.
    Sapreste darmi una mano?
    codice:
    public class AccountDAO {
      public static boolean login(String username, String password)
      {
        try
        {
          ConnectionManager connection = ConnectionManager.getInstance();
          Connection conn = connection.getConnection();
          Statement stmt = conn.createStatement();
          ResultSet rs = null;
          rs = stmt.executeQuery("SELECT username, password FROM account WHERE username='"+username+"' AND password='"+password+"';");
          if(rs.next() == false)
            return false;
          return true;				
        }
        catch (SQLException ex)
        {
          System.out.println("SQLException: " + ex.getMessage()); 
          System.out.println("SQLState: " + ex.getSQLState()); 
          System.out.println("VendorError: " + ex.getErrorCode()); 
        }
        return false;
      }
    }
    Questo è il ConnectionManager, lo uso su un altro progetto, cambia solo il nome del database nell'istruzione
    conn = DriverManager.getConnection("jdbc:mysql://localhost/ricettelastminute?user=root&password=root");
    bookshop al posto di ricettelastminute.

    bookshop funziona senza problemi.
    codice:
    import java.sql.*;
    
    public class ConnectionManager 
    {
    	/**
    	 * La singola istanza del ConnectionManager.
    	 */
    	private static ConnectionManager instance = null;
    	
    	/**
    	 * La connessione al database.
    	 */
    	private static Connection conn = null;
    	
    	/**
    	 * Consente di ottenere l'unica istanza della classe.
    	 *  
    	 * Il metodo è sincronizzato per gestire chiamate concorrenti da più thread.
    	 *  
    	 * @return l'unica istanza del ConnectionManager 
    	 */
    	public static synchronized ConnectionManager getInstance()
    	{
    		if (instance == null)
    			instance = new ConnectionManager();
    		
    		return instance;
    	}
    	
    	/**
    	 * Invocato al momento della distruzione dell'oggetto.
    	 *  
    	 * Rilascia la connessione creata nel momento di creazione dell'istanza dell'oggetto.
    	 */
    	protected void finalize()
    	{
    		try
    		{
    			if (conn != null)
    				conn.close();
    		}
    		catch (SQLException ex)
                   {
                      System.out.println("SQLException: " + ex.getMessage()); 
                      System.out.println("SQLState: " + ex.getSQLState()); 
                      System.out.println("VendorError: " + ex.getErrorCode()); 
                   } 		
    	}
    	
    	/**
    	 * Restituisce la connessione al database.
    	 *  
    	 * @return la connessione al database 
    	 */
    	public Connection getConnection() 
    	{
    		return conn;
    	}
    		
    	/**
    	 * Costruttore della classe.
    	 *  
    	 * Il costruttore è reso privato in accordo al pattern Singleton
    	 */
    	private ConnectionManager() 
    	{
    		try
    		{
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    			conn = DriverManager.getConnection("jdbc:mysql://localhost/ricettelastminute?user=root&password=root");
    		}
                    catch (SQLException ex) 
                    {
                        System.out.println("SQLException: " + ex.getMessage()); 
                        System.out.println("SQLState: " + ex.getSQLState()); 
                        System.out.println("VendorError: " + ex.getErrorCode()); 
                    } 
                    catch (Exception ex)
                    {
            	    System.out.println("Exception: " + ex.getMessage());
                    }
    	}
    }

  2. #2
    ciao,
    potresti postare l'eccezione per favore??

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.