[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