arcengine 连接sde,并对sde内数据进行管理(增删改)
来源:互联网 发布:网页设计js特效 编辑:程序博客网 时间:2024/06/05 20:39
1、连接sde,用的是连接文件,怎么创建连接文件,arcgis 工具箱,
如果service参数使用的默认的端口号5151,则必须在创建连接文件之前必须创建和开启sde服务,而如果使用sde:sqlserver:ip地址或计算机名,则不需要创建和开启服务。
location:自己选文件夹路径;
filename:自己填名字
server:192.168.106.33
service:sde:sqlserver:192.168.106.33;
database:数据库名称;
username:用户名
password:密码
图三
private IFeatureClass GetWrokspace()
{
string connectionString = @"D:\123\sde1.sde";
Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");
IWorkspaceFactory2 workspaceFactory2 = (IWorkspaceFactory2)Activator.CreateInstance(factoryType);
IWorkspace pworkspace = workspaceFactory2.OpenFromFile(connectionString, 1);
pFeaWS = pworkspace as IFeatureWorkspace;
pFeatureClas = pFeaWS.OpenFeatureClass("sde.SDE.testPoint");
IFeatureLayer pFLr = new FeatureLayerClass();
pFLr.FeatureClass = pFeatureClas;
axMapControl1.AddLayer(pFLr as ILayer);
//deleteFeature(pFeatureClas, pFeaWS);
return pFeatureClas;
}
private void deleteFeature(IFeatureClass pFeatureClas, IFeatureWorkspace featureWorkspace)
{
//IQueryFilter pQF = new QueryFilterClass();
//pQF.WhereClause = "点号 ='N182'";
//IFeatureCursor pFeatureCursor = featureclass.Update(pQF, false);
//IFeature pFeature = pFeatureCursor.NextFeature();
//if (pFeature == null) return;
//while (pFeature != null)
//{
// pFeatureCursor.DeleteFeature();
// pFeature = pFeatureCursor.NextFeature();
//}
IWorkspaceEdit edit = featureWorkspace as IWorkspaceEdit;
edit.StartEditing(true);
edit.StartEditOperation();
IQueryFilter queryFilter = new QueryFilterClass
{
WhereClause = "点号 = 'N181'"
};
// Create a ComReleaser for cursor management.
// Create and manage a cursor.
IFeatureCursor searchCursor = pFeatureClas.Search(queryFilter, false);
// Delete the retrieved features.
IFeature feature = null;
while ((feature = searchCursor.NextFeature()) != null)
{
feature.Delete();
}
edit.StopEditOperation();
edit.StopEditing(true);
axMapControl1.Refresh();
}
private void addFeature(IFeatureClass pFeatureClas, IFeatureWorkspace featureWorkspace)
{
IWorkspaceEdit edit = featureWorkspace as IWorkspaceEdit;
edit.StartEditing(true);
edit.StartEditOperation();
IFeatureBuffer featureBuffer = pFeatureClas.CreateFeatureBuffer();
IFeatureCursor featureCursor = pFeatureClas.Insert(true);
featureBuffer.set_Value(1, "haha");
IPoint point = new PointClass();
point.X=116.027;
point.Y =39.678;
featureBuffer.Shape = point;
featureCursor.InsertFeature(featureBuffer);
edit.StopEditOperation();
edit.StopEditing(true);
axMapControl1.Refresh();
}
private void updateFeature(IFeatureClass pFeatureClas, IFeatureWorkspace featureWorkspace)
{
IWorkspaceEdit edit = featureWorkspace as IWorkspaceEdit;
edit.StartEditing(true);
edit.StartEditOperation();
IQueryFilter pQF = new QueryFilterClass();
pQF.WhereClause = "点号 ='N204'";
IFeatureCursor pFeatureCursor = pFeatureClas.Update(pQF, false);
int index = pFeatureClas.FindField("点名");
IFeature pFeature = pFeatureCursor.NextFeature();
if (pFeature == null) return;
while (pFeature != null)
{
pFeature.set_Value(index, "哈哈222");
pFeatureCursor.UpdateFeature(pFeature);
pFeature = pFeatureCursor.NextFeature();
}
edit.StopEditOperation();
edit.StopEditing(true);
axMapControl1.Refresh();
}
- arcengine 连接sde,并对sde内数据进行管理(增删改)
- ArcEngine连接SDE数据
- ArcEngine 连接sql server sde
- ArcEngine 连接sql server sde
- ArcEngine 连接Sql Server SDE
- ArcGis连接sde并取数据
- AE连接SDE读取数据
- SDE连接
- sde
- sde
- sde
- ArcEngine加载SDE中的栅格数据的问题
- ArcEngine 10.1 访问SDE数据库
- arcengine发布webservice编辑sde
- SQLite对数据进行增删改查
- 连接SDE数据库代码
- SDE的连接方法
- sde扩大连接数
- JavaScript 中的垃圾回收
- 局域网通过IP反查主机名
- 欢迎使用CSDN-markdown编辑器
- Servlet
- 关于vim复制剪贴粘贴命令的总结
- arcengine 连接sde,并对sde内数据进行管理(增删改)
- Bootstrap 3
- java 现成网站源码 SSM 框架 freemaker静态引擎
- hader学习之
- c语言姓名大作战游戏
- Android<我所理解的Handler机制>
- 从汇编层面深度剖析c++虚函数
- Android
- BZOJ 3211: 花神游历各国 线段树区间开根