Hola Sergio,

Eso era lo que faltaba. Muchas gracias. Lo que sucede ahora es que pone en
lugar de GID=0 , pone GID="null"... A ver si consigo averiguar lo que
provoca este problema.

Con esto ya casi estaría la parte vectorial y tabular del binding de
SEXTANTE para Kosmo.






El 19 de noviembre de 2008 21:40, Sergio Baños Calvo <[EMAIL PROTECTED]> 
escribió:

> Buenas noches Nacho.
>
> Revisamos y corregimos el método que nos comentas. Respecto al problema que
> tienes con la columna GID, te comento un par de detalles:
>
> 1) ¿Después de añadir los nuevos registros a la tabla haces commit()? Si no
> invocas el método estarás trabajando con todos los elementos en memoria y al
> cerrar Kosmo se perderán todos los cambios que hayas realizado. Para las
> tablas, aunque en la interfaz de Kosmo no se permite la edición, se sigue un
> comportamiento similar al de las capas, es decir, también existen los
> conjuntos de nuevos, actualizados y borrados y todos los cambios son en
> memoria mientras no se haga la llamada al método commit() que te comento.
>
> 2) Si el punto anterior no te resuelve el problema, pon un punto de
> interrupción en la línea 150 de la clase DBFRecordDataSource y comprueba que
> el esquema tiene dicho campo y que está marcado el atributo como clave
> primaria.
>
>       if (!file.exists()) {
>           // Creamos un nuevo fichero con la cabecera vacia
>           createDataStore(null, null, -1);
>       }
>
>       open();
>       this.schema = getTableSchema(); <---
>       numReg = dbaseFileChannel.getRecordCount();
>       close();
>
> Espero que te sirva de ayuda lo que te comento.
>
> Un cordial saludo,
>
> Nacho Uve escribió:
>
>> Pego el código, por si veis algo incorrecto:
>>
>> public void create(String name, Class[] types,
>>                        String[] fields, String filename) {
>>
>>        m_sName = name;
>>        m_sFilename = filename;
>>                                  DBFRecordDataSource dataSource = null;
>>        try {                      FeatureSchema schema = new
>> FeatureSchema();
>>            for (int i = 0; i < fields.length; i++) {
>>                schema.addAttribute(fields[i],
>>                        AttributeType.toAttributeType(types[i]));
>>            }                      dataSource = new
>> DBFRecordDataSource(m_sFilename, schema);
>>            dataSource.setName(m_sName);
>>  m_BaseDataObject = TableFactory.getRecordCollection(dataSource);
>>        } catch (Exception e) {
>>            e.printStackTrace();
>>        }                                              }
>>
>>
>> 2008/11/19 Nacho Uve <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>>
>>    Sigo con las Tablas. Creo desde cero un DBF desde cero con
>>    DBFRecordDataSource, estoy viendo que al visualizar posteriormente
>>    la tabla sale la columna GID con valores "null". ¿Cómo podría
>>    evitar este comportamiento?
>>
>>    Muchas gracias,
>>    NachoV
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Kosmo mailing list
>> [email protected]
>> http://lists.saig.es/mailman/listinfo/kosmo
>>
>>
>
> --
>
> Sergio Baños Calvo
>
> Jefe de desarrollos
> Sistemas Abiertos de Información Geográfica, S.L. (SAIG S.L.)
> Tlfno. móvil: 685005960
> Tlfno. fijo: (+34) 954788876
>
> E-mail: [EMAIL PROTECTED]
>
> _______________________________________________
> Kosmo mailing list
> [email protected]
> http://lists.saig.es/mailman/listinfo/kosmo
>
_______________________________________________
Kosmo mailing list
[email protected]
http://lists.saig.es/mailman/listinfo/kosmo

Responder a