private void btnDelete_Click(object sender, EventArgs e) { Exception ex = null; if (dataGridViewX1.CurrentRow == null) { MessageBox.Show("请选择要删除的方案!", "提示"); return; } string ID = dataGridViewX1.CurrentRow.Cells["ID"].Value.ToString(); SysCommon.Gis.SysGisTable table = new SysCommon.Gis.SysGisTable(Plugin.ModuleCommon.TmpWorkSpace); bool t = table.DeleteRows("customstatistics", "id='" + ID + "'", out ex); if (t) { MessageBox.Show("成功删除统计方案!", "提示"); dataGridViewX1.Rows.Remove(dataGridViewX1.CurrentRow); dataGridViewX1.Refresh(); // RefreshDataGridview(); return; } else { MessageBox.Show("删除统计方案失败!", "提示"); } }
//根据成果类型获取共享目录 ygc 2012-9-6 private string GetSharedPath(string DataType) { if (m_Workspace == null) { return(null); } SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_Workspace); Exception ex = null; Dictionary <string, object> newdic = new Dictionary <string, object>(); try { newdic = sysTable.GetRow("RESULTDIR", "PATHNAME='" + DataType + "'", out ex); } catch { } if (newdic == null) { return(null); } if (newdic.Count == 0) { return(null); } return(newdic["DATADIR"].ToString()); }
private bool DisplayUniqueValue(string strFieldName) { this.listViewValue.Items.Clear(); if (!File.Exists(SysCommon.ModField._MatchFieldValuepath)) { return(false); } //读取配置文件 XmlDocument pXmldoc = new XmlDocument(); pXmldoc.Load(SysCommon.ModField._MatchFieldValuepath); string strSearch = "//MatchFieldConfig/Field[@FieldName='" + strFieldName + "']"; XmlNode pNode = pXmldoc.SelectSingleNode(strSearch); if (pNode == null) { return(false); } string strTableName = pNode.Attributes["TableName"].Value.ToString(); SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_Workspace); Exception exError = null; List <Dictionary <string, object> > lstDicData = sysTable.GetRows(strTableName, "", out exError); if (lstDicData == null) { return(false); } 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(""))) { ListViewItem newItem = new ListViewItem(new string[] { strName + "[" + strAliasName + "]" }); newItem.Tag = strName; this.listViewValue.Items.Add(newItem); } } return(true); } } catch { } return(false); }
private bool GetExist(string tableName, string condition) { //List<string> newList = new List<string>(); //if (m_pWorkspace == null) return newList; //DropTable("tempTable"); //m_pWorkspace.ExecuteSQL("create table tempTable as select " + Key + " from " + tableName + " where " + condition ); //IFeatureWorkspace pWs = m_pWorkspace as IFeatureWorkspace; //ITable pTable = pWs.OpenTable("tempTable"); //ICursor pCursor = pTable.Search(null ,false); //try //{ // if (pCursor != null) // { // IRow row = pCursor.NextRow(); // while (row != null) // { // newList.Add(row.get_Value(0).ToString()); // row = pCursor.NextRow(); // } // } //} //catch (Exception ex) //{ // MessageBox.Show(ex.ToString()); //} //finally //{ // DropTable("tempTable"); // if (pCursor != null) // { // System.Runtime.InteropServices.Marshal.ReleaseComObject(pCursor); // } //} //return newList; bool bExist = false; SysCommon.Gis.SysGisTable pTable = new SysCommon.Gis.SysGisTable(m_pWorkspace); try { if (pTable.ExistData(tableName, condition)) { bExist = true; } } catch (System.Exception ex) { bExist = false; } pTable = null; return(bExist); }
private bool AddRow(string tableName, string layerID, string longinUser, int isshare, string solutionName, string condition, string description, string Layername) { //bool falg = false; //if (m_pWorkspace == null) return falg; //string SQLstring = "insert into " + tableName + " (layerid,longinuser,isshare,solutionname,condition,description,layername) values('" + layerID + "','" + longinUser + "', " + isshare + " , '" + solutionName + "','" + condition + "','" + description + "','"+Layername+"')"; //try //{ // m_pWorkspace.ExecuteSQL(SQLstring); // falg = true; //} //catch (Exception ex) //{ // MessageBox.Show(ex.ToString()); //} //return falg; bool flag = false; SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_pWorkspace); Dictionary <string, object> dicData = new Dictionary <string, object>(); dicData.Add("layerid", layerID); dicData.Add("longinuser", longinUser); dicData.Add("isshare", isshare); dicData.Add("solutionname", solutionName); dicData.Add("condition", condition); dicData.Add("description", description); dicData.Add("layername", Layername); try { Exception exError = null; if (!sysTable.NewRow(tableName, dicData, out exError)) { flag = false; } else { flag = true; } } catch (System.Exception ex) { flag = false; } dicData.Clear(); dicData = null; sysTable = null; return(flag); }
private string GetRegionName(string RegionCode) { string RegionName = RegionCode; SysCommon.Gis.SysGisTable pTable = new SysCommon.Gis.SysGisTable(Plugin.ModuleCommon.TmpWorkSpace); Exception err = null; object objName = pTable.GetFieldValue("行政区字典表", "NAME", "CODE='" + RegionCode + "'", out err); pTable = null; if (objName != null) { RegionName = objName.ToString(); } return(RegionName); }
/// <summary> /// 从系统表中删除该条记录 /// </summary> /// <param name="strTableName">表名</param> /// <param name="condition">查询条件</param> /// <returns></returns> public bool DeleteTableRow(string strTableName, string condition) { Exception exError = null; bool Bdelete = true; SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_Workspace); if (sysTable.ExistData(strTableName, condition)) { if (!sysTable.DeleteRows(strTableName, condition, out exError)) { return(Bdelete = false); } } sysTable = null; return(Bdelete); }
/// <summary> /// 更新系统表的数据记录 /// </summary> /// <param name="tablename"></param> /// <param name="condition"></param> /// <param name="dicValues"></param> /// <returns></returns> public bool UpTableRow(string tablename, string condition, Dictionary <string, object> dicValues) { Exception exError = null; bool Bdelete = true; SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_Workspace); if (sysTable.ExistData(tablename, condition)) { return(Bdelete = sysTable.UpdateRow(tablename, condition, dicValues, out exError)); } else { Bdelete = false; } sysTable = null; return(Bdelete); }
private void bttOpen_Click(object sender, EventArgs e) { DataGridViewSelectedRowCollection pSelectedRowC = dataGridVRe.SelectedRows; if (pSelectedRowC.Count != 1) { MessageBox.Show("请选中一条相关的记录再进行查看操作!", "提示!"); return; } string strPath = dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFilePath"].Value.ToString(); string DataType = dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CmnType"].Value.ToString(); string ShardPath = GetSharedPath(DataType); if (ShardPath == null) { MessageBox.Show("业务库中不存在该共享目录!", "提示"); return; } SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_Workspace); Exception ex = null; if (!Directory.Exists(ShardPath)) { Dictionary <string, object> dicDataRow = new Dictionary <string, object>(); dicDataRow = sysTable.GetRow("RESULTDIR", "PATHNAME='" + DataType + "'", out ex); bool t = Connect(dicDataRow["COMPUTERIP"].ToString(), dicDataRow["USER_"].ToString(), dicDataRow["PASSWORD_"].ToString()); } if (!Directory.Exists(ShardPath)) { MessageBox.Show("无法连接到成果目录", "提示"); return; } if (!File.Exists(strPath)) { MessageBox.Show("成果数据目录已被损坏!", "提示!"); return; } System.Diagnostics.Process.Start(strPath); }
private void bttCK_Click(object sender, EventArgs e) { try { string[] strMapNo = GetMapNo().Split(new char[] { ',' }); IList <IFeature> pListFeature = new List <IFeature>(); if (strMapNo == null) { return; } Exception eError; string NodeKey = ""; if (strMapNo[0].Length == 3)//1:100万 接图表NodeKey { NodeKey = "61073218-927f-4eba-a245-e6e59a121a5e"; } else { switch (strMapNo[0].ToString().Substring(3, 1).ToUpper()) { case "C": //1:25万 接图表NodeKey NodeKey = "610we218-927f-4eba-a245-e6e59a121a5e"; break; case "E": //1:5万 接图表NodeKey NodeKey = "c113ac32-14ce-44f6-83b2-c5e0322ef8f9"; //不同比例尺的接图表的ID号 break; } } XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(_layerTreePath); SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_WS); string strSearch = "//Layer[@NodeKey='" + NodeKey.ToString() + "']"; XmlNode pxmlnode = xmldoc.SelectSingleNode(strSearch); XmlElement pxmlele = pxmlnode as XmlElement; if (pxmlnode == null) { return; } string strDataSourceID = pxmlele.GetAttribute("ConnectKey"); string feaclscode = pxmlele.GetAttribute("Code"); object objDataSource = sysTable.GetFieldValue("DATABASEMD", "DATABASENAME", "ID=" + strDataSourceID, out eError); string DataSourcename = ""; if (objDataSource != null) { DataSourcename = objDataSource.ToString(); } string conninfostr = ""; int type = -1; object objconnstr = sysTable.GetFieldValue("DATABASEMD", "CONNECTIONINFO", "ID=" + strDataSourceID, out eError); object objType = sysTable.GetFieldValue("DATABASEMD", "DATAFORMATID", "DATABASENAME='" + DataSourcename + "'", out eError); if (objconnstr != null) { conninfostr = objconnstr.ToString(); } if (objType != null) { type = int.Parse(objType.ToString()); } //连接并获得目录数据库 IWorkspace pWorkspace = GetWorkSpacefromConninfo(conninfostr, type); if (pWorkspace == null) { return; } IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace; IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(feaclscode); if (pFeatureClass == null) { return; } for (int i = 0; i < strMapNo.Length; i++) { IQueryFilter pQueryFilter = new QueryFilterClass(); IFeature pFeature = null; IFeatureCursor pFeatureCursor = null; pQueryFilter.WhereClause = "MAP='" + strMapNo[i] + "'"; pFeatureCursor = pFeatureClass.Search(pQueryFilter, false); pFeature = pFeatureCursor.NextFeature(); while (pFeature != null) { pListFeature.Add(pFeature); pFeature = pFeatureCursor.NextFeature(); } System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeatureCursor); } IGeometry pGeometry = GetLyrUnionPlygon(pListFeature); if (pGeometry == null) { MessageBox.Show("不存在相关图幅信息,请认真核对图幅信息!", "提示!"); return; } this.WindowState = FormWindowState.Minimized; m_MapControl.Extent = pGeometry.Envelope; m_MapControl.ActiveView.Refresh(); } catch { } }
/// <summary> /// 得到Renderer从数据库中 /// </summary> /// <returns></returns> public static object GetRendererFromBlob(string sql, IWorkspace pConfigWks) { Exception err = null; SysCommon.Gis.IGisTable pGISTable = new SysCommon.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); } }
//从数据库中读取图层设置 public static object GetLayerConfigFromBlob(string sql, IWorkspace pConfigWks) { Exception err = null; SysCommon.Gis.IGisTable pGISTable = new SysCommon.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; if (strLayerType == "" || strLayerType == null) { return(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 && pStream != null) { IPersistStream pPersistStream = pLayer as IPersistStream; try { pPersistStream.Load(pStream); } catch { return(null); } pLayer = pPersistStream as ILayer; } return(pLayer); }
private void AddTable(ESRI.ArcGIS.Geodatabase.IWorkspace pWks, string strTableName) { SysCommon.Gis.SysGisTable pGisTable = new SysCommon.Gis.SysGisTable(pWks); Exception eError = null; IFields pFields = new FieldsClass(); IFieldsEdit pFieldsEdit = pFields as IFieldsEdit; IField pField = new FieldClass(); IFieldEdit pEdit = pField as IFieldEdit; pEdit.Name_2 = "ID"; pEdit.AliasName_2 = "ID"; pEdit.Type_2 = esriFieldType.esriFieldTypeOID; //pEdit.Length_2 = 50; pFieldsEdit.AddField(pField); pField = new FieldClass(); pEdit = pField as IFieldEdit; pEdit.Name_2 = "Code"; pEdit.AliasName_2 = "±àÂë"; pEdit.Type_2 = esriFieldType.esriFieldTypeString; pEdit.Length_2 = 50; pFieldsEdit.AddField(pField); pField = new FieldClass(); pEdit = pField as IFieldEdit; pEdit.Name_2 = "Name"; pEdit.AliasName_2 = "Ãû³Æ"; pEdit.Type_2 = esriFieldType.esriFieldTypeString; pEdit.Length_2 = 255; pFieldsEdit.AddField(pField); try { pGisTable.CreateTable(strTableName, pFields, out eError); } catch { } pGisTable = null; string strInitXmlPath = Application.StartupPath + "\\..\\Res\\Xml\\DataTreeInitIndex.xml"; XmlDocument xmldoc = new XmlDocument(); if (File.Exists(strInitXmlPath)) { xmldoc.Load(strInitXmlPath); string strSearch = "//Main/Childset/Itemset[@ItemName=" + "'Êý¾Ý×Öµä'" + "]"; XmlNode xmlNode = xmldoc.SelectSingleNode(strSearch); if (xmlNode != null) { XmlElement childele = xmldoc.CreateElement("Layer"); childele.SetAttribute("tblName", strTableName); childele.SetAttribute("ItemName", strTableName); childele.SetAttribute("Caption", ""); xmlNode.AppendChild(childele as XmlNode); xmldoc.Save(strInitXmlPath); } } xmldoc = null; }
public static void ImportTextToTable(string strFileName, string strTablename, bool isCovered) { SysCommon.CProgress vProgress = new SysCommon.CProgress("进度条"); vProgress.EnableCancel = false; vProgress.ShowDescription = true; vProgress.FakeProgress = false; vProgress.TopMost = true; //vProgress.MaxValue = 5; vProgress.ShowProgress(); vProgress.SetProgress("导入Text文档"); IFeatureWorkspace pFeatureWks = null; ITable pTable = null; try { pFeatureWks = Plugin.ModuleCommon.TmpWorkSpace as IFeatureWorkspace; pTable = pFeatureWks.OpenTable(strTablename); } catch { vProgress.Close(); return; } if (pTable == null) { vProgress.Close(); return; } if (!System.IO.File.Exists(strFileName)) { vProgress.Close(); return; } ///记录读取txt中的字段名称 List <string> pLstFieldName = new List <string>(); ///记录一行字段存储的字段值与字段名一一对应 List <string[]> pLstFieldValue = new List <string[]>(); ///记录读取txt的第几行 int iNum = 1; using (System.IO.StreamReader sr = System.IO.File.OpenText(strFileName)) { String input; while ((input = sr.ReadLine()) != null) { string[] strValue = input.Split('\t'); if (iNum == 1) { for (int i = 0; i < strValue.Length; i++) { pLstFieldName.Add(strValue[i]); } } else if (strValue.Length != 0) { pLstFieldValue.Add(strValue); } iNum++; } } Dictionary <string, object> pDic = new Dictionary <string, object>(); SysCommon.Gis.SysGisTable pSystable = new SysCommon.Gis.SysGisTable(Plugin.ModuleCommon.TmpWorkSpace); Exception eError = null; try { if (isCovered) { vProgress.SetProgress("清除'" + strTablename + "'中记录"); pSystable.DeleteRows(strTablename, "", out eError); } vProgress.MaxValue = pLstFieldValue.Count; vProgress.SetProgress("将Text文档中内容写入'" + strTablename + "'"); pSystable.StartTransaction(out eError); for (int j = 0; j < pLstFieldValue.Count; j++) { vProgress.Step = j + 1; pDic.Clear(); try { for (int n = 0; n < pLstFieldName.Count; n++) { pDic.Add(pLstFieldName[n].ToString(), pLstFieldValue[j][n].ToString()); } pSystable.NewRowByAliasName(strTablename, pDic, out eError); //shduan 20110730暂时屏蔽 } catch { } } pSystable.EndTransaction(true, out eError); vProgress.Close(); } catch { MessageBox.Show("导入失败请查看txt文档格式是否正确!", "提示!"); vProgress.Close(); } }
//added by chulili 20110715 //导入excel文件,内容写入数据字典所选表格中 //excel文件第一行对应表格的字段名称(别名),第二行开始是记录内容 public static void ImportExcelToTable(string strFilename, string strTablename, bool isCovered) { SysCommon.CProgress vProgress = new SysCommon.CProgress("进度条"); vProgress.EnableCancel = false; vProgress.ShowDescription = true; vProgress.FakeProgress = false; vProgress.TopMost = true; vProgress.MaxValue = 5; vProgress.ShowProgress(); vProgress.SetProgress("导入Excel表格"); IFeatureWorkspace pFeatureWks = null; ITable pTable = null; try { pFeatureWks = Plugin.ModuleCommon.TmpWorkSpace as IFeatureWorkspace; pTable = pFeatureWks.OpenTable(strTablename); } catch { vProgress.Close(); return; } if (pTable == null) { vProgress.Close(); return; } string strConn; vProgress.SetProgress(1, "打开Excel文件"); strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strFilename + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); //获取EXCEL文件内工作表名称 added by chulili 20110924 DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string SheetName = "Sheet1$"; if (dt != null) { if (dt.Rows.Count > 0) { SheetName = dt.Rows[0][2].ToString();//默认取第一张工作表 } } dt = null; OleDbCommand pCommand = null; OleDbDataReader pReader = null; try { vProgress.SetProgress("读取Excel文件表格内容"); pCommand = new OleDbCommand("SELECT * FROM [" + SheetName + "]", conn); pReader = pCommand.ExecuteReader(); } catch { conn.Close(); vProgress.Close(); return; } if (pReader == null) { conn.Close(); vProgress.Close(); return; } //Dictionary<int, int> pDicFieldname = new Dictionary<int, int>(); //for (int i = 0; i < pReader.FieldCount; i++) //{ // string strFieldname=pReader.GetName(i); // int j = pTable.Fields.FindFieldByAliasName(strFieldname); // pDicFieldname.Add(i, j); //} Dictionary <string, object> pDic = new Dictionary <string, object>(); SysCommon.Gis.SysGisTable pSystable = new SysCommon.Gis.SysGisTable(Plugin.ModuleCommon.TmpWorkSpace); Exception eError = null; try { if (isCovered) { vProgress.SetProgress("清除'" + strTablename + "'中记录"); pSystable.DeleteRows(strTablename, "", out eError); } vProgress.SetProgress("将Excel中表格内容写入'" + strTablename + "'"); pSystable.StartTransaction(out eError); while (pReader.Read()) { pDic.Clear(); for (int i = 0; i < pReader.FieldCount; i++) { pDic.Add(pReader.GetName(i).Trim(), pReader[i].ToString()); } pSystable.NewRowByAliasName(strTablename, pDic, out eError); //shduan 20110730暂时屏蔽 } pSystable.EndTransaction(true, out eError); pReader.Close(); conn.Close(); vProgress.Close(); } catch { pReader.Close(); conn.Close(); vProgress.Close(); } }
private void bttModify_Click(object sender, EventArgs e) { DataGridViewSelectedRowCollection pSelectedRowC = dataGridVRe.SelectedRows; if (pSelectedRowC.Count != 1) { MessageBox.Show("请选中一条相关的记录再进行修改操作!", "提示!"); return; } string strPath = dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFilePath"].Value.ToString(); string DataType = dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CmnType"].Value.ToString(); string ShardPath = GetSharedPath(DataType); if (ShardPath == null) { MessageBox.Show("业务库中不存在该共享目录!", "提示"); return; } SysCommon.Gis.SysGisTable sysTable = new SysCommon.Gis.SysGisTable(m_Workspace); Exception ex = null; if (!Directory.Exists(ShardPath)) { Dictionary <string, object> dicDataRow = new Dictionary <string, object>(); dicDataRow = sysTable.GetRow("RESULTDIR", "PATHNAME='" + DataType + "'", out ex); bool t = Connect(dicDataRow["COMPUTERIP"].ToString(), dicDataRow["USER_"].ToString(), dicDataRow["PASSWORD_"].ToString()); } if (!Directory.Exists(ShardPath)) { MessageBox.Show("无法连接到成果目录", "提示"); return; } if (!File.Exists(strPath)) { MessageBox.Show("成果数据目录已被损坏!", "提示!"); return; } string strName = dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFileName"].Value.ToString(); string strType = dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CmnType"].Value.ToString(); FrmModifyName pFrmModifyName = new FrmModifyName(this, strPath); pFrmModifyName.strModifyValue = Path.GetFileNameWithoutExtension(strPath); if (pFrmModifyName.ShowDialog() == DialogResult.Cancel) { return; } ///重组修改后的文件名和文件路径 m_ModifyName = m_ModifyName + Path.GetExtension(strPath); strPath = Path.GetDirectoryName(strPath) + "\\" + m_ModifyName; Dictionary <string, object> dicData = new Dictionary <string, object>(); dicData.Add("DATATYPE", strType); dicData.Add("DATANAME", m_ModifyName); dicData.Add("DATAPATH", strPath); ///更新系统表中得数据 if (UpTableRow("RESULTLIST", "DATANAME='" + strName + "'", dicData)) { ///文件进行重命名 File.Move(dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFilePath"].Value.ToString(), strPath); dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFilePath"].Value = strPath; dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFileName"].Value = m_ModifyName; MessageBox.Show("修改成功!", "提示!"); } else { MessageBox.Show("成果数据:" + dataGridVRe.Rows[pSelectedRowC[0].Index].Cells["CumFileName"].Value.ToString() + "修改失败!", "提示!"); } }