Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 14-07-2008, 20.11.47   #1
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
[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());
                }
	}
}
Alhazred non è collegato   Rispondi citando
Vecchio 15-07-2008, 10.00.39   #2
shadowDK
Senior Member
 
Registrato: 21-03-2008
Loc.: From Lugano (CH)...finally!
Messaggi: 330
shadowDK promette bene
In questa riga, dove crei la connessione:
Codice:
conn = DriverManager.getConnection("jdbc:mysql://localhost/ricettelastminute?user=root&password=root");
non bisogna inserire anche la porta su cui "gira" il database? di solito è 3306, ma potendo anche essere un'altra non è obbligatorio specificarla? intendo, loclhost:3306...
shadowDK non è collegato   Rispondi citando
Vecchio 15-07-2008, 10.58.24   #3
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Grazie per la risposta.
No, il problema non era la porta non specificata, ma il fatto che mysql-connector...ecc. non era stato importato in web-inf\lib, quindi DriverManager non riusciva a stabilire una connessione con il db e ritornava null al ConnectionManager.
Alhazred non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Problemi gravissimi col PC n3XuS Hardware e Overclock 22 01-10-2005 21.08.16
problemi con floppy - penna usb - lettore cd Alberto.m Windows 7/Vista/XP/ 2003 2 07-02-2005 14.41.54
problemi con floppy penne usb e lettore cd Alberto.m Windows 9x/Me/NT4/2000 2 06-02-2005 20.46.53
Problemi download bovirus Discussioni su WinTricks 1 09-03-2004 11.52.50
PROBLEMI UTILIZZO FDISK SU WIN XP m@uri Windows 7/Vista/XP/ 2003 4 08-03-2004 23.26.23

Orario GMT +2. Ora sono le: 11.57.57.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.