您的位置:首页 > 其它

File GeoDatabase先添加列,后添加行,最后添加记录

2009-04-08 18:58 316 查看
File GeoDatabase先添加列,后添加行,最后添加记录

IWorkspaceFactory pGDBworkspaceFactory = new FileGDBWorkspaceFactoryClass();

IWorkspace pGDBWorkspace = pGDBworkspaceFactory.OpenFromFile(@"D:\GIS\GuangYuan\GuangYuan.gdb", 0);

IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pGDBWorkspace;

ITable pTable = pFeatureWorkspace.OpenTable("Toly");

IWorkspaceEdit pGDBEdit = (IWorkspaceEdit)pGDBWorkspace;

for (int i = 0; i < 2501; i++) //列

{

IFields pFields;

IField pField;

pFields = new FieldsClass();

IFieldsEdit pFieldsEdit = (IFieldsEdit)pFields;

IFieldEdit pFieldEdit = new FieldClass();

pFieldEdit.Name_2 = "列" + Convert.ToString(i);

pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString;

pFieldEdit.Length_2 = 10;

pFieldsEdit.AddField(pFieldEdit);

pField = new FieldClass();

pField = pFieldsEdit.get_Field(0);

if (pTable.FindField(pField.Name) > 0)

{

//MessageBox.Show("已经存在该字段!");

}

else

{

pTable.AddField(pField);

}

}

MessageBox.Show("成功添加列");

pGDBEdit.StartEditOperation();

IRow pRow;

for (int i = 0; i < 10; i++) //行

{

pRow = pTable.CreateRow();

}

MessageBox.Show("成功添加行");

for (int j = 6; j <= 8; j++)

{

pRow = pTable.GetRow(j);

for (int i = 0; i < 2501; i++)

{

pRow.set_Value(pRow.Fields.FindField("列" + Convert.ToString(i)), "bbs");

}

pRow.Store();

}

pGDBEdit.StopEditOperation();

MessageBox.Show("成功添加用户");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: