java 运行错误_官网下载的java代码运行出错

package test.supermap;

import com.supermap.data.Datasource;

import com.supermap.data.Workspace;

import com.supermap.data.*;

public class EditData {

private static Datasource datasource;

public static void main(String[] args) {

//        System.setProperties("D:/tools/SuperMap/Bin");

System.out.println(System.getProperty("java.library.path"));

// 打开数据源

Workspace workspace = new Workspace();

DatasourceConnectionInfo info = new DatasourceConnectionInfo();

info.setServer("C:/Users/admin/Desktop/supermap for java/editData/testData/test.udb");

info.setEngineType(EngineType.UDB);

datasource = workspace.getDatasources().open(info);

if (datasource!=null) {

//从后台传过来的点要存储在点数据集中,如果没有对应的点数据集,创建一个点数据集,其坐标系和数据源的坐标系一致

createDataset();

}

}

private static void createDataset(){

DatasetVectorInfo dvinfo = new DatasetVectorInfo();

dvinfo.setType(DatasetType.POINT);

dvinfo.setName("test_point");

DatasetVector datasetpoint = datasource.getDatasets().create(dvinfo);

if (datasetpoint!=null) {

System.out.println("点数据集创建成功!!");

//向创建的数据集中添加点对象,这个点对象可以是后台传过来的

addPoint(datasetpoint);

}

}

private static void addPoint(DatasetVector point){

//添加5个点,点的来源可以不同,这里随意构建了5个点

Point2D point2d1 = new Point2D(1,2);

Point2D point2d2 = new Point2D(3,2);

Point2D point2d3 = new Point2D(4,5);

Point2D point2d4 = new Point2D(3,6);

Point2D point2d5 = new Point2D(6,6);

Point2Ds point2Ds = new Point2Ds();

point2Ds.add(point2d1);

point2Ds.add(point2d2);

point2Ds.add(point2d3);

point2Ds.add(point2d4);

point2Ds.add(point2d5);

Recordset recordset = point.getRecordset(false, CursorType.DYNAMIC);

recordset.moveFirst();

for (int i = 0; i < point2Ds.getCount(); i++) {

GeoPoint geoPoint = new GeoPoint(point2Ds.getItem(i));

recordset.addNew(geoPoint);

recordset.update();

}

System.out.println(recordset.getRecordCount());

//添加一个自定义字段

addFieldinfo(point);

}

private static void addFieldinfo(DatasetVector point){

FieldInfo fieldinfo = new FieldInfo();

fieldinfo.setName("name");

fieldinfo.setType(FieldType.TEXT);

fieldinfo.setRequired(true);

fieldinfo.setCaption("testname");

fieldinfo.setDefaultValue("测试");

FieldInfos fieldInfos = point.getFieldInfos();

int count = fieldInfos.getCount();

fieldInfos.add(fieldinfo);

Recordset recordset = point.getRecordset(false, CursorType.DYNAMIC);

if (fieldInfos.get(count).getName().equals("name")) {

System.out.println("自定义字段创建成功!!");

//修改字段值

editField(recordset);

}

}

private static void editField(Recordset recordset){

recordset.moveFirst();

while (!recordset.isEOF()) {

recordset.edit();

recordset.setFieldValue("name", "超图");

recordset.update();

recordset.moveNext();

}

//用完recordset,关闭并释放

recordset.close();

recordset.dispose();

}

}

这是我的代码,而且我电脑上也只有这一个版本的bin目录,所以不会存在版本不一致的情况,你知道IObject java有没有相关的开发文档可供参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值