Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Cultura Informatica
 Corso di java
 Presentazione

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
genius Inserito il - 01/06/2007 : 17:03:28
Questa sezione è sperimentale. Proverò a mettere a disposizione di chi lo chiedesse, la mia conoscenza (e di chiunque volesse) di java. Ovviamente lo spirito dell'iniziativa è del tutto collaborativo. Non esiste nessun ruolo Professore-alunno e la risposta non è preclusa a nessuno.

L'idee di base di questa iniziativa sono:
- Aiutare tutti quelli ke hanno bisogno di una mano su java
- Creare, a partire dalle domande e dalle risposte ke verranno poste qui, un insieme di "lezioni" o tutorial per facilitare lo studio di questo linguaggio.

Al fine di mantenere questa sezione ordinata il + possibile, spesso risistemerò i topic in modo da avere un primo post organico in cui è disponibile la lezione ke via via si completerà.

E' inutile sottolineare che, data la natura di questa sezione, non sarà possibile divagare o andare offtopic. Provvederò in prima persona a cancellare tutti i messaggi che riterrò fuorvianti o ot. Non è questione di censura, ma di buon senso. Un corso di java in cui si parla di cucina non è utile a nessuno, vi pare?

Grazie a tutti quelli che aiuteranno me e gli altri in questa iniziativa e spero che possa essere utile a molti.

Lo staff di laureateci.



"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."
20   U L T I M E    R I S P O S T E    (in alto le più recenti)
feeb Inserito il - 03/06/2007 : 00:16:30
Citazione:
Messaggio inserito da silent


package gccb.database;

import gccb.*;
import java.sql.*;

public class DbAccess
{
	static String SERVER = "localhost";
	static String DATABASE = "gccb";
	static String USER_ID = "";
	static String PASSWORD = "";
	static Connection conn;
	
	
	public DbAccess(String s, String d, String u, String p, Connection c)
	{
		SERVER = s;
		DATABASE = d;
		USER_ID = u;
		PASSWORD = p;
		conn = c;
	}
	
	public static boolean InitializeConnection() throws SQLException
	{
		int ok = 0;
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("Inserire Password: ");
			String PASSWORD = Keyboard.readWord();
			
			if (PASSWORD == "gccb")
				
			{				
				System.out.println("Inserire User ID:");
				String USER_ID = Keyboard.readWord();
				conn = DriverManager.getConnection("jdbc:mysql://localhost/gccb?user=gccb&password=gccb");
				ok = 1;

			}		
		}
		catch (SQLException exc)
		{
			exc.printStackTrace() ;	
		}
		catch (Exception exc)
		{
			exc.printStackTrace();
		}
		
		if(ok == 1)
			return true;
			else 
				return false;
	}
	
	public static Connection getConnection()
	{
		return conn;
	}
	
	public static void closeConnection() throws SQLException
	{
		conn.close();
	}
	
}



ora l'ho strutturata così la classe, solo che ora qualsiasi cosa metto in password non solleva eccezioni



e perchè dovrebbe sollevare eccezioni ?
ecco cosa fai:


chiedi username e password;
se la password è quella che vuoi tu {
  collegati al database con username gccb e password gccb;
}


l'unica porzione di codice dove potrebbe venir sollevata una eccezione è nella parte che si collega al database; per sollevare una eccezione, si usa una roba tipo questa:


throw new MyException();


dove MyException può essere una qualsiasi delle sottoclassi di Exception



"L’umanità è un enzima che catalizza il passaggio da un’intelligenza a base carbonio a un’intelligenza a base silicio." - Gérard Bricogne
silent Inserito il - 02/06/2007 : 21:22:48
ho sostituito come mi hai detto solo che se scrivo una cosa diversa da "gccb" continua cmq a girare il programma

