Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515

    Database...problemi integer

    ciao a tutti!!!

    al mio database ho aggiunto un controllo numerico (int) tramite JComboBox...ma ho un problema quando memorizzo nel database più di 2 numeri....mi spiego meglio...

    se dovessi selezionare il numero 170 il database mi memorizza il numero 17...come mai???

    dove sbaglio???

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    vediamo struttura database (meglio, della tabella) e query. Così come l'hai scritta tu stiamo discutendo del sesso degli angeli (oppure ci serve una cartomante)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    hai ragione...

    allora la tabella è strutturata in questo modo:

    id int
    nome varchar
    cognome varchar
    eta int

    in java per inserire i dati nella tabella scrivo:


    codice:
    String s1 = nome.getText(); 
    String s2 = cognome.getText();
    int s3 =  comboEta.getSelectedItem();
    					
    if (s1.equals("")){
    JOptionPane.showMessageDialog(null, "Inserire il nome", "Messaggio", JOptionPane.WARNING_MESSAGE);
    }else if (s2.equals("")){
    JOptionPane.showMessageDialog(null, "Inserire il cognome", "Messaggio", JOptionPane.WARNING_MESSAGE);	
    }else {
    try {
    Class.forName("org.sqlite.JDBC");
    }
    catch (Exception exc) {
    exc.printStackTrace();
    }
    					
    try {
    conn = DriverManager.getConnection("jdbc:sqlite:basi.sqlite");						
    						
    String query = "INSERT into datasong (nome, cognome, eta) values(?, ?, ?)";
    						pstmt = (PreparedStatement) conn.prepareStatement(query); 
    						pstmt.setString(1, s1); 
    						pstmt.setString(2, s2);
    						pstmt.setInt(3, s3);
    						pstmt.executeUpdate(); 
    																		
    JOptionPane.showMessageDialog(null, "nome e cognome inseriti!", "Messaggio...",JOptionPane.INFORMATION_MESSAGE );							
    						
    pstmt.close();
    conn.close();
    nome.setText("");
    cognome.setText("");
    
    }
    					
    catch (Exception exc) {
    exc.printStackTrace();
    }
    in comboEta se seleziono ad esempio "120" il programma mi memorizza nella tabella solo i primi 2 numeri cioè "12"....

    come mai????

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    scusa se non mi ci trovo, ma magari è il fuso orario:
    codice:
    int s3 = (String) comboEta.getSelectedItem();
    Che è? Non dovrebbe nemmeno compilare...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    infatti l'ho corretto!!!!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Perfetto, hai editato quell'orrore di prima.

    Consiglio:

    prima del "try" metti:

    codice:
    System.out.println("dalla combobox: "+s3);
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    ma l'errore è sempre quello.....

  8. #8
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    ...ora ci provo...

  9. #9
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    allora ho selezionato il numero 300 dalla comboBox e mi è uscito:

    dalla combobox: 3

    poi ho selezionato il numero 150 e mi è uscito

    dalla combobox: 0


    stò impazzendo!!!!!

  10. #10
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    risolto!!!!!!

    ho trovato l'errore!!!!!

    invece di scrivere:

    int s3 = comboEta.getSelectedItem();

    dovevo scrivere

    int s3 = (int)comboEta.getSelectedItem();

    così mi ha memorizzato!!!

    cmq ora faccio altre prove.....

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.