Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115

    non riesco a prendere un valore dal database

    ragazzi non riesco a prendere un valore dal tababase... ho collegato java ad access. il problema e nel metodo percentualeTabA riceva una stringa dal main dopo di che esegue la query e dal risultato della quere mette in un variabile nominata i1 un valore.... solo che la sintassi eclipse mi dice che e giusta pero nel debug mi da questa scritta:

    <terminated, exit value: 0>C:\Programmi\Java\jre1.6.0_07\bin\javaw.exe

    cosa potrebbe essere??? e un problema di database. pero io ho fatto un'applicazione piu semplice e funziona la connessione con il database...

    aiutatemi per favore...




    codice:
    import java.sql.*;
    import java.io.*;
    
    
    
    public class Logica{
    	
    	private Connection conn;
    	private PreparedStatement I1stm;
    	
    	public Logica(){
    		try
    		{
    			conn = getConnection();
    			//Statement stat = conn.createStatement();
    		}
    	      catch (SQLException e){}
    	      catch (IOException b){}
    	}
    	
    	public static Connection getConnection() throws SQLException, IOException
    	{  
    		try{
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    		}
    		catch (ClassNotFoundException e){
    			System.out.println("ClassNotFoundException: ");
    			System.err.println(e.getMessage());
    		}
    		String url = "jdbc:odbc:;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Documents and Settings\\Cobra\\Desktop\\progetto calcolo Parcelle\\database\\tabelle.mdb";//DBQ=\\\\SERVER\\CartellaCondivisa\\DB.MDB";
    		return DriverManager.getConnection(url);
    	}
    	
    
    	
    	
    	public double percentualeTabA(String classeCategoria)
    	{
    		double i1=0;
    		ResultSet rs=null;
    		try
    		{
    			I1stm = conn.prepareStatement(I1);
    			I1stm.setString(1, classeCategoria);
    			rs = I1stm.executeQuery();
    			i1=rs.getDouble("I1");
    	        //rs.close();
    			
    		}
    		catch (SQLException d){}
    		
    		return i1;
    		
    	}
    	
    	
    	private static final String I1="SELECT TabellaA.I1, TabellaA.I2, TabellaA.x1, TabellaA.x2, TabellaA.x3 FROM TabellaA"+
    		"WHERE TabellaA.classe_categoria = ?";
    	
    	
    
    	
    }
    codice:
    public class Prova{
    	
    	public static void main(String[] args)
    	{
    		
    		Logica l= new Logica();
    		double x=l.percentualeTabA("a");
    		System.out.println(x);
    		
    	}
    }

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Uffa! Le eccezioni non vanno mangiate!!!!

    Fai ripartire l'applicazione, ma prima correggi il codice e all'iterno del blocco catch scrivi e.printStackTrace() in modo che si possa capire qualcosa di quello che succede.

    Altrimenti.. puoi sempre regalarmi una bacchetta magica, no?

    Ciao

    Ah.. dimenticavo.. se la stampa dell'eccezione non basta, scopri dove si interrompe il programma.
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115
    fatto ma non mi stampa nessuna eccezione...mi da sempre lo stesso risultato...

    sto sballando a due giorni...porca miseria...

    hai qualche altra idea???

    aiutatemi per favore..

    come faccio a capire dove si interrompe...e dove sta il maledetto problema...

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115

    trovato l'eccezione

    ecco cosa mi da:

    java.sql.SQLException: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nella proposizione FROM.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc .java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java :7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:31 49)
    at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Jd bcOdbcPreparedStatement.java:216)
    at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQue ry(JdbcOdbcPreparedStatement.java:91)
    at Logica.percentualeTabA(Logica.java:50)
    at Prova.main(Prova.java:9)



    pero la query è giusta perche l'ho provata prima in access...

    aiutatemi non so piu cosa fare....

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115

    help me...

    nessuno ha da darmi un piccolo suggerimento....

    non e che access non supporta preparedStatment....???

    per favore aiutatemi...

  6. #6
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Ma le tecniche di debug non le insegna nessuno?

    private static final String I1="SELECT TabellaA.I1, TabellaA.I2, TabellaA.x1, TabellaA.x2, TabellaA.x3 FROM TabellaA"+
    "WHERE TabellaA.classe_categoria = ?";
    Prova a farti un system.out.pritln di questa stringa, verrà fuori:

    codice:
    SELECT TabellaA.I1, TabellaA.I2, TabellaA.x1, TabellaA.x2, TabellaA.x3 FROM TabellaAWHERE TabellaA.classe_categoria = ?
    Se dai in pasto questa roba a qualunque database, dubito che riceverai mai una risposta.
    E' abbastanza facile dimenticarsi uno spazio, beh, adesso sai che anche questo può accadere.. ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115
    ma di quale spazio parli non capisco..???

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115
    ah si ho capito... sono un C....

    2 giorni per uno spazione.....

    grazie gentilissimo cmq...

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.