Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28

Discussione: java tipo doule

  1. #1

    java tipo doule

    Salve,
    ho un'applicazione java che interagisce con un db.
    Quando vado ad estrarre delle coordinate (10.452889392 e 43.52562810) dal db,
    leggo solo 0 (zero), cioè nelle variabili lat e lon, che dichiaro double, trovo solo 0.
    Ora, nel db sono di tipo varchar, ma non credo questo centri niente, quando le leggo
    faccio una getDouble(). Dov'è l'errore dei tipi?

  2. #2
    Se sono Varchar, secondo me, ti conviene che fai il getString e poi tenti una conversione con un float. :master:
    "Na' sedia te vojo tirà!"

  3. #3
    Niente da fare, da null

  4. #4
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Dovresti postare il codice interessato: non saprei nemmeno formulare una ipotesi, altrimenti...

  5. #5
    Il problema è un altro,
    non entra in un while quindi non le legge proprio!
    Come è possibile che la stessa cosa poche righe sopra funzioni e li no?

  6. #6
    codice:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class PersonaInterna {
    	static String nome, cognome;
    
    	static int attivo;
    
    	static float lat;
    
    	static float lon;
    	
    	static int codChip;
    
    	static String nomeDB = "localizzazione";
    
    	public static void main(String[] args) {
    		try {
    			System.out.print("Inserisci il nome: ");
    			BufferedReader ilnome = new BufferedReader(new InputStreamReader(
    					System.in));
    			nome = ilnome.readLine();
    			System.out.print("Inserisci il cognome: ");
    			BufferedReader ilcognome = new BufferedReader(
    					new InputStreamReader(System.in));
    			cognome = ilcognome.readLine();
    			System.out.println("La persona da cercare è: " + nome + " "
    					+ cognome);
    			Class.forName("com.mysql.jdbc.Driver");
    			Connection conndb = DriverManager
    					.getConnection("jdbc:mysql://localhost:3306/" + nomeDB, "root", "manuela");
    			//Creo lo Statement per l'esecuzione della query
    			Statement st = conndb.createStatement();
    			//Ottengo il ResultSet dell'esecuzione della query
    			ResultSet risQ = st
    					.executeQuery("SELECT Cod_Chip, Attivo from ChipInterni WHERE Cognome='"
    							+ cognome + "' and Nome='" + nome + "';");
                //Creo il vettore risultato scorrendo tutto il ResultSet
    			while (risQ.next()) {
    				codChip = risQ.getInt(1);
    				attivo = risQ.getInt(2);
    				System.out.println("codice chip: "+codChip+" Il valore del chip è: "+attivo);
    			}
    			risQ.close();
    			System.out.println("1) Il valore di attivo è: "+attivo);
    			if (attivo != 0) {
    				System.out.println("2) Il valore di attivo è: "+attivo);
    				Statement stmt = conndb.createStatement();
    				ResultSet risq = stmt
    						.executeQuery("SELECT Lat, Lon from Coordinate WHERE Cod_Chip='ChipInterni.CodChip';");
    				while (risq.next()) {
    					lat = risQ.getFloat(1);
    					System.out.println("Il valore di lat è: "+lat);
    					lon = risQ.getFloat(2);
    					System.out.println("Il valore di lon è: "+lon);
    				}
    				risq.close();
    				System.out.println("Dati di: "+nome+" "+cognome);
    				//System.out.println("codice chip: "+codChip+" Il valore del chip è: "+attivo);
    				//System.out.println("si trova alle coordinate: "+lat+" "+lon);
    
    			}
    			else 
    				System.out.println("La persona non è stata trovata");
    		} catch (IOException e) {
    			e.printStackTrace();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		}
    	}
    }
    scusate, ma non so inserire il codice a modo.
    Comunque il problema è che non entra nel secondo while!!!!!

  7. #7
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Immagino tu non abbia visto il mio intervento: se non posti il codice che non ti funziona nessuno è in grado di aiutarti

  8. #8
    L'ho fatto!

  9. #9
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Se non entra nel secondo while vuol dire che la chiamata a next() restituisce false... quindi l'interrogazione a DB non ti restituisce nessun record

  10. #10
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    L'ho fatto!
    Sì, ci siamo accavallati con i post...

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.