gis supermap recordset.addnew报错,问题如下?

Scarlett4869 2015-12-11 10:50:34
[code=csharp/// <summary>
/// 坐标点转面
/// </summary>
public void PointToPolygon()
{
try
{
m_dataImport = new DataImport();
Workspace workspace = new Workspace();
DatasourceConnectionInfo datasourceConnectInfo = new DatasourceConnectionInfo();
datasourceConnectInfo.EngineType = EngineType.OraclePlus;
datasourceConnectInfo.Server = "supermap";
datasourceConnectInfo.Database = "";
datasourceConnectInfo.User = "ztuser2";
datasourceConnectInfo.Password = "123456";
datasourceConnectInfo.Alias = "supermap";
Datasource m_datasource = workspace.Datasources.Open(datasourceConnectInfo);
m_datasource = m_workspace.Datasources[0];
DatasetVector dataset = m_datasource.Datasets["T_SCDK"] as DatasetVector;
dataset.IsReadOnly=false;
//bool isD = dataset.IsOpen;
Recordset meC = dataset.GetRecordset(true, CursorType.Static);
GeoRegion meF = new GeoRegion();
Point2D mePoint2D = new Point2D();
mePoint2D.X = 37604288.8835;
mePoint2D.Y = 4469787.9417;
Point2Ds mePs = new Point2Ds();
mePs.Add(mePoint2D);
mePoint2D.X = 37604203.9551;
mePoint2D.Y = 4469672.9024;
mePs.Add(mePoint2D);
mePoint2D.X = 37604183.6514;
mePoint2D.Y = 4469692.1909;
mePs.Add(mePoint2D);
meF.AddPart(mePs);
Geometry megeo = meF;
meC.AddNew(megeo);
dataset.Open();
dataset.Append(meC);
dataset.Close();
Recordset recordset = dataset.Query("SmID<500", CursorType.Static);
DatasetVector dataset1 = m_datasource.Datasets["T_SCDK"] as DatasetVector;
dataset.Open();
dataset1.Append(recordset);
dataset.Close();
m_mapControl.Map.ViewEntire();
m_mapControl.Map.Refresh();
layersTree1.Map.Refresh();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
][/code]
meC.AddNew(megeo); 报错为只读,不能修改
...全文
87 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2015-12-11
  • 打赏
  • 举报
回复
插入数据还是用 INSERT 语句吧, 这种方式太老了点.

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