(1) 方法 (IDatabaseCompact)workspace; databaseCompact.Compact();
(2) 方法 GeoProccessor 中 Compact类
try
{
if (App.Instance.CurrentProject == null)
{
MessageBox.Show("请先打开一个工程", "提示");
return;
}
GWorkspace gws = new GWorkspace(zjdapp.currentProject.Geodatabase.Owner);
if (gws.Owner.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace)
{ //sde
string sdeFilePath = Application.StartupPath + "\\config_sde\\连接到geodatabase.sde";
Compress pact = new Compress(sdeFilePath);
gpMessage gpMsg = gpTool.Execute(pact);
zjdapp.showMsg(gpMsg.Message);
}
else
{ //persion or file geodatabase
Compact pact = new Compact(gws.Owner);
gpMessage gpMsg=gpTool.Execute(pact);
zjdapp.showMsg(gpMsg.Message);
}
/*
IDatabaseCompact databaseCompact=gws.Owner as IDatabaseCompact;
if (databaseCompact!=null && databaseCompact.CanCompact() == true)
{
databaseCompact.Compact();
zjdapp.showMsg("压缩完毕!");
}
else
{
zjdapp.showMsg("此工作空间不能压缩操作");
}*/
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示");
}