Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-09-2005, 19:46   #1
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
[Java] Recuperare dati da un DB

Salve ragazzi, sto provando a collegarmi con java ad un db fatto con Postgresql, usando jdbc, ho scaricato i driver e ho messo il loro percorso nel file path, ma non capisco cosa c'è di sbagliato nel mio metodo che preleva i dati dal db, visto che l'eccezione mi segnala un java.lang.NullPointerException, comunque questo è il metodo. Grazie a chi vorrà aiutarmi
Codice:
class db
{
	public void Interroga()
	{
		String c,n,m;

		try
		{
      			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      			Connection con = DriverManager.getConnection("jdbc:odbc:vivaio");
      			Statement stat = con.createStatement();
      			ResultSet res = stat.executeQuery("SELECT * FROM piante");

			while (res.next())
			{
				c=res.getString("id_pianta");
        			n=res.getString("nome");
        			m=res.getString("tipo");
				System.out.println(c+n+m);
			}

			res.close();
      			stat.close();
      			con.close();
		}
		catch(Exception e)
		{
			System.out.println("Problema: " + e.toString());
		}

	}
}
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2005, 20:57   #2
BlueDragon
Senior Member
 
L'Avatar di BlueDragon
 
Iscritto dal: Dec 2002
Messaggi: 418
Ti conviene aggiungere e.printStackTrace(); al blocco del catch, così scopri qual'è la riga che genera l'eccezione

Apparentemente il codice mi sembra tutto apposto..
BlueDragon è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2005, 21:04   #3
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
Secondo il printStackTrace, il problema è qui
Connection con = DriverManager.getConnection("jdbc:odbc:vivaio");
Forse ci sono problemi con la stringa di connessione al db, ho forse bisogna settare postgresql per usare i JDBC
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2005, 21:26   #4
BlueDragon
Senior Member
 
L'Avatar di BlueDragon
 
Iscritto dal: Dec 2002
Messaggi: 418
Quote:
Originariamente inviato da GiulioCesare
Secondo il printStackTrace, il problema è qui
Connection con = DriverManager.getConnection("jdbc:odbc:vivaio");
Forse ci sono problemi con la stringa di connessione al db, ho forse bisogna settare postgresql per usare i JDBC
Uhm....ma hai settato il DNS di sistema con nome vivaio per puntare al database?
BlueDragon è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2005, 22:50   #5
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
Cosa intendi per settare il DNS di sistema?
Comunque ora mi segnala questo errore La proprietà ``user'' è mancante. E` obbligatoria.
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2005, 00:46   #6
BlueDragon
Senior Member
 
L'Avatar di BlueDragon
 
Iscritto dal: Dec 2002
Messaggi: 418
Quote:
Originariamente inviato da GiulioCesare
Cosa intendi per settare il DNS di sistema?
Comunque ora mi segnala questo errore La proprietà ``user'' è mancante. E` obbligatoria.
Praticamente è quell'operazione con cui registri il tuo database come sorgente dati ODBC, in modo che quando invochi DriverManager.getConnection("jdbc:odbc:vivaio"); il programma sappia *chi* è vivaio

Comunque se ora ti chiede l'user, allora direi che stai già parlando con il database...quindi non è una questione di trovare o meno vivaio

Sul sito di PostgreSQL ho cercato la parola "java" ed ho trovato un link con questo codice:

Codice:
Class.forName("org.postgresql.Driver");         
conn = DriverManager.getConnection("jdbc:postgresql:test", "testuser", "");
http://www.postgresql.org/files/docu...l/node154.html

Sembra che in getConnection tu debba specificare l'user che ti viene segnalato mancante..
BlueDragon è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2005, 12:10   #7
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
Ho fatto quello che diceva il sito, ma mi segnala l'eccezione Connessione rifiutata. Controllare che il nome dell'host e la porta siano corretti, e che il server (postmaster) è in esecuzione con l'opzione -i, che abilita le connessioni attraverso la rete TCP/IP.

Eppure ho settato il file di postmaster con -i e messo nel file postgresql.conf tcpip_socket = true
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2005, 12:18   #8
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
OT

Ma i nomi delle classi non dovrebbero cominciare con una maiuscola e i nomi dei metodi con una minuscola?

FINE OT
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2005, 18:52   #9
DioBrando
Senior Member
 
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
Quote:
Originariamente inviato da lovaz
OT

Ma i nomi delle classi non dovrebbero cominciare con una maiuscola e i nomi dei metodi con una minuscola?

FINE OT
Per quanto riguarda le classi la risposta è no...è una convenzione quella di scrivere in maiuscolo la lettera iniziale di una classe ( e se il nome è composto, ciascuna parola deve iniziare con la maiuscola, es. NomeClasse) per una questione di leggibilità, ma puoi benissimo scrivere in minuscolo.

Alla fine l'importante è scrivere il nome della classe identico al nome del file, altrimenti...
DioBrando è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2005, 19:10   #10
BlueDragon
Senior Member
 
L'Avatar di BlueDragon
 
Iscritto dal: Dec 2002
Messaggi: 418
Quote:
Originariamente inviato da GiulioCesare
Ho fatto quello che diceva il sito, ma mi segnala l'eccezione Connessione rifiutata. Controllare che il nome dell'host e la porta siano corretti, e che il server (postmaster) è in esecuzione con l'opzione -i, che abilita le connessioni attraverso la rete TCP/IP.

Eppure ho settato il file di postmaster con -i e messo nel file postgresql.conf tcpip_socket = true
Purtroppo su problemi specifici di PostgreSql non saprei come aiutarti visto che non lo conosco...ed al momento sono anche un po' a corto di tempo per impararlo Prova a cercare su Google con l'errore come parola chiave, magari nel frattempo si fa vivo qualche esperto di Postgresql in questo thread..


Quote:
Originariamente inviato da lovaz
OT

Ma i nomi delle classi non dovrebbero cominciare con una maiuscola e i nomi dei metodi con una minuscola?

FINE OT
Si, e non mi sembra che abbiamo violato la regola in questi post...


EDIT: Non avevo fatto caso che DioBrando aveva già risposto sulla convenzione dei nomi....cmq come già detto è una convenzione non un obbligo

Ultima modifica di BlueDragon : 04-09-2005 alle 19:12.
BlueDragon è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2005, 10:59   #11
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
lo so anche io che è una convenzione, ma non capisco che senso ha invertirla, chiamando una classe db e un metodo Interroga()
(Mi riferisco al primo post)
lovaz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Schermo privacy anche per Xiaomi 18 Pro:...
Morto in un incidente aereo Claude Guill...
Apple Watch Series 11 GPS + Cellular a 5...
Il settore videoludico non sente la cris...
Kobo Clara Colour in offerta a 138,51€: ...
Qualcomm potrebbe lanciare 6 versioni de...
Google, per contrastare la crisi delle m...
NASA e Relativity Space uniscono le forz...
watchOS 27 non arriverà su modell...
Apple, definiti i piani per i chip futur...
Ancora tagli nel futuro di XBOX: il caso...
Samsung Galaxy S27, il compatto potrebbe...
Sempre più IA nei videogiochi: con PUBG ...
La NASA avrebbe fermato i lavori sul mod...
Mancano pochi giorni al lancio della mis...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v