Je suis en train de formater un fichier ResultSet
pour le sortir dans un fichier CSV. En tant que tel, je ne me soucie pas vraiment des types Java du jeu de résultats, au-delà peut-être de savoir s'il s'agit de texte ou de nombres. Est-ce que JDBC garantit getString donnera toujours une représentation sous forme de chaîne des valeurs, au moins pour les valeurs uniques (je ne dois pas me préoccuper de java.sql.Types.ARRAY
, java.sql.Types.JAVA_OBJECT
et quelques autres).JDBC ResultSet getString renvoie-t-il toujours une représentation String?
par exemple. donné resultSetMetaData.getColumnType(i)
est un Types.FLOAT
ou un Types.BIGDECIMAL
. rs.GetString(i)
donnera-t-il toujours de la chaîne?
i.e. Existe-t-il des cas getString lève une exception SQLException ou renvoie null lorsque getXXX me donne la valeur?
** Mise à jour sur le guide lié: ** 'Notez que bien que la méthode getString soit recommandée pour récupérer les types SQL CHAR et VARCHAR, il est possible d'y récupérer n'importe quel type SQL de base. Obtenir toutes les valeurs avec getString peut être très utile, mais il a aussi ses limites. Par exemple, s'il est utilisé pour récupérer un type numérique, getString convertit la valeur numérique en objet Java String et la valeur doit être reconvertie en un type numérique avant de pouvoir être exploité en tant que nombre. Dans les cas où la valeur est traitée comme une chaîne de toute façon, il n'y a pas d'inconvénient. » – Nefreo