//从数据库中读取图层设置 public static object GetLayerConfigFromBlob(string sql, IWorkspace pConfigWks) { Exception err = null; Fan.Common.Gis.IGisTable pGISTable = new Fan.Common.Gis.SysGisTable(pConfigWks); //获取Layer byte[] LayerByte = pGISTable.GetFieldValue("Render", "LayerConfig", sql, out err) as byte[]; //是否得到了序列化的blob,没得到,则返回NULL if (LayerByte == null) { return(null); } //从数据库中得到图层的类型 string strLayerType = pGISTable.GetFieldValue("Render", "LayerType", sql, out err).ToString(); ILayer pLayer = null; switch (strLayerType) { case "FDOGraphicsLayer": //注记层 pLayer = new FDOGraphicsLayerClass(); break; case "DimensionLayer": //标注层 pLayer = new DimensionLayerClass(); break; case "GdbRasterCatalogLayer": //影像层(RC) pLayer = new GdbRasterCatalogLayerClass(); break; case "RasterLayer": //影像数据集(RD) pLayer = new RasterLayerClass(); break; case "FeatureLayer": //普通地物层 pLayer = new FeatureLayerClass(); break; default: pLayer = new FeatureLayerClass(); break; } IMemoryBlobStreamVariant pMemoryBlobStreamVariant = new MemoryBlobStreamClass(); pMemoryBlobStreamVariant.ImportFromVariant((object)LayerByte); IStream pStream = pMemoryBlobStreamVariant as IStream; if (pLayer != null) { IPersistStream pPersistStream = pLayer as IPersistStream; pPersistStream.Load(pStream); pLayer = pPersistStream as ILayer; } return(pLayer); }
//added by chulili 20110730初始化属性名称数据字典(英文名映射中文名)key:英文 value:中文 public static void InitNameDic(IWorkspace pConfigWks, IDictionary <string, string> DicFieldname, string DicTableName) { Exception exError = null; if (DicFieldname == null) { DicFieldname = new Dictionary <string, string>();//changed by chulili 20110731 } DicFieldname.Clear(); Fan.Common.Gis.SysGisTable sysTable = new Fan.Common.Gis.SysGisTable(pConfigWks); List <Dictionary <string, object> > lstDicData = sysTable.GetRows(DicTableName, "", out exError); if (lstDicData == null) { return; } try { if (lstDicData.Count > 0) { for (int i = 0; i < lstDicData.Count; i++) { string strName = ""; string strAliasName = ""; if (lstDicData[i]["CODE"] != null) { strName = lstDicData[i]["CODE"].ToString(); } if (lstDicData[i]["NAME"] != null) { strAliasName = lstDicData[i]["NAME"].ToString(); } //将属性名及别名添加到字典中 if ((!strName.Equals("")) && (!strAliasName.Equals(""))) { if (!DicFieldname.Keys.Contains(strName)) { DicFieldname.Add(strName, strAliasName); } } } } } catch { } }
private void btnOk_Click(object sender, EventArgs e) { if (m_pGisDb == null) { return; } Exception Err; if (this.txtOldSec.Text.Trim() == "" || this.txtNewSec.Text.Trim() == "" || this.txtNewSec2.Text == "") { Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "新旧密码都不能为空。"); return; } if (this.txtNewSec2.Text.Trim() != this.txtNewSec.Text.Trim()) { Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "两次输入的新密码不一致。"); return; } //开始修改密码 Fan.Common.Gis.SysGisTable vGisTb = new Fan.Common.Gis.SysGisTable(m_pGisDb); string strOldPass = vGisTb.GetFieldValue("USER_INFO", "UPWD", "USERID='" + m_intUserID.ToString() + "'", out Err).ToString(); if (Fan.Common.Authorize.AuthorizeClass.ComputerSecurity(this.txtOldSec.Text.Trim()) != strOldPass) { Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "输入的旧密码不正确。"); return; } Dictionary <string, object> dicvalue = new Dictionary <string, object>(); dicvalue.Add("UPWD", Fan.Common.Authorize.AuthorizeClass.ComputerSecurity(this.txtNewSec.Text.Trim())); if (vGisTb.UpdateRow("USER_INFO", "USERID='" + m_intUserID.ToString() + "'", dicvalue, out Err)) { Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "修改密码成功。"); this.Close(); } else { Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统不能正确的修改密码。"); return; } }
/// <summary> /// 得到Renderer从数据库中 /// </summary> /// <returns></returns> public static object GetRendererFromBlob(string sql, IWorkspace pConfigWks) { Exception err = null; Fan.Common.Gis.IGisTable pGISTable = new Fan.Common.Gis.SysGisTable(pConfigWks); //获取Renderer byte[] renderByte = pGISTable.GetFieldValue("Render", "Render", sql, out err) as byte[]; //是否得到了序列化的blob,没得到,则返回NULL if (renderByte == null) { return(null); } IMemoryBlobStreamVariant pMemoryBlobStreamVariant = new MemoryBlobStreamClass(); pMemoryBlobStreamVariant.ImportFromVariant((object)renderByte); IStream pStream = pMemoryBlobStreamVariant as IStream; //从数据库中得到符号的类型 shduan 20110721 增加RasterRenderer string strRenderType = pGISTable.GetFieldValue("Render", "RenderType", sql, out err).ToString(); string strLyrType = pGISTable.GetFieldValue("Render", "LayerType", sql, out err).ToString(); if (strLyrType == "RasterLayer") { IRasterRenderer pRRenderer = null; switch (strRenderType) { case "RasterClassifyColorRampRenderer": pRRenderer = new RasterClassifyColorRampRendererClass(); break; case "RasterUniqueValueRenderer": pRRenderer = new RasterUniqueValueRendererClass(); break; case "RasterDiscreteColorRenderer": pRRenderer = new RasterDiscreteColorRendererClass(); break; case "RasterRGBRenderer": pRRenderer = new RasterRGBRendererClass(); break; case "RasterStretchColorRampRenderer": pRRenderer = new RasterStretchColorRampRendererClass(); break; } IPersistStream pPersistStream = pRRenderer as IPersistStream; pPersistStream.Load(pStream); //pRRenderer = pPersistStream as IRasterRenderer; return(pRRenderer); } else { IFeatureRenderer pFRenderer = null; switch (strRenderType) { case "AnnoColor": string sAnnoColor = Encoding.Default.GetString(renderByte); return((object)sAnnoColor); case "SimpleRenderer": pFRenderer = new SimpleRendererClass(); break; case "UniqueValueRenderer": pFRenderer = new UniqueValueRendererClass(); break; case "ClassBreaksRenderer": pFRenderer = new ClassBreaksRendererClass(); break; case "ProportionalSymbolRenderer": pFRenderer = new ProportionalSymbolRendererClass(); break; case "ChartRenderer": pFRenderer = new ChartRendererClass(); break; } IPersistStream pPersistStream = pFRenderer as IPersistStream; pPersistStream.Load(pStream); pFRenderer = pPersistStream as IFeatureRenderer; return(pFRenderer); } }