<HTML><HEAD><TITLE>[Gvsig_desarrolladores] edicin de DBF sobre gvsigMobile</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16981" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText96700>
<DIV><FONT face="Times New Roman" color=#000000>Hola, creo que lo que he dicho para Rocío es también valido para ti:</FONT></DIV>
<DIV> </DIV>
<DIV><A href="http://listserv.gva.es/pipermail/gvsig_desarrolladores/2010-February/003856.html">http://listserv.gva.es/pipermail/gvsig_desarrolladores/2010-February/003856.html</A></DIV>
<DIV> </DIV>
<DIV>La clase DBFFromReadVect está pensada más bien para exportar completamente una capa sin pasar por el modo edición. Creo que no es adecuada para tu caso.</DIV>
<DIV> </DIV>
<DIV>Saludos,</DIV>
<DIV> </DIV>
<DIV><FONT face="Times New Roman" color=#000000></FONT> </DIV></DIV>
<DIV id=idSignature23100>
<DIV><FONT face="Courier New" size=2><FONT face="Times New Roman" size=3>Juan Lucas Domínguez Rubio<BR></FONT>---</FONT></DIV>
<DIV><FONT face="Courier New" size=2><FONT face="Courier New" size=2><FONT face="Courier New" size=2>Prodevelop SL, Valencia (España)</FONT></DIV>
<DIV>
<DIV><FONT face="Courier New" size=2>Tlf.: 96.351.06.12 -- Fax: 96.351.09.68<BR></FONT><A href="http://www.prodevelop.es/"><FONT face="Courier New" size=2>http://www.prodevelop.es</FONT></A><BR><FONT face="Courier New" size=2>---</FONT></DIV></FONT></DIV></FONT></DIV>
<DIV><BR>
<HR>
<FONT face=Tahoma size=2><B>De:</B> gvsig_desarrolladores-bounces@listserv.gva.es en nombre de roeptisa<BR><B>Enviado el:</B> vie 12/02/2010 10:10<BR><B>Para:</B> gvsig_desarrolladores@listserv.gva.es<BR><B>Asunto:</B> [Gvsig_desarrolladores] edición de DBF sobre gvsigMobile<BR></FONT><BR></DIV>
<DIV><BR>
<P><FONT size=2>Buenas,<BR><BR>Desde gvsigMobile tengo que editar un fichero dbf, para ello hago uso de la<BR>clase DBFFromReadVect.<BR>Esta clase cuando aades un registro, te obliga a recorrerte el dbf completo<BR>y aadir todos los registros de nuevo, con lo cual, cuanto ms grande es el<BR>fichero dbf ms tarda, y sobre todo sobre una PDA, en la que la memoria no<BR>es muy grande.<BR>Me gustara saber si de alguna forma se puede mejorar el rendimiento de esa<BR>funcionalidad.<BR>Este es el cdigo que uso cuando inserto una fila en un dbf:<BR><BR>public static void aadirFila(String fName,HashMap newRow)<BR> {<BR> //Funcin que aada una fila a una tabla.<BR> //ENTRADA: newRow => hashmap con los datos de la fila a insertar.<BR> //fName => ruta completa del dbf<BR> <BR> try{<BR> <BR> File f;<BR> f = new File(fName);<BR> DbfMemoryDataSource drv;<BR> drv = new DbfMemoryDataSource(f);<BR> drv.start();<BR> <BR> <BR> int numFilas = (int)drv.getRowCount();<BR> int numCols = drv.getFieldCount();<BR> <BR> <BR> DbaseFileHeaderNIO myHeader;<BR> myHeader = DbaseFileHeaderNIO.createDbaseHeader(drv);<BR> numFilas++;<BR> myHeader.setNumRecords(numFilas);<BR> <BR> OrderFileOutputStream outStream = new OrderFileOutputStream(f);<BR> DbaseFileWriterNIO dbfWrite = new<BR>DbaseFileWriterNIO(myHeader,outStream);<BR> <BR> <BR> <BR> FeatureTemp fea = new FeatureTemp();<BR> fea.setFieldNames(drv.getFieldNames());<BR> <BR> for (int j=0; j<numFilas-1; j++){<BR> <BR> fea.setValues(drv.getRow(j));<BR> Object[] record = fea.getValues();<BR> dbfWrite.write(record);<BR> } <BR> <BR> Object[] record = new Object[numCols];<BR> <BR> for (int k=0; k < numCols; k++)<BR> {<BR> record[k] = ValueFactory.createValueByType(obj.toString(),<BR>drv.getFieldType(k)); <BR> }<BR> dbfWrite.write(record);<BR> <BR> <BR> dbfWrite.close();<BR> outStream.close();<BR> <BR> } catch (Exception e) {<BR> // TODO Auto-generated catch block<BR> e.printStackTrace();<BR> }<BR> <BR> }<BR><BR>Primero se recorre el dbf y vuelve a insertar todos los registros, y luego<BR>en el segundo bucle, inserto la nueva fila.<BR><BR>Muchas gracias de antemano.<BR><BR>Saludos,<BR><BR>Roco.<BR><BR>--<BR>View this message in context: <A href="http://n2.nabble.com/edicion-de-DBF-sobre-gvsigMobile-tp4560072p4560072.html">http://n2.nabble.com/edicion-de-DBF-sobre-gvsigMobile-tp4560072p4560072.html</A><BR>Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.<BR>_______________________________________________<BR>gvSIG_desarrolladores mailing list<BR>gvSIG_desarrolladores@listserv.gva.es<BR><A href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</A><BR></FONT></P></DIV></BODY></HTML>