Rivoluzione? Rivoluzione? Per favore, non parlarmi tu di rivoluzione! Io so benissimo cosa sono e come cominciano: c'e qualcuno che sa leggere i libri che va da quelli che non sanno leggere i libri, che poi sono i poveracci, e gli dice: << Oh, oh, e' venuto il momento di cambiare tutto >> [...] Io so quello che dico, ci son cresciuto in mezzo, alle rivoluzioni. Quelli che leggono i libri vanno da quelli che non leggono i libri, i poveracci, e gli dicono: << Qui ci vuole un cambiamento! >> e la povera gente fa il cambiamento. E poi i piu' furbi di quelli che leggono i libri si siedono intorno a un tavolo, e parlano, parlano, e mangiano. Parlano e mangiano! E intanto che fine ha fatto la povera gente? Tutti morti! Ecco la tua rivoluzione! Quindi per favore, non parlarmi piu' di rivoluzione...E porca troia, lo sai che succede dopo? Niente...tutto torna come prima". Juan Miranda - Giù la testa -
genius Inserito il - 02/06/2007 : 21:13:30
perkè se usi == con le stringhe, stai confrontando le referenze agli oggetti... per vedere se 2 stringhe sono uguali si usa equalsTo oppure equalsIgnoreCase

PASSWORD.equals("gccb")



"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."
silent Inserito il - 02/06/2007 : 19:57:50

package gccb.database;

import gccb.*;
import java.sql.*;

public class DbAccess
{
	static String SERVER = "localhost";
	static String DATABASE = "gccb";
	static String USER_ID = "";
	static String PASSWORD = "";
	static Connection conn;
	
	
	public DbAccess(String s, String d, String u, String p, Connection c)
	{
		SERVER = s;
		DATABASE = d;
		USER_ID = u;
		PASSWORD = p;
		conn = c;
	}
	
	public static boolean InitializeConnection() throws SQLException
	{
		int ok = 0;
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("Inserire Password: ");
			String PASSWORD = Keyboard.readWord();
			
			if (PASSWORD == "gccb")
				
			{				
				System.out.println("Inserire User ID:");
				String USER_ID = Keyboard.readWord();
				conn = DriverManager.getConnection("jdbc:mysql://localhost/gccb?user=gccb&password=gccb");
				ok = 1;

			}		
		}
		catch (SQLException exc)
		{
			exc.printStackTrace() ;	
		}
		catch (Exception exc)
		{
			exc.printStackTrace();
		}
		
		if(ok == 1)
			return true;
			else 
				return false;
	}
	
	public static Connection getConnection()
	{
		return conn;
	}
	
	public static void closeConnection() throws SQLException
	{
		conn.close();
	}
	
}



ora l'ho strutturata così la classe, solo che ora qualsiasi cosa metto in password non solleva eccezioni

Rivoluzione? Rivoluzione? Per favore, non parlarmi tu di rivoluzione! Io so benissimo cosa sono e come cominciano: c'e qualcuno che sa leggere i libri che va da quelli che non sanno leggere i libri, che poi sono i poveracci, e gli dice: << Oh, oh, e' venuto il momento di cambiare tutto >> [...] Io so quello che dico, ci son cresciuto in mezzo, alle rivoluzioni. Quelli che leggono i libri vanno da quelli che non leggono i libri, i poveracci, e gli dicono: << Qui ci vuole un cambiamento! >> e la povera gente fa il cambiamento. E poi i piu' furbi di quelli che leggono i libri si siedono intorno a un tavolo, e parlano, parlano, e mangiano. Parlano e mangiano! E intanto che fine ha fatto la povera gente? Tutti morti! Ecco la tua rivoluzione! Quindi per favore, non parlarmi piu' di rivoluzione...E porca troia, lo sai che succede dopo? Niente...tutto torna come prima". Juan Miranda - Giù la testa -
silent Inserito il - 02/06/2007 : 19:38:27
grazie genius

