J'interroge des données à partir de vues susceptibles d'être modifiées. J'ai besoin de savoir si la colonne existe avant que je fasse un crs.get******()
. J'ai trouvé que je peux interroger les métadonnées comme ceci pour voir si une colonne existe avant que je demande les données de lui.Comment vérifier si un nom de colonne existe dans un CachedRowSet?
ResultSetMetaData meta = crs.getMetaData();
int numCol = meta.getColumnCount();
for (int i = 1; i < numCol+1; i++)
if(meta.getColumnName(i).equals("name"))
return true;
Existe-t-il un moyen plus simple de vérifier si une colonne existe?
EDIT: Il doit s'agir d'une base de données agnostique. C'est pourquoi je référence le CachedRowSet
au lieu de la base de données.
Je suis nouveau à cachedRowSet, j'ai juste compris cela pendant que j'écrivais ma question. Poser la question de manière cohérente m'a fait penser différemment. Je fais juste en sorte de rester sur la bonne voie. – WolfmanDragon
Si vous devez rechercher un grand nombre de colonnes, vous pouvez toujours avoir ce retour un 'Set 'rempli par les appels de méthode' getColumnName (i) '. De cette façon, vous pouvez vous référer à 'set.contains (myCol)' au lieu d'itérer tout cela. –
corsiKa