[Gvsig_desarrolladores] Re: Crear Tabla

Jorge Piera jorge.piera en iver.es
Lun Jul 16 09:00:49 CEST 2007


Hola Jaime.

Estás trabajando a nivel de tabla de gvSIG, no a nivel de fichero. Añade 
este método a tu clase y llámalo cuando termines de editar el DBF.

    public void writeFile() throws EditionException, 
DriverLoadException, DriverException{
             IEditableSource ies = projectTables.getModelo();
             IWriteable w = (IWriteable) ies;
             IWriter writer = w.getWriter();
             ITableDefinition tableDef = ies.getTableDefinition();
             writer.initialize(tableDef);
             ies.stopEdition(writer,EditionEvent.ALPHANUMERIC);
        }

Un saludo.


Jaime Traver wrote:
> Hola de nuevo, ya he conseguido añadir los registros, el problema que 
> tengo ahora es que los registros no son guardados en el fichero que 
> creo, les muestro la clase que he creado para crear la tabla, para ver 
> si me podeis indicar que es lo que falta para que esos registros sean 
> guardados en el fichero.
>
> public class CrearTablas {
>     DBFDriver driver = new DBFDriver();
>    
>     DataSourceFactory dsf;
>     DataSource dataSource = null;
>     SelectableDataSource sds;   
>     EditableAdapter auxea;
>    
>     DefaultRow row;
>     String nameProject;
>     ProjectTable projectTables;
>    
>
>     public CrearTablas(String nameProject, String nameFic,String[] 
> Campos,int [] fieldTypes ){
>         this.nameProject=nameProject;
>         dsf = LayerFactory.getDataSourceFactory();
>         dsf.createFileDataSource(driver.getName(), nameProject, 
> "/home/revartj/Desktop/"+nameFic+".dbf", Campos, fieldTypes);
>         try {
>             dataSource = dsf.createRandomDataSource(nameProject, 
> DataSourceFactory.AUTOMATIC_OPENING );
>             dataSource.setDataSourceFactory(dsf);
>             sds = new SelectableDataSource(dataSource);
>             auxea = new EditableAdapter();   
>             auxea.setOriginalDataSource (sds);
>         } catch (DriverLoadException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         } catch (NoSuchTableException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         } catch (DriverException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         }       
>     }
>     public void AniadirRow(Value[] valor){
>         row = new DefaultRow(valor);
>         try {
>             auxea.addRow(row, "description", EditionEvent.ALPHANUMERIC);
>            
>         } catch (DriverIOException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         } catch (IOException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         }       
>     }
>     public void AniadirTablaProject(){       
>         try {
>             projectTables = ProjectFactory.createTable(nameProject,auxea);
>         } catch (DriverException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         }
>         ProjectExtension ext = 
> (ProjectExtension)PluginServices.getExtension( ProjectExtension.class);
>         ext.getProject().addDocument(projectTables);
>        
>     }
>    
> }
>
> Un Saludo
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>   



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