PreparedStatement ResultSet – La colonne contient le nom de la colonne sélectionnée en tant que string au lieu des valeurs réelles de la colonne sélectionnée

En utilisant un PreparedStatement dans Java j'ai rencontré une situation étrange que je ne pourrais pas résoudre par l'intermédiaire de SO ou searchr sur le Web.

preStatement = connection.prepareStatement("SELECT ?, Date FROM " + paramTable + " WHERE [...]"); preStatement.setSsortingng(1, paramColumn); ResultSet rs = preStatement.executeQuery(); preStatement.close(); 

Le problème ici est que la colonne paramColumn qui est sélectionnée dans la table paramTable contient uniquement des valeurs float -Type dans la database, cependant lorsque paramTable PreparedStatement, la première colonne revient avec le type de database nvarchar .

Par exemple si je SELECT MyValue, Date FROM ValueTable le ResultSet ressemblerait

 ________________________ | MyValue | Date | | MyValue | 2014-09-09 | | MyValue | 2014-09-10 | .... 

alors que ça devrait ressembler

 ________________________ | MyValue | Date | | 26,567 | 2014-09-09 | | 28,623 | 2014-09-10 | .... 

Lorsque j'exécute cette instruction SQL dans la console de gestion, j'obtiens les valeurs correctes sans problème mais en Java, la colonne contient toujours le nom de la colonne sous forme de Ssortingng .

Juste concaténer le nom de la colonne dans la string de requête

 preStatement = connection.prepareStatement("SELECT "+paramColumn+", Date FROM " + paramTable + " WHERE [...]");