Rivoluzione? Rivoluzione? Per favore, non parlarmi tu di rivoluzione! Io so benissimo cosa sono e come cominciano: c'e qualcuno che sa leggere i libri che va da quelli che non sanno leggere i libri, che poi sono i poveracci, e gli dice: << Oh, oh, e' venuto il momento di cambiare tutto >> [...] Io so quello che dico, ci son cresciuto in mezzo, alle rivoluzioni. Quelli che leggono i libri vanno da quelli che non leggono i libri, i poveracci, e gli dicono: << Qui ci vuole un cambiamento! >> e la povera gente fa il cambiamento. E poi i piu' furbi di quelli che leggono i libri si siedono intorno a un tavolo, e parlano, parlano, e mangiano. Parlano e mangiano! E intanto che fine ha fatto la povera gente? Tutti morti! Ecco la tua rivoluzione! Quindi per favore, non parlarmi piu' di rivoluzione...E porca troia, lo sai che succede dopo? Niente...tutto torna come prima". Juan Miranda - Giù la testa -
genius Inserito il - 02/06/2007 : 19:33:36
Citazione:
Messaggio inserito da silent

e come dovrei fare genius.
allora se non trova i driver faccio questo:

try
		{
			Class.forName("com.mysql.jdbc.Driver");
                        
		}catch (Exception exc)
		{
			exc.printStackTrace();
		        conn.close
                }



e poi per la stringa di connessione

"jdbc:mysql://localhost/test?user=&password=gccb"




il resto del codice del metodo, mettilo nel try subito sotto Class.etcetc e raggruppa tutti i catch alla fine del codice. Così è + pulito e soprattutto il codice viene eseguito solo se nn ci sono eccezioni di sorta. Inoltre la stringa di connessione è quella se il tuo db si kiama "test" altrimenti non è quella... devi mettere al posto di test il nome del db ke devi usare...



"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."
silent Inserito il - 02/06/2007 : 18:59:51
e come dovrei fare genius.
allora se non trova i driver faccio questo:

try
		{
			Class.forName("com.mysql.jdbc.Driver");
                        
		}catch (Exception exc)
		{
			exc.printStackTrace();
		        conn.close
                }



e poi per la stringa di connessione

"jdbc:mysql://localhost/test?user=&password=gccb"

Rivoluzione? Rivoluzione? Per favore, non parlarmi tu di rivoluzione! Io so benissimo cosa sono e come cominciano: c'e qualcuno che sa leggere i libri che va da quelli che non sanno leggere i libri, che poi sono i poveracci, e gli dice: << Oh, oh, e' venuto il momento di cambiare tutto >> [...] Io so quello che dico, ci son cresciuto in mezzo, alle rivoluzioni. Quelli che leggono i libri vanno da quelli che non leggono i libri, i poveracci, e gli dicono: << Qui ci vuole un cambiamento! >> e la povera gente fa il cambiamento. E poi i piu' furbi di quelli che leggono i libri si siedono intorno a un tavolo, e parlano, parlano, e mangiano. Parlano e mangiano! E intanto che fine ha fatto la povera gente? Tutti morti! Ecco la tua rivoluzione! Quindi per favore, non parlarmi piu' di rivoluzione...E porca troia, lo sai che succede dopo? Niente...tutto torna come prima". Juan Miranda - Giù la testa -
genius Inserito il - 02/06/2007 : 18:47:30
innanzitutto il codice non è strutturato benissimo... se non riesce a trovare il driver jdbc, per esempio, non dovrebbe continuare ad aprire la connessione, perkè ti solleva eccezioni.

inoltre per connettersi al db devi inserire la url di connessione non solo il nome del db, cioè la stringa deve essere una cosa del tipo:

"jdbc:mysql://localhost/nomeDB"



"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."
silent Inserito il - 02/06/2007 : 18:35:12
allora ho provato a fare la classe così:



package gccb.database;

import gccb.*;
import java.sql.*;

