首页 / 浏览问题 / 组件GIS / 问题详情
iObjects.Java如何向表单数据中添加新的数据
251EXP 2023年03月31日

通过iObjects.Java打开工作空间的postgresql数据源下面的表单数据集后,请问应该如何向这个表单数据里添加几行数据或几列新数据

如果是保存在UDBX里的矢量数据集的话,可以通过

recordset.addNew()追加新的数据,

请问postgresql数据源下面的表单数据也可以用同样的方法去添加数据吗,如果可以的话,请问应该如何操作?

1个回答

你好,postgresql数据源和ubdx数据源,除了打开数据源时候的类型不一样,其他的操作都是一样的。所以postgresql数据源下面的表单数据也可以用同样的方式添加。

希望可以帮助到您!
2,513EXP 2023年03月31日

您好,感谢解答。

请问应该如何使用addNew()添加对应的数据,有没有什么教程。

// 从中取出名为“World”(面数据集)的矢量数据集 dataset_world,和名为“Example”(面数据集)的矢量数据集 dataset
        DatasetVector dataset_world = (DatasetVector) datasource.getDatasets().get("World");
        DatasetVector dataset = (DatasetVector) datasource.getDatasets().get("Example");

        // 得到“Example”对应的所有记录集以及“World”中 SmID=1 的记录
        Recordset recordset = dataset.getRecordset(false, CursorType.DYNAMIC);
        Recordset recordset_world = dataset_world.query("SmID=1",CursorType.STATIC);

        // 将记录位置移到第一位
        recordset.moveFirst();

        // 锁定当前记录位置
        recordset.edit();

        // 将当前记录删除
        recordset.delete();

        // 将“World”中 SmID=1 的记录添加到 recordset 中并提交
        Geometry geometry = recordset_world.getGeometry();
        recordset.update();
        recordset.addNew(geometry);
        recordset.update();

        // 关闭记录集,释放几何对象、记录集
        recordset.close();
        geometry.dispose();
        recordset.dispose();
        recordset_world.dispose();

iObjetcs.JAVA中的范例是取得了一条smid=1的数据然后加入了recordset中,如果要从外部将数据输入的话应该如何使用?

您指的外部是直接在postgresql中插入和修改吗?不建议这样子做。可以根据范例代码调用我们的接口来进行添加。
比如说

我在网页的前台读取了一个csv文件,然后想把里面的数据保存到用iDesktop新建的postgresql数据源中,

我现在想要实现的步骤如下:

1.将读取的数据通过ajax传入使用iObjects.Java做的iServer的拓展服务中

2.在拓展服务中接收数据,然后想办法作为新的数据集保存在UDBX或者postgresql中

3.如果先保存在UDBX中,则将UDBX中的对应数据集拷贝到postgresql中
直接通ImportSettingCSV类就可以直接导入到postgresql数据源中。
感谢解答
...