//获取用户菜单权限的id集合 public static List <string> GetUserPrivilege(User user, SysGisDB gisDb, out Exception exError) { exError = null; string rolePrivilegeID; try { SysGisTable sysTable = new SysGisTable(gisDb); List <Dictionary <string, object> > lstDicData = sysTable.GetRows("user_role", "USERID='" + user.IDStr + "'", out exError); List <string> ids = null; if (lstDicData != null && lstDicData.Count > 0) { ids = new List <string>(); foreach (Dictionary <string, object> dic in lstDicData) { foreach (string key in dic.Keys) { if (key.Equals("ROLEID")) { ids.Add(dic[key].ToString()); } } } if (ids.Count > 0) { string strSql = ""; foreach (string id in ids) { if (string.IsNullOrEmpty(strSql)) { strSql = "'" + id.ToString() + "'"; } else { strSql += ",'" + id.ToString() + "'"; } } //获取当前用户的当前组id集 List <Dictionary <string, object> > lstDicDataRole = sysTable.GetRows("role_pri", "ROLEID IN (" + strSql + ")", out exError); List <string> lstRolePrivilege = null; if (lstDicDataRole != null && lstDicDataRole.Count > 0) { lstRolePrivilege = new List <string>(); for (int i = 0; i < lstDicDataRole.Count; i++) { rolePrivilegeID = lstDicDataRole[i]["PRIVILEGE_ID"].ToString(); lstRolePrivilege.Add(rolePrivilegeID); } Purge(ref lstRolePrivilege); return(lstRolePrivilege); } } } return(null); } catch { return(null); } }
public override void OnClick() { // zhangqi Add //判断配置文件是否存在 bool blnCanConnect = false; SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); if (File.Exists(GeoDBIntegration.ModuleData.v_ConfigPath)) { //获得系统维护库连接信息 SysCommon.Authorize.AuthorizeClass.GetConnectInfo(GeoDBIntegration.ModuleData.v_ConfigPath, out GeoDBIntegration.ModuleData.Server, out GeoDBIntegration.ModuleData.Instance, out GeoDBIntegration.ModuleData.Database, out GeoDBIntegration.ModuleData.User, out GeoDBIntegration.ModuleData.Password, out GeoDBIntegration.ModuleData.Version, out GeoDBIntegration.ModuleData.dbType); //连接系统维护库 blnCanConnect = CanOpenConnect(vgisDb, GeoDBIntegration.ModuleData.dbType, GeoDBIntegration.ModuleData.Server, GeoDBIntegration.ModuleData.Instance, GeoDBIntegration.ModuleData.Database, GeoDBIntegration.ModuleData.User, GeoDBIntegration.ModuleData.Password, GeoDBIntegration.ModuleData.Version); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:" + GeoDBIntegration.ModuleData.v_ConfigPath + "/n请重新配置"); return; } if (!blnCanConnect) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统能够维护库连接失败,请检查!"); return; } GeoDBIntegration.ModuleData.TempWks = vgisDb.WorkSpace; //zhangqi add end frmMetaStat FrmMetaConv = new frmMetaStat(); FrmMetaConv.ShowDialog(); }
public override void OnClick() { // ********************************************* // *cyf // *modify // *读取系统维护库连接信息 // *20110602 #region 原有代码 //连接数据库 //if (ModuleData.v_AppConnStr.Trim() == "") //{ // SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取系统维护库连接字符串失败!"); // return; //} //frmAddNewDB AddNewDB = new frmAddNewDB(SysCommon.enumDBConType.ORACLE, SysCommon.enumDBType.ORACLE, ModuleData.v_AppConnStr, EnumUpdateType.Update.ToString()); //AddNewDB.ShowDialog(); #endregion //判断配置文件是否存在 if (ModuleData.TempWks == null) { bool blnCanConnect = false; SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); if (File.Exists(ModuleData.v_ConfigPath)) { //获得系统维护库连接信息 SysCommon.Authorize.AuthorizeClass.GetConnectInfo(ModuleData.v_ConfigPath, out ModuleData.Server, out ModuleData.Instance, out ModuleData.Database, out ModuleData.User, out ModuleData.Password, out ModuleData.Version, out ModuleData.dbType); //连接系统维护库 blnCanConnect = CanOpenConnect(vgisDb, ModuleData.dbType, ModuleData.Server, ModuleData.Instance, ModuleData.Database, ModuleData.User, ModuleData.Password, ModuleData.Version); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:" + ModuleData.v_ConfigPath + "/n请重新配置"); return; } if (!blnCanConnect) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统维护库连接失败,请检查!"); return; } ModuleData.TempWks = vgisDb.WorkSpace; } //cyf 20110615 add: if (ModuleData.TempWks == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取系统维护库工作空间失败,请检查!"); return; } //end if (this.WriteLog) { Plugin.LogTable.Writelog(Caption);//xisheng 2011.07.09 增加日志 } frmAddNewDB AddNewDB = new frmAddNewDB(ModuleData.TempWks, EnumUpdateType.Update.ToString()); AddNewDB.ShowDialog(); // *end // *********************************************************** }
public override void OnClick() { if (MessageBox.Show("确定要系统初始化吗?本操作会覆盖原来的系统业务数据", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } if (File.Exists(Mod.v_ConfigPath)) { //工作库 SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); SysCommon.Authorize.AuthorizeClass.GetConnectInfo(Mod.v_ConfigPath, out Mod.Server, out Mod.Instance, out Mod.Database, out Mod.User, out Mod.Password, out Mod.Version, out Mod.dbType); bool blnCanConnect = CanOpenConnect(vgisDb, Mod.dbType, Mod.Server, Mod.Instance, Mod.Database, Mod.User, Mod.Password, Mod.Version); } SysGisDB gisDb = new SysGisDB(); bool result = false; Exception eError; enumWSType wsType; switch (Mod.dbType) { case "SDE": result = gisDb.SetWorkspace(Mod.Server, Mod.Instance, Mod.Database, Mod.User, Mod.Password, Mod.Version, out eError); break; case "PDB": wsType = enumWSType.PDB; result = gisDb.SetWorkspace(Mod.Server, wsType, out eError); break; case "GDB": wsType = enumWSType.GDB; result = gisDb.SetWorkspace(Mod.Server, wsType, out eError); break; default: break; } if (result == false) { return; } IWorkspaceFactory pWorkspaceFactory = null; IWorkspace pWorkspace = null; IPropertySet pPropertySet = new PropertySetClass(); string dataPath = Application.StartupPath + "\\..\\Template\\DbInfoTemplate.gdb"; pPropertySet.SetProperty("DATABASE", dataPath); pWorkspaceFactory = new ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass(); pWorkspace = pWorkspaceFactory.Open(pPropertySet, 0); if (pWorkspace == null) { return; } InitSystemByXML(pWorkspace, gisDb.WorkSpace); }
public override void OnClick() { // zhangqi Add //判断配置文件是否存在 bool blnCanConnect = false; SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); if (File.Exists(GeoDBIntegration.ModuleData.v_ConfigPath)) { //获得系统维护库连接信息 SysCommon.Authorize.AuthorizeClass.GetConnectInfo(GeoDBIntegration.ModuleData.v_ConfigPath, out GeoDBIntegration.ModuleData.Server, out GeoDBIntegration.ModuleData.Instance, out GeoDBIntegration.ModuleData.Database, out GeoDBIntegration.ModuleData.User, out GeoDBIntegration.ModuleData.Password, out GeoDBIntegration.ModuleData.Version, out GeoDBIntegration.ModuleData.dbType); //连接系统维护库 blnCanConnect = CanOpenConnect(vgisDb, GeoDBIntegration.ModuleData.dbType, GeoDBIntegration.ModuleData.Server, GeoDBIntegration.ModuleData.Instance, GeoDBIntegration.ModuleData.Database, GeoDBIntegration.ModuleData.User, GeoDBIntegration.ModuleData.Password, GeoDBIntegration.ModuleData.Version); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:" + GeoDBIntegration.ModuleData.v_ConfigPath + "/n请重新配置"); return; } if (!blnCanConnect) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统能够维护库连接失败,请检查!"); return; } //zhangqi add end GeoDBIntegration.ModuleData.TempWks = vgisDb.WorkSpace; SysCommon.CProgress pgss = new SysCommon.CProgress("正在加载元数据出图界面,请稍候..."); try { pgss.EnableCancel = false; pgss.ShowDescription = false; pgss.FakeProgress = true; pgss.TopMost = false; pgss.ShowProgress(); Application.DoEvents(); createMatadataMap(vgisDb.WorkSpace); pgss.Close(); } catch (Exception ex) { pgss.Close(); ErrorHandle.ShowFrmErrorHandle("提示", ex.Message); return; } frmMetaMap FrmMetaConv = new frmMetaMap(vgisDb.WorkSpace); FrmMetaConv.ShowDialog(); }
/// <summary> /// 检查用户登陆 /// </summary> /// <param name="name"></param> /// <param name="password"></param> /// <param name="gisDb"></param> /// <returns></returns> public static bool AddSystemXML(string name, out Exception eError) { eError = null; User user; try { SysGisDB gisDb = new SysGisDB(); GeoUtilities.clsDBConnect DBConn = new GeoUtilities.clsDBConnect(); DBConn.GetConInfo(); IWorkspace pWorkSpace = DBConn.GetWorkspace(); gisDb.WorkSpace = pWorkSpace; SysGisTable sysTable = new SysGisTable(gisDb); Dictionary <string, object> dicData = sysTable.GetRow("ICE_USERINFO", "U_NAME='" + name + "'", out eError); if (dicData == null || dicData.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "用户不存在!"); return(false); } if (dicData != null && dicData.Count > 0) { user = new User(); user.ID = int.Parse(dicData["U_ID"].ToString()); user.Name = dicData["U_NAME"].ToString(); user.Password = dicData["U_PWD"].ToString(); //user.Sex = int.Parse(dicData["U_SEX"].ToString()); user.Position = dicData["U_JOB"].ToString(); user.Remark = dicData["U_REMARK"].ToString(); user.LoginInfo = dicData["LOGININFO"].ToString(); //将用户信息和相应权限信息保存起来,在加载插件时用到 Mod.v_AppUser = user; Mod.v_SystemXml = GetPrivilegeXml(user, gisDb, out eError); return(true); } return(false); } catch (Exception ex) { eError = ex; return(false); } }
//测试链接信息是否可用 public static bool CanOpenConnect(string strType, string strServer, string strService, string strDatabase, string strUser, string strPassword, string strVersion) { SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); bool blnOpen = false; Exception Err; if (strType.ToUpper() == "SDE") { blnOpen = vgisDb.SetWorkspace(strServer, strService, strDatabase, strUser, strPassword, strVersion, out Err); } else if (strType.ToUpper() == "PDB") { blnOpen = vgisDb.SetWorkspace(strServer, SysCommon.enumWSType.PDB, out Err); } else if (strType.ToUpper() == "GDB") { blnOpen = vgisDb.SetWorkspace(strServer, SysCommon.enumWSType.GDB, out Err); } return(blnOpen); }
//静态构造函数 static LogTable() { if (m_gisDb == null) { user = (Plugin.ModuleCommon.AppUser == null) ? "" : Plugin.ModuleCommon.AppUser.Name; SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); SysCommon.Authorize.AuthorizeClass.GetConnectInfo(Mod.v_ConfigPath, out Mod.Server, out Mod.Instance, out Mod.Database, out Mod.User, out Mod.Password, out Mod.Version, out Mod.dbType); bool blnCanConnect = CanOpenConnect(vgisDb, Mod.dbType, Mod.Server, Mod.Instance, Mod.Database, Mod.User, Mod.Password, Mod.Version); if (blnCanConnect == false) { MessageBox.Show("数据库连接失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } m_gisDb = vgisDb; } if (m_sysTable == null) { SysGisTable sysTable = new SysGisTable(m_gisDb); m_sysTable = sysTable; } }
/// <summary> /// 权限文档合并 /// </summary> /// <param name="user"></param> /// <param name="gisDb"></param> /// <returns></returns> private static XmlDocument GetPrivilegeXml(User user, SysGisDB gisDb, out Exception exError) { exError = null; Role role; try { SysGisTable sysTable = new SysGisTable(gisDb); List <Dictionary <string, object> > lstDicData = sysTable.GetRows("ICE_USERGROUPRELATION", "U_ID=" + user.ID, out exError); List <int> ids = null; if (lstDicData != null && lstDicData.Count > 0) { ids = new List <int>(); foreach (Dictionary <string, object> dic in lstDicData) { foreach (string key in dic.Keys) { if (key.Equals("G_ID")) { ids.Add(int.Parse(dic[key].ToString())); } } } if (ids.Count > 0) { string strSql = ""; foreach (int id in ids) { if (string.IsNullOrEmpty(strSql)) { strSql = id.ToString(); } else { strSql += "," + id.ToString(); } } //获取当前用户的当前组id集 List <Dictionary <string, object> > lstDicDataRole = sysTable.GetRows("ICE_USERGROUPINFO", "G_ID IN (" + strSql + ")", out exError); Dictionary <int, Role> dic = new Dictionary <int, Role>(); if (lstDicDataRole != null) { for (int i = 0; i < lstDicDataRole.Count; i++) { role = new Role(); role.ID = int.Parse(lstDicDataRole[i]["G_ID"].ToString()); role.Name = lstDicDataRole[i]["G_NAME"].ToString(); role.Type = lstDicDataRole[i]["G_TYPE"].ToString(); role.Privilege = lstDicDataRole[i]["G_PURVIEW"] as XmlDocument; role.Remark = lstDicDataRole[i]["G_REMARK"].ToString(); dic.Add(int.Parse(lstDicDataRole[i]["G_ID"].ToString()), role); } if (dic.Count > 0) { XmlDocument allDoc = null; foreach (int key in dic.Keys) { //合并权限文档 MergeXml(ref allDoc, dic[key].Privilege); } return(allDoc); } } } } return(null); } catch { return(null); } }
/// <summary> /// 检查用户登陆 /// </summary> /// <param name="name"></param> /// <param name="password"></param> /// <param name="gisDb"></param> /// <returns></returns> public static bool CheckLogin(string name, string password, ref SysGisDB gisDb, enumWSType wsType, out Exception eError) { eError = null; User user; bool result = false; try { if (gisDb == null) { gisDb = new SysGisDB(); switch (wsType) { case enumWSType.SDE: result = gisDb.SetWorkspace(Mod.Server, Mod.Instance, Mod.Database, Mod.User, Mod.Password, Mod.Version, out eError); break; case enumWSType.PDB: case enumWSType.GDB: result = gisDb.SetWorkspace(Mod.Server, wsType, out eError); break; default: break; } if (!result) { return(false); } } SysGisTable sysTable = new SysGisTable(gisDb); Dictionary <string, object> dicData = sysTable.GetRow("user_info", "NAME='" + name.ToLower() + "'", out eError); if (dicData != null && dicData.Count > 0) { user = new User(); user.IDStr = dicData["USERID"].ToString(); user.Name = dicData["NAME"].ToString(); user.TrueName = dicData["TRUTHNAME"].ToString(); user.Password = dicData["UPWD"].ToString(); user.SexInt = int.Parse(dicData["USEX"].ToString()); user.Position = dicData["UPOSITION"].ToString(); user.Remark = dicData["UREMARK"].ToString(); string aa = SysCommon.Authorize.AuthorizeClass.ComputerSecurity(password.ToLower()); if (user.Password.Equals(SysCommon.Authorize.AuthorizeClass.ComputerSecurity(password.ToLower()))) { Mod.v_AppUser = user; //读取系统权限XML XmlDocument docXml = new XmlDocument(); if (!File.Exists(Mod.m_SysXmlPath)) { return(false); } docXml.Load(Mod.m_SysXmlPath); Mod.v_SystemXml = docXml; Mod.v_ListUserPrivilegeID = GetUserPrivilege(user, gisDb, out eError); Mod.v_ListUserdataPriID = GetUserDataPri(user, gisDb, out eError); return(true); } } return(false); } catch (Exception ex) { eError = ex; return(false); } }
/// <summary> /// 登陆控制 /// </summary> /// <returns></returns> public static bool CheckLogin() { //判断配置文件是否存在 bool blnCanConnect = false; bool blnCurCanConnect = false; if (File.Exists(Mod.v_ConfigPath)) { SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); SysCommon.Authorize.AuthorizeClass.GetConnectInfo(Mod.v_ConfigPath, out Mod.Server, out Mod.Instance, out Mod.Database, out Mod.User, out Mod.Password, out Mod.Version, out Mod.dbType); blnCanConnect = CanOpenConnect(vgisDb, Mod.dbType, Mod.Server, Mod.Instance, Mod.Database, Mod.User, Mod.Password, Mod.Version); Mod.TempWks = vgisDb.WorkSpace; //判断现实库的连接 //string strCurServer, strCurType, strCurInstance, strCurDatabase, strCurUser, strCurPassword, strCurVersion; //SysCommon.Authorize.AuthorizeClass.GetCurWks(vgisDb.WorkSpace, out Mod.CurServer, out Mod.CurInstance, out Mod.CurDatabase, out Mod.CurUser, out Mod.CurPassword, out Mod.CurVersion, out Mod.CurdbType); //blnCurCanConnect = CanOpenConnect(vgisDb, Mod.CurdbType, Mod.CurServer, Mod.CurInstance, Mod.CurDatabase, Mod.CurUser, Mod.CurPassword, Mod.CurVersion); //Mod.CurWks = vgisDb.WorkSpace; } //无法连接则调配置窗体 if ((!blnCanConnect)) { //不存在,调数据配置窗体,并保存配置文件 frmDBSet frmSet = new frmDBSet(); if (frmSet.ShowDialog() == System.Windows.Forms.DialogResult.OK) { blnCanConnect = true; } else { blnCanConnect = false; } } //if (!blnCurCanConnect) //{ // if (MessageBox.Show("用地库连接信息出现错误,请与管理员联系。是否操作继续?" + Environment.NewLine + "(如果你为管理员,请进入系统进行正式库连接信息调整)", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) // { // return false; // } //} //存在,调用登陆窗体 if (blnCanConnect) { frmLogin frmLogin = new frmLogin(Mod.dbType); if (frmLogin.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (frmLogin.LoginSuccess) { return(true); } else { return(false); } } else { return(false); } } else { return(false); } }
public override void OnClick() { // ********************************************* // *cyf // *modify // *读取系统维护库连接信息 // *20110602 #region 原有代码 ////执行添加数据库操作 //XmlDocument XmlDoc = new XmlDocument(); //string sConnect = string.Empty; //if (File.Exists(ModuleData.v_AppDBConectXml)) //{ // XmlDoc.Load(ModuleData.v_AppDBConectXml); // XmlElement ele = XmlDoc.SelectSingleNode(".//系统维护库连接信息") as XmlElement; // if (ele != null) // { // try // { // sConnect = ele.GetAttribute("连接字符串"); // } // catch // { // SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取系统维护库连接信息失败"); // return; // } // } // else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取系统维护库连接信息失败"); return; } //} //else //{ // SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:"+ModuleData.v_AppDBConectXml); // return; //} //frmAddNewDB AddNewDB = new frmAddNewDB(SysCommon.enumDBConType.ORACLE, SysCommon.enumDBType.ORACLE,sConnect,EnumUpdateType.New.ToString()); //AddNewDB.ShowDialog(); #endregion //判断配置文件是否存在 bool blnCanConnect = false; SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); if (File.Exists(ModuleData.v_ConfigPath)) { //获得系统维护库连接信息 SysCommon.Authorize.AuthorizeClass.GetConnectInfo(ModuleData.v_ConfigPath, out ModuleData.Server, out ModuleData.Instance, out ModuleData.Database, out ModuleData.User, out ModuleData.Password, out ModuleData.Version, out ModuleData.dbType); //连接系统维护库 blnCanConnect = CanOpenConnect(vgisDb, ModuleData.dbType, ModuleData.Server, ModuleData.Instance, ModuleData.Database, ModuleData.User, ModuleData.Password, ModuleData.Version); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:" + ModuleData.v_ConfigPath + "/n请重新配置"); return; } if (!blnCanConnect) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统能够维护库连接失败,请检查!"); return; } ModuleData.TempWks = vgisDb.WorkSpace; if (this.WriteLog) { Plugin.LogTable.Writelog(Caption);//xisheng 2011.07.09 增加日志 } frmAddNewDB AddNewDB = new frmAddNewDB(vgisDb.WorkSpace, EnumUpdateType.New.ToString()); AddNewDB.ShowDialog(); // *end // *********************************************************** }
public override void OnClick() { //判断配置文件是否存在 bool blnCanConnect = false; SysGisTable DeleteTable = new SysGisTable(ModuleData.TempWks); SysCommon.Gis.SysGisDB vgisDb = new SysGisDB(); Exception ex = null; if (File.Exists(ModuleData.v_ConfigPath)) { //获得系统维护库连接信息 SysCommon.Authorize.AuthorizeClass.GetConnectInfo(ModuleData.v_ConfigPath, out ModuleData.Server, out ModuleData.Instance, out ModuleData.Database, out ModuleData.User, out ModuleData.Password, out ModuleData.Version, out ModuleData.dbType); //连接系统维护库 blnCanConnect = CanOpenConnect(vgisDb, ModuleData.dbType, ModuleData.Server, ModuleData.Instance, ModuleData.Database, ModuleData.User, ModuleData.Password, ModuleData.Version); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:" + ModuleData.v_ConfigPath + "/n请重新配置"); return; } if (!blnCanConnect) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统能够维护库连接失败,请检查!"); return; } ModuleData.TempWks = vgisDb.WorkSpace; if (this.WriteLog) { Plugin.LogTable.Writelog(Caption);//xisheng 2011.07.09 增加日志 } //判断是否选择要删除的数据库 ygc 2012-9-3 if (m_Hook.ProjectTree.SelectedNode == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "请选择要删除的数据库!"); return; } //判断选择的数据库类型下是否存在数据库连接 ygc 2012-9-3 string IdValues = ""; try { IdValues = DeleteTable.GetFieldValue("DATABASETYPEMD", "ID", "databasetype='" + m_Hook.ProjectTree.SelectedNode.Text + "'", out ex).ToString(); } catch { MessageBox.Show("请选择正确的数据库!", "错误"); return; } //string Id = DeleteTable.GetFieldValue("DATABASEMD", "ID", "databasetypeid='" + IdValues + "'",out ex).ToString (); if (IdValues == "" && IdValues == null) { MessageBox.Show("", ""); return; } if (DeleteTable.ExistData("DATABASEMD", "databasetypeid='" + IdValues + "'")) { DialogResult result = MessageBox.Show(" 要删除的数据库类型下存在数据库连接,是否一起删除这些连接?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); List <object> listOid = DeleteTable.GetFieldValues("DATABASEMD", "ID", "databasetypeid='" + IdValues + "'", out ex); if (result == DialogResult.OK) { DialogResult result1 = MessageBox.Show("确定删除数据库类型" + m_Hook.ProjectTree.SelectedNode.Text + "?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result1 == DialogResult.OK) { try { bool flag1 = DeleteTable.DeleteRows("DATABASEMD", "databasetypeid='" + IdValues + "'", out ex); //卸载数据库连接 for (int i = 0; i < listOid.Count; i++) { ModuleData.v_DataBaseProPanel.RemoveDataBasePro(m_Hook.ProjectTree.SelectedNode.Text, Convert.ToInt64(listOid[i].ToString())); } bool flag2 = DeleteTable.DeleteRows("DATABASETYPEMD", "databasetype='" + m_Hook.ProjectTree.SelectedNode.Text + "'", out ex); if (flag1 && flag2) { (ModuleData.v_AppDBIntegra.MainUserControl as UserControlDBIntegra).InitProjectTree(); MessageBox.Show("成功删除数据库类型!", "提示"); } } catch { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", ex.ToString()); } } else { return; } } else { return; } } else { DialogResult result1 = MessageBox.Show("确定删除数据库类型" + m_Hook.ProjectTree.SelectedNode.Text + "?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result1 == DialogResult.OK) { try { bool flag = DeleteTable.DeleteRows("DATABASETYPEMD", "databasetype='" + m_Hook.ProjectTree.SelectedNode.Text + "'", out ex); if (flag) { (ModuleData.v_AppDBIntegra.MainUserControl as UserControlDBIntegra).InitProjectTree(); MessageBox.Show("成功删除数据库类型!", "提示"); } } catch { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", ex.ToString()); } } else { return; } } Plugin.LogTable.Writelog(" 删除数据库类型【" + m_Hook.ProjectTree.SelectedNode.Text + "】成功!"); }