[Gvsig_desarrolladores] comparar campos de tablas
RINCON OLIVA, Mª ARANZAZU
maro1 en alu.um.es
Mie Oct 3 11:55:23 CEST 2007
Hola muy buenos días,
Tengo una duda al obtener la información de los campos de una tabla
que cargo en gvsig con el menu de tablas.
No sé porqué no puedo comparar un valor de un campo que obtengo de la
tabla con otro valor que es un string.
Es decir:
Yo he declarado un procedimiento que lo que hace es comparar el valor
de un campo de la tabla con un valor que es un string que le
paso como parámetro:
Cuando obtengo el valor del campo y lo comparo con el que le paso como
parámetro, siempre me sale falso cuando no es así.
La comparación que hago es la siguiente:
if( sds.getFieldValue(j, k).equals(grupo.toString()))
Tambien lo he hecho así:
valor = sds.getFieldValue(j, k).toString()
if (valor == parametro)
-----------------
y tambien así:
if (valor.equals(grupo))
-------
Todos me devuelven falso y el campo de la tabla es una cadena de caracteres.
¿Se tiene que hacer algo antes?
Les agradecería su pronta respuesta.
Gracias
Un saludo
Este es el procedimiento completo:
public String nombregrupo(String grupo){
int encontrado=0;
try{
//Llenamos el combobox con el nombre del grupo
ProjectExtension ext = (ProjectExtension)
PluginServices.getExtension(ProjectExtension.class);
ArrayList tables =
ext.getProject().getDocumentsByType(ProjectTableFactory.registerName);
for (int i=0 ; i<tables.size() ; i++){
ProjectTable pt = (ProjectTable)tables.get(i);
String nombretabla = pt.getName();
//obtenemos el recordset de la tabla
SelectableDataSource sds = pt.getModelo().getRecordset();
for (int j=0; j<sds.getRowCount(); j++){
for (int k=0; k<sds.getFieldCount(); k++){
String nombre =sds.getFieldName(k);
//this.nombregrupocultivo[j][k]=
sds.getFieldValue(j, k).toString();
if (nombretabla.equals("Grupos.DBF")){
if (nombre.equals("COD_GRUPO")){
if( sds.getFieldValue(j,
k).equals(grupo.toString()))
encontrado=1;
if (nombre.equals("GRUP_CULT")&& (encontrado==1) )
return (sds.getFieldValue(j, k).toString());
}
}
}
}
}
Más información sobre la lista de distribución gvSIG_desarrolladores