private string ConstructErrorInfo() { string strInfo; string strFields = ""; StandardLayer lyr = LayerReader.GetLayerByName(m_structInvalidPara.strFtName, this.m_StandarID); if (lyr == null) { return(""); } int lyrID = lyr.ID; if (m_structInvalidPara.fieldArray.Count > 0) { for (int i = 0; i < m_structInvalidPara.fieldArray.Count; i++) { string strTFields = FieldReader.GetNameByAliasName(m_structInvalidPara.fieldArray[i], lyrID); strFields = strFields + "|" + strTFields; } } string strCharset; strCharset = m_structInvalidPara.charSetArray[0]; for (int j = 1; j < m_structInvalidPara.charSetArray.Count; j++) { strCharset += "," + m_structInvalidPara.charSetArray[j]; } strInfo = "字段 " + strFields + " 值中含有不符合要求的字符(" + strCharset + ")中的一个或多个"; return(strInfo); }
/// <summary> /// 从DataRow生成Layer对象 /// </summary> /// <param name="rowLayer"></param> /// <returns></returns> public static StandardLayer GetLayerFromDataRow(DataRow rowLayer) { if (rowLayer == null) { return(null); } StandardLayer lyr = new StandardLayer(); lyr.ID = Convert.ToInt32(rowLayer["LayerID"]); lyr.Name = rowLayer["LayerCode"] as string; lyr.AliasName = rowLayer["LayerName"] as string; lyr.AttributeTableName = rowLayer["AttrTableName"] as string; lyr.Description = rowLayer["LayerDesc"] as string; lyr.OrderIndex = Convert.ToInt32(rowLayer["SeqID"]); lyr.Type = (enumLayerType)Convert.ToInt32(rowLayer["GeometryType"]); return(lyr); }
private string ConstructErrorInfo() { string strInfo; strInfo = "线长度小于域值" + COMMONCONST.dLengthThread + " "; string strFields = ""; StandardLayer distLayer = LayerReader.GetLayerByName(m_structLengthPara.strFtName, SysDbHelper.GetStandardIDBySchemaID(this.m_SchemaID)); if (m_structLengthPara.fieldArray != null) { for (int i = 0; i < m_structLengthPara.fieldArray.Count; i++) { strFields = strFields + "|" + FieldReader.GetAliasName(m_structLengthPara.fieldArray[i], distLayer.ID); } strFields = strFields.Remove(0, 1); strFields = strFields + " 字段都为空"; strInfo = strInfo + ",并且 " + strFields; } return(strInfo); }
public override bool Verify() { standarID = SysDbHelper.GetStandardIDBySchemaID(this.m_SchemaID); StandardLayer lyr = LayerReader.GetLayerByAliasName(m_psPara.strTargetLayer, standarID); if (lyr == null) { SendMessage(enumMessageType.VerifyError, "当前方案所在的标准中找不到名为“" + m_psPara.strTargetLayer + "”的图层"); return(false); } strLayerName = lyr.Name; strCodeField = FieldReader.GetNameByAliasName(m_psPara.strCodeField, lyr.ID); if (string.IsNullOrEmpty(strCodeField)) { SendMessage(enumMessageType.VerifyError, string.Format("当前方案所在的标准中找不到名为“{0}”的图层", m_psPara.strCodeField)); return(false); } return(true); }
private string ConstructErrorInfo() { string strInfo = ""; string strFields = ""; StandardLayer distLayer = LayerReader.GetLayerByName(m_structBlankPara.strFtName, SysDbHelper.GetStandardIDBySchemaID(this.m_SchemaID)); if (m_structBlankPara.fieldArray.Count > 0) { for (int i = 1; i < m_structBlankPara.fieldArray.Count; i++) { strFields = strFields + "|" + FieldReader.GetAliasName(m_structBlankPara.fieldArray[i], distLayer.ID); } strFields = strFields.Remove(0, 1); } if (m_structBlankPara.iType == 0) { strInfo = "字段 " + strFields + " 都为空"; } else if (m_structBlankPara.iType == 1) { strInfo = "字段 " + strFields + " 中有一个或多个为空"; } return(strInfo); }
public override bool Verify() { //先取得要进行空间关系查询的ILayer IFeatureWorkspace ipFtWS = (IFeatureWorkspace)m_BaseWorkspace; int standarID = SysDbHelper.GetStandardIDBySchemaID(this.m_SchemaID); StandardLayer lyrSource = LayerReader.GetLayerByAliasName(m_pPara.strGeographyObject, standarID); if (lyrSource == null) { SendMessage(enumMessageType.VerifyError, string.Format("当前方案所在的标准中批不到名为“{0}”的图层", m_pPara.strGeographyObject)); return(false); } strSrcLayer = lyrSource.Name; if (m_pPara.arrayGraphSpeckleField.Count > 0) { strSrcFiled = FieldReader.GetNameByAliasName(m_pPara.arrayGraphSpeckleField[0], lyrSource.ID); if (string.IsNullOrEmpty(strSrcFiled)) { SendMessage(enumMessageType.VerifyError, string.Format("当前方案所在的标准中批不到名为“{0}”的图层", m_pPara.arrayGraphSpeckleField[0])); return(false); } } StandardLayer lyrRel = LayerReader.GetLayerByAliasName(m_pPara.strGraphSpeckle, standarID); strRelLayer = lyrRel.Name; if (m_pPara.arrayGeographyObjectField.Count > 0) { strRelField = FieldReader.GetNameByAliasName(m_pPara.arrayGeographyObjectField[0], lyrRel.ID); if (string.IsNullOrEmpty(strRelField)) { SendMessage(enumMessageType.VerifyError, string.Format("当前方案所在的标准中批不到名为“{0}”的图层", m_pPara.arrayGeographyObjectField[0])); return(false); } } //得到目标图层和关系图层的featureclass IFeatureClass pSrcFeatClass = null; IFeatureClass pRelFeatClass = null; IWorkspace TempWorkspace = null; IWorkspace2 wsTest = ipFtWS as IWorkspace2; // 原始数据准备 // 打开“源” try { pSrcFeatClass = ipFtWS.OpenFeatureClass(strSrcLayer); } catch { SendMessage(enumMessageType.VerifyError, "当前工作数据库的关系图层" + strSrcLayer + "不存在,无法执行检查!"); return(false); } m_srcfcname = strSrcLayer; if (pSrcFeatClass.FeatureCount(null) == 0) { Marshal.ReleaseComObject(pSrcFeatClass); SendMessage(enumMessageType.VerifyError, "当前工作数据库的关系图层" + strSrcLayer + "为空,无法执行检查!"); return(false); } if (pSrcFeatClass != null) { Marshal.ReleaseComObject(pSrcFeatClass); pSrcFeatClass = null; } // 打开“目标” try { pRelFeatClass = ipFtWS.OpenFeatureClass(strRelLayer); } catch { SendMessage(enumMessageType.VerifyError, "当前工作数据库的目标图层" + strRelLayer + "不存在,无法执行检查!"); return(false); } if (pRelFeatClass.FeatureCount(null) == 0) { Marshal.ReleaseComObject(pRelFeatClass); SendMessage(enumMessageType.VerifyError, "当前工作数据库的关系图层" + strSrcLayer + "为空,无法执行检查!"); return(false); } if (pRelFeatClass != null) { Marshal.ReleaseComObject(pRelFeatClass); pRelFeatClass = null; } return(true); }