浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
如何从udb的三维数据集中提取三维属性并保存成属性数据集?
namespac...
11EXP
2020年01月13日
iObjects9D.net开发,程序要实现以下手动操作:数据集浏览属性表,提取三维模型属性,保存为属性数据集,如下图所示。请问有无提取三维模型属性接口和保存属性表为属性集的接口?多谢
iobjects
net
属性表,提取三维模型属性,属性集
请
登录
或者
注册
后回答这个问题。
1个回答
您好,这个是新建一个属性表数据集,然后遍历三维数据集里的recordset传值进去的
邬袁凯
2,432EXP
2020年01月13日
显示前 7 条评论
你这个recordset重新获取一下试试呢
对于有数据的数据集能修改成功了! 但我新建的空数据集,再添加好属性后,准备给对应的属性内容赋值时,一致报错:System.ArgumentException:“Exception of type 'System.ArgumentException' was thrown.
Parameter name: name”;是不是由于空数据集添加数据,直接赋值有问题?
具体代码:
//将已有的数据集内容复制到新建的数据集中
Recordset newrecordset = newDatasetVector.GetRecordset(false, CursorType.Dynamic);//新建的空数据集
newrecordset.MoveFirst();
srcRecordset.MoveFirst();//之前已经有的数据集记录
for (int i = 0; i < srcRecordset.RecordCount; i++)
{
FieldInfos fieldInfos = srcRecordset.GetFieldInfos();
for (int j = 0; j < fieldInfos.Count; j++)
{
if (fieldInfos[j].IsSystemField)
continue;
string fieldName = fieldInfos[j].Name;
Object content = srcRecordset.GetFieldValue(fieldName);
string aimFiledName = fieldName;
if (fieldName.StartsWith("Sm") && fieldName != "SmID" && fieldName != "SmUserID")
{
aimFiledName = "x" + aimFiledName;
}
newrecordset.Edit();
bool isSuc=newrecordset.SetFieldValue(aimFiledName, content);
newrecordset.Update();
}
newrecordset.MoveNext();
srcRecordset.MoveNext();
}
newrecordset.Update();
必须要有对象才能赋值,空的肯定没法赋值呀
怎么给对象赋值?我只会添加所有属性字段,正在找赋值的方法。多谢
就是添加几何对象,Recordset.AddNew
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
如何创建系统属性字段和sm开头的属性字段,以及给相应的字段赋值?
超图客户端10i如何提取属性
怎么在三维上画多边行并保存到数据集中
采集路线过程中,如何保存采集的海拔信息
从模型数据集或缓存提取单个模型并显示在三维场景
如何获取对象对应的属性值
怎么从一个数据集中提取出一部分数据组成一个新的数据集呢
使用imobile,如何添加点矢量,添加自定义属性并保存到udb
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...