[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