首页 / 浏览问题 / 组件GIS / 问题详情
iobjects 给数据集添加字段的问题
18EXP 2017年02月27日

用iobjects创建了一个点数据集,然后appendfields添加字段,为什么给字段设置别名: FieldInfo.setCaption();

如果是英文的就可以,但是设置中文别名就不行,字段别名会默认为字段名,但是用桌面工具打开是可以手动设置中文别名的啊?求解

结论:我使用的是mysql数据库作为数据源,但是数据库服务器安装的时候的编码没改,创建数据库是就算设置utf-8也不会生效,导致无法使用iobjects的方法无法设置中文别名,

所以必须去mysql的配置文件:my,ini里配置好编码为utf-8,然后重启数据库服务。删掉数据库,重建之后,在创建数据集,就能成功设置中文名

感谢支持中心!

1个回答

你是用的.net还是java或者C++写的啊,我先测试一下
5,985EXP 2017年02月27日
忘了说了,java     SMO_Java_811_14428_59859_Win_vc11_CHS_Zip

在mysql数据源中创建的数据集
你把相关代码贴出来看一下吧

public boolean appendFields(DatasourceConnectionInfo conn,String datasetname,List<FieldInfo> fields){
        Datasource datasource = openMysqlDatasource(conn, workspace);
        DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get(datasetname);
        FieldInfos fieldInfos=datasetVector.getFieldInfos();
        FieldInfo info = null;
        try {
            for (FieldInfo fie : fields) {
                info=fie;
                System.out.println(fie.getCaption());
                if(fie.getType()==null){
                    fie.setType(FieldType.TEXT);    
                }
                fie.setRequired(false);
                fieldInfos.add(fie);
            } 
            return true;
        } catch (Exception e) {
            System.out.println(info.getName());
            e.printStackTrace();
        }
        return false;
    }

这是封装的一个给表添加字段的方法,正常传入FiledInfo参数

您给我一个联系方式,我让相关工程师联系您
我的qq:1974275095,麻烦你了
方便给个电话号码吗
不好意思。。。。我在西安办公区:座机,02983589268
好的,一会儿会有工程师联系您
请问一下后来是怎么解决的呢?
...