public class DbAccess
{
	static String SERVER = "localhost";
	static String DATABASE = "gccb";
	static String USER_ID = "";
	static String PASSWORD = "";
	static Connection conn;
	
	
	public DbAccess(String s, String d, String u, String p, Connection c)
	{
		SERVER = s;
		DATABASE = d;
		USER_ID = u;
		PASSWORD = p;
		conn = c;
	}
	
	public static boolean InitializeConnection() throws SQLException
	{
		int ok = 0;
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
		}
		catch (Exception exc)
		{
			exc.printStackTrace();
		}
		try
		{	
			System.out.println("Inserire Password: ");
			String PASSWORD = Keyboard.readWord();
			if (PASSWORD == "gccb")	
			{				
				System.out.println("Inserire User ID:");
				String USER_ID = Keyboard.readWord();			
			
				System.out.println("DataBase: " + DATABASE);
				conn = DriverManager.getConnection(DATABASE, USER_ID, PASSWORD);
				ok = 1;
			}
			else throw new SQLException();
			
		}
		catch (SQLException exc)
		{
			exc.printStackTrace();	
		}
		if(ok == 1)
			return true;
			else 
				return false;
	}
	
	public static Connection getConnection()
	{
		return conn;
	}
	
	public static void closeConnection() throws SQLException
	{
		conn.close();
	}
	
}


quando mando in esecuzione il programma ed inserisco la password, o scrivo "gccb" o qualsiasi altra cosa, mi compare questa scritta
java.sql.SQLException
at gccb.database.DbAccess.InitializeConnection(DbAccess.java:48)
at gccb.GestoreContoCorrente.main(GestoreContoCorrente.java:190)
però cmq il programma continua tranquillamente a girare

Rivoluzione? Rivoluzione? Per favore, non parlarmi tu di rivoluzione! Io so benissimo cosa sono e come cominciano: c'e qualcuno che sa leggere i libri che va da quelli che non sanno leggere i libri, che poi sono i poveracci, e gli dice: << Oh, oh, e' venuto il momento di cambiare tutto >> [...] Io so quello che dico, ci son cresciuto in mezzo, alle rivoluzioni. Quelli che leggono i libri vanno da quelli che non leggono i libri, i poveracci, e gli dicono: << Qui ci vuole un cambiamento! >> e la povera gente fa il cambiamento. E poi i piu' furbi di quelli che leggono i libri si siedono intorno a un tavolo, e parlano, parlano, e mangiano. Parlano e mangiano! E intanto che fine ha fatto la povera gente? Tutti morti! Ecco la tua rivoluzione! Quindi per favore, non parlarmi piu' di rivoluzione...E porca troia, lo sai che succede dopo? Niente...tutto torna come prima". Juan Miranda - Giù la testa -
feeb Inserito il - 02/06/2007 : 18:07:07
Citazione:
Messaggio inserito da ekkekkazz


secondo me è questa riga:

conn = DriverManager.getConnection(DATABASE, USER_ID, PASSWORD);

DATABASE cos'è? che valore ha?



anche perchè quella riga è l'unica che può sollevare un'eccezione di tipo SQLException (e il motivo può non essere necessariamente solo "password non valida")

"L’umanità è un enzima che catalizza il passaggio da un’intelligenza a base carbonio a un’intelligenza a base silicio." - Gérard Bricogne
ekkekkazz Inserito il - 02/06/2007 : 18:05:15
Citazione:
Messaggio inserito da feeb

Citazione:
Messaggio inserito da silent

allora, io ho questo metodo:


public static boolean InitializeConnection() throws SQLException
{
int ok = 0;
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception exc)
{
exc.printStackTrace();
}
try
{
System.out.println("Inserire Password: ");
String PASSWORD = Keyboard.readWord();
if (PASSWORD == "gccb")
{
System.out.println("Inserire User ID:");
String USER_ID = Keyboard.readWord();

System.out.println("DataBase: " + DATABASE);
conn = DriverManager.getConnection(DATABASE, USER_ID, PASSWORD);
ok = 1;
}
}
catch (SQLException exc)
{
System.out.println("Errore");

}
if(ok == 1)
return true;
else
return false;
}

