Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655

    Ridirezionare l'output del database

    ciao a tutti in pratica ho creato un pannello predisposto per la connessione al Database.Ora però vorrei che se la connessione non andasse a buon fine,ad esempio se la password inserita fosse errata il programma me lo segnalasse su una finestra di Dialog.

    in pratica vorrei ridirezionare i messaggi del Database su una finestra di Alert del mio programma.

    Ad esempio il messaggio :

    "Access denied for user ''@'localhost' (using password: NO)"

    vorrei che mi apparisse su una alert e non sulla consol di eclipse come succede adesso.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Immagino tu abbia un blocco try-catch nella parte (o nelle parti se ne hai piu' di una) che si occupano della comunicazione con il database e che in questi blocchi avrai il classico ex.printStackTrace() che ti stampa il messaggio d'errore e la pila delle eccezioni sull'output standard per gli errori (nel tuo caso la console di eclipse).
    Al posto di quest'istruzione nel catch visualizzi una JDialog informativa con il messaggio di errore.
    Se non hai esigenze particolari, una semplice JDialog di questo tipo puoi costruirla con i metodi della classe JOptionPane, in particolare il metodo showMessageDialog() . Il messaggio d'errore lo recuperi facendo ex.getMessage(), dove ex e' l'eccezione sollevata.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655
    ok graziemille!

    anche se era meglio che non riuscivo ad intercettare l'eccezione,inquanto adesso me ne segnala una a cui non sò dare una spiegazione.
    Questo il codice:
    codice:
    	public static boolean InizializeConnection(String SERVER,String DATABASE,String USER_ID,String PASSWORD) throws ClassNotFoundException,SQLException{
    			String driver="com.mysql.jdbc.Driver";
    			Class.forName(driver);
    			 //Otteniamo una connessione con username e password, e la apriamo
    			conn = DriverManager.getConnection ("jdbc:mysql://"+SERVER, USER_ID, PASSWORD);
    			Statement s;
    			s=conn.createStatement();
    			String queryInsert;
    			queryInsert="CREATE DATABASE "+DATABASE+";USE "+DATABASE+";CREATE TABLE IF NOT EXISTS TRANSAZIONI(NUMCONTO INTEGER,TIPOOP INTEGER,  DATA DATE NOT NULL,AMMONTAREOP NUMERIC(25,3),ID_TRANSAZIONE INT AUTO_INCREMENT,PRIMARY KEY (ID_TRANSAZIONE));";
    			s.execute(queryInsert);
    			return true;
    	}
    ogni volta che tento di creare questa connessione mi viene segnalata questa eccezione:
    codice:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';USE NOMEDB;CREATE TABLE IF NOT EXISTS TRANSAZIONI(NUMCONTO INTEGER,TIPOOP INTEG' at line 1
    a cosa può essere dovuta?
    ho controllato più volte la sintassi e non credo ci sia qualche errore?

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.