标题基于.NET的ArcGIS二次开发之按位置查询
private void 按属性查询ToolStripMenuItem_Click(object sender, EventArgs e)
{
IQueryFilter queryFilter = new QueryFilterClass();
var a = textBoxLayer.Text;
queryFilter.WhereClause = string.Format("[Name]={0}",textBoxLayer.Text);//此处出错
//queryFilter.WhereClause = " Name = " + "'textBoxLayer.Text'";//不出错的代码
IFeatureCursor featureCursor = featureLayer.FeatureClass.Search(queryFilter,false);
feature = featureCursor.NextFeature();
MessageBox.Show("查询成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
出现错误如下:
每用户订阅上的所有者 SID 不存在 (异常来自 HRESULT:0x80040207)
原因如下:
queryFilter.WhereClause = string.Format("[Name]={0}",textBoxLayer.Text);
上面代码行有误,textBoxLayer.Text对应的是text型,int型可以直接用,但是text型需要进行改进如下:
queryFilter.WhereClause = " Name = " + "'textBoxLayer.Text'";
附图一张: