[Gvsig_desarrolladores] AÑADIR FILA DBF GVSIG 1.11

Francisco Puga fpuga en cartolab.es
Lun Nov 21 18:14:08 CET 2011


Hola,

Échale un ojo al método addRecord de la clase AlphanumericNavtable

http://forge.osor.eu/plugins/scmsvn/viewcvs.php/*checkout*/trunk/extNavTable/src/es/udc/cartolab/gvsig/navtable/AlphanumericNavTable.java?content-type=text%2Fplain&rev=437&root=navtable

El día 7 de noviembre de 2011 18:11, Ana Belen Garcia
<belen.garcia en e-sig.es> escribió:
> Hola a todos de nuevo,
>
>   Estoy intentando añadir una serie de filas a un dbf de una capa. Estas
> filas no tienen geometría indexada, solo serian datos alfanumericos que
> necesito tener almacenados. He visto el ejemplo de como añadir filas en
> gvsig mobile, el cual utiliza la clase DbfMemoryDataSource la cual no
> encuentro en gvsig 1.11, necesitaría otra equivalente que no se cual es,
> puesto que esta es la clase que lee el fichero .DBF.
>
> El ejemplo que hay es el siguiente:
>   File f;
>                                 f = new File(fName);
>                                 DbfMemoryDataSource drv;
>                                 drv = new DbfMemoryDataSource(f);
>                                 drv.start();
>
>
>                                 int numFilas = (int)drv.getRowCount();
>                                 int numCols = drv.getFieldCount();
>
>
>                                 DbaseFileHeaderNIO myHeader;
>                                 myHeader =
> DbaseFileHeaderNIO.createDbaseHeader(drv);
>                                 numFilas++;
>                                 myHeader.setNumRecords(numFilas);
>
>                                 OrderFileOutputStream outStream = new
> OrderFileOutputStream(f);
>                                 DbaseFileWriterNIO dbfWrite = new
> DbaseFileWriterNIO(myHeader,outStream);
>
>
>
>                             FeatureTemp fea = new FeatureTemp();
>                                 fea.setFieldNames(drv.getFieldNames());
>
>                                 for (int j=0; j<numFilas-1; j++){
>
>                                         fea.setValues(drv.getRow(j));
>                                         Object[] record = fea.getValues();
>                                         dbfWrite.write(record);
>                                 }
>
>                                 Object[] record  = new Object[numCols];
>
>                                 for (int k=0; k < numCols; k++)
>                         {
>                         record[k] =
> ValueFactory.createValueByType(obj.toString(), drv.getFieldType(k));
>                         }
>                                 dbfWrite.write(record);
>
>
>                                 dbfWrite.close();
>                                 outStream.close();
>
>                 } catch (Exception e) {
>                     // TODO Auto-generated catch block
>                     e.printStackTrace();
>               }
>
>         }
>
>
> Me podrían decir que clase debo utilizar  para añadir estas filas a mi
> fichero .dbf.
>
>
> Gracias. Un Saludo.
>
>
>
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>



-- 
Francisco Puga
Grupo de Desarrollo
Cartolab - Laboratorio de Ingeniería Cartográfica.
http://www.cartolab.es

ETS Ingeniería de Caminos, Canales y Puertos
Universidade da Coruña
Campus de Elviña - 15071 A Coruña (España)
(34)981167000 ext. 5493


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