Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JAVA] una String che dà errore

    Ciao Ragazzi,
    non riesco a capire perchè non mi accetta la riga di codice in grassetto la string è una query che poi passa la metodo eseguiSQL che la dovrebbe svolgere ma si blocca prima, neanche il System.out di prova esce, dandomi l'errore:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

    codice:
    if (jb == insert) {
    int risp = confirmRequest();
        if (risp == JOptionPane.YES_OPTION) {
        String query = "INSERT INTO Macchine VALUES " + "('"+ jtSN.getText()+ "','"+ jtBrand.getText()+"','" + jtModel.getText() +"','" + jtDescript.getText() + "')";  
         System.out.println(query);
         db.eseguiSQL(query);
    				}
    			}

    cambiandola in questo modo
    codice:
    String query = "INSERT INTO Macchine VALUES " + "('"+ jtSN.getText()+  "','0'," + "'0'," +"'0')";
    o in quest'altro
    codice:
    "SELECT * FROM Macchine WHERE SN='" + jtSN.getText() + "'";
    funziona!

    C'è qualche carattere che incasina il tutto?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    NullPointerException è sollevata quando stai usando un puntatore nullo. Verifica che quelle variabili abbiano effettivamente un valore, e non siano null (prima di chiamare i metodi, ovviamente).

  3. #3
    ho trovato l'errore
    la variabile jtDescript per sbaglio l'avevo dichiarata sia nel metodo che crea il frame sia come variabile di classe. E' bastato togliere la dichiarazione nel metodo.
    grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    come giustamente ti ha detto PatrickJane, controlla che quello che fai nella riga sia valido.
    Quando parliamo di stringhe da mettere in query, inizialmente non farla tutta insieme.

    Codice PHP:
    String query "INSERT INTO Macchine VALUES " "('"jtSN.getText()+ "','"jtBrand.getText()+"','" jtModel.getText() +"','" jtDescript.getText() + "')"
    ma dividila

    Codice PHP:
    String query "INSERT INTO Macchine VALUES ('"jtSN.getText(); 
    query += "','"jtBrand.getText(); 
    query += "','" jtModel.getText() ;
    query +="','" jtDescript.getText() 
    query +=+ "')"
    a livello di memoria e spreco non cambi nulla, ma almeno hai una prima idea di chi sia null.
    Un controllo maggiore sarebbe

    Codice PHP:
    String query "INSERT INTO Macchine VALUES ('"jtSN.getText(); 
    if (
    jtBrand != nullquery += "','"jtBrand.getText(); 
    if (
    jtModel != nullquery += "','" jtModel.getText() ;
    if (
    jtDescript != nullquery +="','" jtDescript.getText() 
    query +=+ "')"
    a livello di memoria e spreco no
    RTFM Read That F*** Manual!!!

  5. #5

    grazie

    ottime idee!

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.