[Gvsig_desarrolladores] Fwd: AYUDA POR FAVOR!!

Nacho Uve nachouve en gmail.com
Jue Dic 22 12:24:03 CET 2011


Hola Ruth,

No transformes en String ya que has definido el campo "Result" como un
Double:
nF6.setFieldType(Types.DOUBLE);
nF6.setFieldLength(30);

Por cierto, creo que es necesario poner cuantos decimales en el tipo
Double.... algo así como nF6.setDecimalLenght() o algo así???

Un saludo,
Nacho V




El 22 de diciembre de 2011 12:18, Ruth Sos Del Diego <
rsosdeldiego en googlemail.com> escribió:

>
>
>
> Hola de nuevo,
>
> Nacho, siguiendo tus indicaciones, he mirado la clase AlphanumericNavtable
> y he hecho los siguientes cambios:
>
>
>
>
> ToggleEditing te = *new* ToggleEditing();
>
> te.startEditing(lv);
>
> VectorialEditableAdapter vea = (VectorialEditableAdapter) lv.getSource();
>
>
> AlphanumericNavTable at= new AlphanumericNavTable(vea);
>
>
>
> //-------------------
>
>
>
>   String po;
>
>   String area3;
>
>   *double* *ddensidad* = 0;
>
>   *double* dpo = 0;
>
>   *double* *darea3* = 0;
>
>
>
> //--------Aquí añado el campo le pongo un valor cualquiera
>
>
> FieldDescription  nF6 = new FieldDescription();
>                 nF6.setDefaultValue(ValueFactory.createValue(2));
>                 nF6.setFieldName("Result");
>                  nF6.setFieldType(Types.DOUBLE);
>                  nF6.setFieldLength(30);
>
>                 try {
>                 vea.addField (nF6);
>             } catch (ReadDriverException e2) {
>
>                 // TODO Auto-generated catch block
>                 e2.printStackTrace();
>             }
>
>
>
>
>
> *try* {
>
>
>
> SelectableDataSource sds=lv.getRecordset();
>
>
>
>
>
>   //*leemos* *las* *filas*
>
>
>
> *for* (*int* j=0; j<sds.getRowCount(); j++) {
>
>
>
> //*leemos* *los* *campos*
>
>
>
>
>
> *for* (*int* k=0; k<sds.getFieldCount();k++){
>
> String idField =sds.getFieldName(k);
>
> *if* (idField.equals("Poblacion")){
>
>
>
> po=sds.getFieldValue(j,k).toString();
>
> dpo=Double.*parseDouble*(po);
>
>
>
>
>
>   }
>
>
>
> *if* (idField.equals("area")){
>
>
>
> area3=sds.getFieldValue(j,k).toString();
>
> darea3=Double.*parseDouble*(area3);
>
>   }
>
>
>
> //-----Cambio registros
>
>
> if (idField.equals("Result")){
>
>
> //----Hago la operación
>        ddensidad=dpo/darea3;
>
>
> //----Lo convierto a String
>
>
>        String dden= String.valueOf(ddensidad);
>
>        Object value=sds.getFieldValue(j,k).toString();
>
>
> //---- Cojo el valor de la tabla y le cambio el registro
>
>        value.saveRecord(dden);
>
>
>
> Aquí me da error
>
>
>
>
>
>
> }
>
>   }
>
>
>
>    }
>
>
>
>  *catch* (ReadDriverException e1) {
>
>   e1.printStackTrace();
>
> }
>
>
>
>        te.stopEditing(lv, false);
>
>
>
>                 }
>             }
>
>
> Sólo me falta ese paso y no sé cómo solventarlo!! Cualquier idea es
> bienvenida, lo tengo que terminar urgentemente antes de mañana y no sé como
> solucionarlo. Gracias
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>


-- 
Juan Ignacio Varela García
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20111222/a35d7c45/attachment.htm 


Más información sobre la lista de distribución gvSIG_desarrolladores