Allora la query che mi da problema è di una semplicità disarmante eppure mi riserva un comportamento anomalo. Cose da uscire pazzi, proprio perché l'editor non da errori e nemmeno provando online sul server locale da errori, però semplicemente la query non funziona come dovrebbe...Spero che qualcuno con più occhio o più esperienza di me riesca ad individuare la soluzione.
Ecco il codice della query SQL:
Come vedete nulla di complicato...Questo metodo riceve una stringa contenente il nome di un corso o un servizio e deve risalire al suo ID che è la chiave della tabella CorsoServizio.codice:public int RisaliIDCorsoServizio (String Nome) throws ClassNotFoundException, SQLException { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection connection = DriverManager.getConnection("jdbc:odbc:Palestra"); Statement st = connection.createStatement(); String SQL = "SELECT * FROM CorsoServizio WHERE Nome = '" + Nome + "'"; ResultSet rs = st.executeQuery(SQL); int ID = 0; while (rs.next()){ ID = rs.getInt("ID"); } connection.close(); return ID; }
Ho provato in mille modi diversi ma il problema a quanto pare sta nel confronto delle stringhe. Mi spiego meglio, facendo la prova e mettendo direttamente il nome senza variabile tipo: WHERE NOME = 'Aerobica'"; mi risale all'ID esatto di Aerobica e tutto funziona...Ma se vado a sostituire con la variabile che passo non trova risultati la query e mi torna ID = 0.
Prima di ogni cosa ho già controllato che il parametro passato arriva correttamente quindi non è quello il problema.
Aiutoooooooo pleaseeee