solo che quando avvio il programma e scrivo la password "gccb" mi compare sempre la scritta "Errore"



System.out.println("Errore");

non è esplicativo come messaggio; prova a metterci:

exc.printStackTrace();

per capire a cosa è dovuto (probabilmente non riesce a connettersi al database o qualcosa di simile)



secondo me è questa riga:

conn = DriverManager.getConnection(DATABASE, USER_ID, PASSWORD);

DATABASE cos'è? che valore ha?

"There are very few personal problems that cannot be solved through a suitable application of high explosive."
feeb Inserito il - 02/06/2007 : 17:43:45
Citazione:
Messaggio inserito da silent

ehi genius mi spieghi il costrutto try{...}catch. in try devo mettere quello che io voglio che faccio il mio programma oppure no ??

ah dimenticavo... grazie genius



http://www.java-net.it/jmonline/cap7/trycatch.htm

il costrutto try .. catch serve per gestire le "eccezioni" sollevate da una funzione se, ad esempio, non vengono passati dei parametri corretti

ad esempio, supponiamo di avere una classe Matrice con all'interno struttura dati e metodi utili a manipolare una matrice di interi di dimensioni 5x5

un esempio di utilizzo della try..catch potrebbe essere:

Matrice m;
int valore;
try {
valore = m.get(10, 15);
} catch (CoordinateNonValideException e) {
System.out.println(e.toString());
}

dove:
get(x, y) legge il valore contenuto nella matrice nella riga x, colonna y
CoordinateNonValideException è una eccezione sollevata dal metodo get(x, y) nel caso le coordinate vadano "fuori" della matrice

"L’umanità è un enzima che catalizza il passaggio da un’intelligenza a base carbonio a un’intelligenza a base silicio." - Gérard Bricogne
grazieliverpool Inserito il - 02/06/2007 : 16:43:15
mitiko genius!! tra un po' mi serviranno come il pane queste lezioni di java!!

NO a parentopoli!!
Aiace Inserito il - 02/06/2007 : 16:28:43
Grazie anche da parte mia :)

AlartZero Inserito il - 02/06/2007 : 13:20:55
Citazione:
Messaggio inserito da ErrNo

mi spieghi come posso integrare la AOP (AspectJ per intenderci) negli EJB?


fai una discussione a parte per la richiesta di aiuto

alla fine lu pero hai scelto la via che ti avevo detto io ... aprire una nuova sezione

Iscriviti anche tu al clan italiano di Star Wars Jedi Knight: Jedi Academy
http://knr.50webs.com

Diventa anche tu un jedi
:velia: Inserito il - 02/06/2007 : 12:34:08
ottimo direi

"e dica pure ai suoi che vengano a cercarmi,che possano spararmi io armi non ne ho"
rel Inserito il - 02/06/2007 : 12:01:05
Ottima idea! sei davvero un genius!
ErrNo Inserito il - 02/06/2007 : 11:52:09
mi spieghi come posso integrare la AOP (AspectJ per intenderci) negli EJB?
GiganteBaba Inserito il - 02/06/2007 : 09:28:12
Ma dai corso di java...


Citazione:
il dramma arriva.... uno scorreggio che sembra la voce del diavolo si fa prepotente e il fiume della sciolta esce allo scoperto è il momento più brutto della mia vita in quel momento....... nelle mutande ho 1 kiletto di sciolta liquida mi alzo dalla sedia e x fortuna non è sporca ma scappo senza farmi vedere da lei che sta per tornare dai dolci presi......

Membro n°1 del Tatiana C. FanClub
feeb Inserito il - 01/06/2007 : 23:41:51
bravo luca, bell'idea (detto da uno che odia Java e che, appena può, usa il C++ )

"L’umanità è un enzima che catalizza il passaggio da un’intelligenza a base carbonio a un’intelligenza a base silicio." - Gérard Bricogne

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,12 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000