[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