Estoy consultando datos de vistas que están sujetas a cambios. Necesito saber si la columna existe antes de hacer un crs.get******()
. He encontrado que puedo consultar los metadatos de esta manera para ver si existe una columna antes de solicitar los datos.¿Cómo verifico si existe un nombre de columna en 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;
¿Hay alguna forma más sencilla de verificar si existe una columna?
EDIT: Debe ser la base de datos agnóstico. Es por eso que me refiero al CachedRowSet
en lugar de a la base de datos.
Soy nuevo en cachedRowSet, me di cuenta de esto cuando escribía mi pregunta. Hacer la pregunta de forma coherente me hizo pensar en términos diferentes. Solo asegurándome de estar en el camino correcto. – WolfmanDragon
Si necesita buscar muchas columnas, siempre puede hacer que esto devuelva un 'Conjunto' poblado por las llamadas al método 'getColumnName (i)'. De esta forma, puedes consultar 'set.contains (myCol)' en lugar de iterar sobre todo. –
corsiKa