/// <summary> /// 查找参数值表格 /// </summary> /// <param name="pFeaDataset"></param> /// <param name="pSysTable"></param> /// <param name="checkParaID">参数ID,唯一标识检查类型</param> /// <param name="eError"></param> /// <returns></returns> private DataTable GetParaValueTable(SysCommon.DataBase.SysTable pSysTable, int checkParaID, out Exception eError) { eError = null; DataTable mTable = null; string selStr = "select * from GeoCheckPara where 参数ID=" + checkParaID; DataTable pTable = pSysTable.GetSQLTable(selStr, out eError); if (eError != null) { eError = new Exception("查询表格错误,表名为:GeoCheckPara,参数ID为:" + checkParaID); return(null); } if (pTable == null || pTable.Rows.Count == 0) { eError = new Exception("找不到记录,参数ID为:" + checkParaID); return(null); } string ParaType = pTable.Rows[0]["参数类型"].ToString().Trim(); //参数类型 if (ParaType == "GeoCheckParaValue") { int ParaValue = int.Parse(pTable.Rows[0]["参数值"].ToString().Trim()); //参数值,用来标识检查类型 string str = "select * from GeoCheckParaValue where 检查类型=" + ParaValue; mTable = pSysTable.GetSQLTable(str, out eError); if (eError != null) { eError = new Exception("查询表格错误,表名为:GeoCheckParaValue,检查类型为:" + ParaValue); return(null); } } return(mTable); }
/// <summary> /// 代码检查---根据条件在模板里面进行检查 /// </summary> /// <param name="sqlStr">查询条件</param> /// <param name="pGISID">分类代码</param> /// <returns></returns> private int CodeStandardizeCheck(string sqlStr) { Exception Error = null; SysCommon.DataBase.SysTable pSysTable = new SysCommon.DataBase.SysTable(); pSysTable.SetDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + m_TempletePath, SysCommon.enumDBConType.OLEDB, SysCommon.enumDBType.ACCESS, out Error); if (Error != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "连接库体出错!路径为:" + m_TempletePath); return(-1); } DataTable dt = pSysTable.GetSQLTable(sqlStr, out Error); if (Error != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "打开表格出错!"); pSysTable.CloseDbConnection(); return(-1); } if (dt.Rows.Count == 0) { //在模板里面没有找到该分类代码 pSysTable.CloseDbConnection(); return(0); } else { pSysTable.CloseDbConnection(); return(1); } }
/// <summary> /// 获得分类代码字段名 /// </summary> /// <param name="outErr"></param> /// <returns></returns> private string GetClassifyName1(out Exception outErr) { outErr = null; Exception eError = null; SysCommon.DataBase.SysTable pSysTable = new SysCommon.DataBase.SysTable(); pSysTable.SetDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + TopologyCheckClass.GeoDataCheckParaPath, SysCommon.enumDBConType.OLEDB, SysCommon.enumDBType.ACCESS, out eError); if (eError != null) { outErr = new Exception("连接库体出错!路径为:" + TopologyCheckClass.GeoDataCheckParaPath); pSysTable.CloseDbConnection(); return(""); } string str = "select * from GeoCheckPara where 参数ID=1";//分类代码信息 DataTable tempDt = pSysTable.GetSQLTable(str, out eError); if (eError != null || tempDt.Rows.Count == 0) { outErr = new Exception("获取分类代码名称信息出错!"); pSysTable.CloseDbConnection(); return(""); } pSysTable.CloseDbConnection(); string pClassifyName = tempDt.Rows[0]["参数值"].ToString();//分类代码字段名 return(pClassifyName); }
/// <summary> /// 代码检查---根据条件在模板里面进行检查 /// </summary> /// <param name="sqlStr">查询条件</param> /// <param name="pGISID">分类代码</param> /// <returns></returns> private int CodeStandardizeCheck(string sqlStr) { Exception Error = null; SysCommon.DataBase.SysTable pSysTable = new SysCommon.DataBase.SysTable(); pSysTable.SetDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + TopologyCheckClass.GeoDataCheckParaPath, SysCommon.enumDBConType.OLEDB, SysCommon.enumDBType.ACCESS, out Error); if (Error != null) { //SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "连接库体出错!路径为:" + TopologyCheckClass.GeoDataCheckParaPath); return(-1); } //pSysTable.DbConn = (Hook.DataCheckParaSet as IArcgisDataCheckParaSet).DbConnPara; //pSysTable.DBType = SysCommon.enumDBType.ACCESS; //pSysTable.DBConType = SysCommon.enumDBConType.OLEDB; DataTable dt = pSysTable.GetSQLTable(sqlStr, out Error); if (Error != null) { //SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "打开表格出错!"); pSysTable.CloseDbConnection(); return(-1); } if (dt.Rows.Count == 0) { //在模板里面没有找到该分类代码 pSysTable.CloseDbConnection(); return(0); } else { pSysTable.CloseDbConnection(); return(1); } }
/// <summary> /// 初始化列表框 /// </summary> private void InitialForm() { Exception outError = null; //异常 SysCommon.DataBase.SysTable pSysDB = null; //连接数据库类 //连接数据库 ModDBOperate.ConnectDB(out pSysDB, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", outError.Message); return; } string str = ""; //查询字符串 if (m_BeRole) { //查询角色基本信息表 // str = "select * from rolebaseinfo"; //定义查询字符串 3为系统管理员 str = "select * from rolebaseinfo r join (select roletypeid from roletypeinfo ) t on (r.roletypeid=t.roletypeid) where t.roletypeid<> 3"; } else { //查询用户基本信息表 // str = "select * from userbaseinfo";//定义查询字符串 3为系统管理员 str = "select * from userbaseinfo u join userrolerelationinfo r on (u.userid=r.userid) join (select roleid,roletypeid from rolebaseinfo) b on (r.roleid=b.roleid) where b.roletypeid<>3"; } //查询角色信息表 DataTable pTable = pSysDB.GetSQLTable(str, out outError); if (outError != null || pTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色信息表失败"); pSysDB.CloseDbConnection(); m_beSuccedd = false; return; } for (int i = 0; i < pTable.Rows.Count; i++) { int pRoleID = Convert.ToInt32(pTable.Rows[i][0].ToString().Trim()); //角色ID string pRoleName = pTable.Rows[i][1].ToString().Trim(); //角色名称 ListViewItem pItem = new ListViewItem(); pItem.Text = pRoleName; pItem.Tag = pRoleID; pItem.Checked = false; if (!LstViewRole.Items.Contains(pItem)) { LstViewRole.Items.Add(pItem); } } }
/// <summary> /// 根据数据ID获得数据文件名 /// </summary> /// <param name="dataTypeID"></param> /// <param name="dataID"></param> /// <param name="sysTable"></param> /// <param name="eError"></param> /// <returns></returns> private string GetDataName(int dataTypeID, long dataID, SysCommon.DataBase.SysTable sysTable, out Exception eError) { eError = null; string dataName = ""; string str = ""; try { switch (dataTypeID) { case 0: //标准图幅 str = "select * from StandardMapMDTable where ID=" + dataID; break; case 1: //非标准图幅 str = "select * from NonstandardMapMDTable where ID=" + dataID; break;; case 2: //控制点测量数据 str = "select * from ControlPointMDTable where ID=" + dataID; break; } DataTable dt = sysTable.GetSQLTable(str, out eError); if (eError != null) { return(""); } if (dt.Rows.Count == 0) { return(""); } dataName = dt.Rows[0]["数据文件名"].ToString(); return(dataName); } catch (Exception ex) { eError = ex; return(""); } }
/// <summary> /// 根据参数ID获得参数值 /// </summary> /// <param name="pSysTable"></param> /// <param name="checkParaID"></param> /// <param name="eError"></param> /// <returns></returns> private string GetParaValue(SysCommon.DataBase.SysTable pSysTable, int checkParaID, out Exception eError) { eError = null; string paraValue = ""; string selStr = "select * from GeoCheckPara where 参数ID=" + checkParaID; DataTable pTable = pSysTable.GetSQLTable(selStr, out eError); if (eError != null) { eError = new Exception("查询表格错误,表名为:GeoCheckPara,参数ID为:" + checkParaID); return(""); } if (pTable == null || pTable.Rows.Count == 0) { eError = new Exception("找不到记录,参数ID为:" + checkParaID); return(""); } paraValue = pTable.Rows[0]["参数值"].ToString().Trim(); //参数类型 return(paraValue); }
private void cmbRoleName_SelectedIndexChanged(object sender, EventArgs e) { //根据角色名称初始化角色类型 txtRole.Text = cmbRoleName.Text.Trim(); SysCommon.DataBase.SysTable pSysDB = null; Exception outError = null; //连接数据库 ModDBOperate.ConnectDB(out pSysDB, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", outError.Message); return; } string selStr = ""; //初始化角色类型列表的字符串 selStr = "select * from roletypeinfo inner join rolebaseinfo on rolebaseinfo.ROLETYPEID=roletypeinfo.ROLETYPEID and rolebaseinfo.ROLEID=" + Convert.ToInt32((cmbRoleName.SelectedItem as ComboBoxItem).Value.ToString()); //查询角色类型表 DataTable pTable = pSysDB.GetSQLTable(selStr, out outError); if (outError != null || pTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色类型表失败,原因:" + outError.Message); pSysDB.CloseDbConnection(); return; } if (pTable.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色类型表失败,原因:" + outError.Message); pSysDB.CloseDbConnection(); return; } //遍历表格记录,将角色类型信息加载到ComboBox中 //for (int j = 0; j < pTable.Rows.Count; j++) //{ string roleTypeID = ""; //角色类型ID string roleTypeName = ""; //角色类型 roleTypeID = pTable.Rows[0]["ROLETYPEID"].ToString().Trim(); roleTypeName = pTable.Rows[0]["ROLEREMARK"].ToString().Trim(); //ComboBoxItem pItem = new ComboBoxItem(roleTypeName, roleTypeID); //cmbGroupType.SelectedItem = pItem; cmbGroupType.Text = roleTypeName; //cmbGroupType.Items.Add(pItem); //} //if (cmbGroupType.Items.Count > 0) //{ // cmbGroupType.SelectedIndex = 0; //} //初始化备注列表框 selStr = "select * from rolebaseinfo where ROLEID=" + Convert.ToInt32((cmbRoleName.SelectedItem as ComboBoxItem).Value.ToString().Trim()); pTable = pSysDB.GetSQLTable(selStr, out outError); if (outError != null || pTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色类型表失败,原因:" + outError.Message); pSysDB.CloseDbConnection(); return; } if (pTable.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "该用户不存在!"); pSysDB.CloseDbConnection(); return; } txtComment.Text = pTable.Rows[0][3].ToString().Trim(); pSysDB.CloseDbConnection(); }
/// <summary> /// chenyafei 20110311 add content:初始化界面 /// </summary> private void InitilComboBox() { Exception outError = null; #region 初始化性别列表框 ComboBoxItem item = new ComboBoxItem("男", 0); this.comboSex.Items.Add(item); item = new ComboBoxItem("女", 1); this.comboSex.Items.Add(item); this.comboSex.SelectedIndex = 0; #endregion #region 初始化角色列表框 //连接系统维护库 SysCommon.DataBase.SysTable pSysDB = null; ModDBOperate.ConnectDB(out pSysDB, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", outError.Message); m_BeSuccedd = false; return; } //查询角色基本信息表 string selStr = string.Empty; if (this._user == null) { selStr = "select * from rolebaseinfo WHERE rolebaseinfo.ROLETYPEID<>3"; //查询角色字符串,3为系统管理员角色,系统管理员角色不能添加 } else { //cyf 20110602 delete //if (this._user.RoleTypeID==EnumRoleType.系统管理员.GetHashCode()) // selStr = "select * from rolebaseinfo"; //else // selStr = "select * from rolebaseinfo WHERE rolebaseinfo.ROLETYPEID<>3"; //end } DataTable pTable = pSysDB.GetSQLTable(selStr, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色基本信息表失败,原因:" + outError.Message); m_BeSuccedd = false; pSysDB.CloseDbConnection(); return; } pSysDB.CloseDbConnection(); //遍历表格记录,将角色信息加载到ComboBox中 for (int i = 0; i < pTable.Rows.Count; i++) { string roleID = ""; //角色ID string roleName = ""; //角色名称 roleID = pTable.Rows[i][0].ToString().Trim(); roleName = pTable.Rows[i][1].ToString().Trim(); ComboBoxItem pItem = new ComboBoxItem(roleName, roleID); cmbRole.Items.Add(pItem); } if (cmbRole.Items.Count > 0) { cmbRole.SelectedIndex = 0; } #endregion }
/// <summary> /// 查询表格 /// </summary> /// <param name="pSysDB"></param> /// <param name="pRowsArr"></param> /// <param name="resaultTable"></param> /// <param name="eError"></param> private void showResault(SysCommon.DataBase.SysTable pSysDB, DataTable pTable, DataTable resaultTable, out Exception eError) { eError = null; bool b = false; for (int i = 0; i < pTable.Rows.Count; i++) { string dataID = ""; string projectName = ""; string productName = ""; string DataName = ""; string RangeNo = ""; string pSacle = ""; string pPath = ""; string pTime = ""; string productType = ""; string projectID = ""; string productID = ""; dataID = pTable.Rows[i]["ID"].ToString().Trim(); for (int j = 0; j < m_Hook.DataInfoGrid.Rows.Count; j++) { if (m_Hook.DataInfoGrid.Rows[j].Cells[0].FormattedValue.ToString().Trim() == dataID) { b = true; break; } } if (b) { continue; } DataName = pTable.Rows[i]["数据文件名"].ToString().Trim(); productID = pTable.Rows[i]["产品ID"].ToString().Trim(); pPath = pTable.Rows[i]["存储位置"].ToString().Trim(); pTime = pTable.Rows[i]["生产日期"].ToString().Trim(); if (cmbType.Text == "标准图幅") { RangeNo = pTable.Rows[i]["图幅号"].ToString().Trim(); productType = "标准图幅数据"; } else if (cmbType.Text == "非标准图幅") { RangeNo = pTable.Rows[i]["块图号"].ToString().Trim(); productType = "非标准图幅数据"; } else if (cmbType.Text == "控制点数据") { productType = "控制点数据"; } //查询产品信息表 string str = "select * from ProductMDTable where ID=" + long.Parse(productID); DataTable productTable = pSysDB.GetSQLTable(str, out eError); if (eError != null) { eError = new Exception("查询产品信息表出错!"); return; } if (productTable.Rows.Count == 0) { eError = new Exception("查询产品信息表出错!"); return; } productName = productTable.Rows[0]["产品名称"].ToString().Trim(); projectID = productTable.Rows[0]["项目ID"].ToString().Trim(); pSacle = productTable.Rows[0]["比例尺分母"].ToString().Trim(); //查询项目信息表 str = "select * from ProjectMDTable where ID=" + long.Parse(projectID); DataTable projectTable = pSysDB.GetSQLTable(str, out eError); if (eError != null) { eError = new Exception("查询项目信息表出错!"); return; } if (productTable.Rows.Count == 0) { eError = new Exception("查询项目信息表出错!"); return; } projectName = projectTable.Rows[0]["项目名称"].ToString().Trim(); //添加行 DataRow newRow = resaultTable.NewRow(); newRow[0] = dataID; newRow[1] = projectName; newRow[2] = productName; newRow[3] = DataName; newRow[4] = RangeNo; newRow[5] = pSacle; newRow[6] = pPath; newRow[7] = pTime; newRow[8] = productType; newRow[9] = projectID; newRow[10] = productID; resaultTable.Rows.Add(newRow); //刷新表格 m_Hook.DataInfoGrid.Update(); m_Hook.DataInfoGrid.Refresh(); } }
public override void OnClick() { Exception eError = null; SysCommon.DataBase.SysTable pSysDB = new SysCommon.DataBase.SysTable(); try { //设置查询条件后,执行查询操作 ///连接数据库 /// //string ipStr = v_DBNode.Text.Trim();//ip //if (ipStr == "") return; //string ipStr = "//" + ipStr + "//MetaDataBase//MetaDataBase.mdb";//元数据库路径 XmlElement dbElem = v_DBNode.Tag as XmlElement; if (dbElem == null) { return; } string ipStr = dbElem.GetAttribute("MetaDBConn"); //string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ipStr + ";Persist Security Info=True";//元数据连接字符串 //pSysDB.SetDbConnection(ConnStr, SysCommon.enumDBConType.OLEDB, SysCommon.enumDBType.ACCESS, out eError); pSysDB.SetDbConnection(ipStr, SysCommon.enumDBConType.ORACLE, SysCommon.enumDBType.ORACLE, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "连接元数据库失败!"); pSysDB.CloseDbConnection(); return; } if (v_CondiStr == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "请设置查询条件!"); pSysDB.CloseDbConnection(); return; } DataTable resultDT = pSysDB.GetSQLTable(v_CondiStr, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询成果索引表出错!"); pSysDB.CloseDbConnection(); return; } ///将查询到的结果在界面上表现出来(查询结果包括数据信息和元信息) #region 将结果保存在DataTable中 DataTable tempDT = ModDBOperator.CreateDataInfoTable(); for (int i = 0; i < resultDT.Rows.Count; i++) { string dataID = ""; //数据ID string DataName = ""; //数据文件名 string projectID = ""; //项目ID string productID = ""; //产品ID string projectName = ""; //项目名称 string productName = ""; //产品名称 string scale = ""; //比例尺 string rangNO = ""; //范围号 string dataFormatID = ""; //数据格式ID string dataTypeID = ""; //数据类型ID string dataFormat = ""; //数据格式名 string dataType = ""; //数据类型名 //string saveTime = ""; //存储时间 string savePath = ""; //存储路径 string fromDate = ""; //生产日期 dataID = resultDT.Rows[i]["数据ID"].ToString().Trim(); projectID = resultDT.Rows[i]["项目ID"].ToString().Trim(); productID = resultDT.Rows[i]["产品ID"].ToString().Trim(); scale = resultDT.Rows[i]["比例尺分母"].ToString().Trim(); rangNO = resultDT.Rows[i]["范围号"].ToString().Trim(); dataFormatID = resultDT.Rows[i]["数据格式编号"].ToString().Trim(); dataTypeID = resultDT.Rows[i]["数据类型编号"].ToString().Trim(); //saveTime = resultDT.Rows[i]["存储时间"].ToString().Trim(); savePath = resultDT.Rows[i]["存储位置"].ToString().Trim(); fromDate = resultDT.Rows[i]["生产日期"].ToString().Trim(); projectName = ModDBOperator.GetProjectName(long.Parse(projectID), pSysDB, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取项目名称出错!"); pSysDB.CloseDbConnection(); return; } productName = ModDBOperator.GetProductName(long.Parse(productID), pSysDB, out eError); if (eError != null || productName == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取产品名称出错!"); pSysDB.CloseDbConnection(); return; } if (dataTypeID == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "为填写数据类型,请检查!"); pSysDB.CloseDbConnection(); return; } DataName = GetDataName(int.Parse(dataTypeID), long.Parse(dataID), pSysDB, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据文件名称出错!"); pSysDB.CloseDbConnection(); return; } switch (int.Parse(dataFormatID)) { case 0: dataFormat = "DLG"; break; case 1: dataFormat = "DEM"; break; case 2: dataFormat = "DOM"; break; case 3: dataFormat = "DRG"; break; } switch (int.Parse(dataTypeID)) { case 0: dataType = "标准图幅数据"; break; case 1: dataType = "非标准图幅数据"; break; case 2: dataType = "控制点数据"; break; } DataRow newRow = tempDT.NewRow(); newRow["ID"] = dataID; newRow["项目名称"] = projectName; newRow["产品名称"] = productName; newRow["数据文件名"] = DataName; newRow["数据类型"] = dataType; newRow["比例尺"] = scale; newRow["范围号"] = rangNO; newRow["存储位置"] = savePath; //newRow["存储时间"] = saveTime; newRow["生产日期"] = fromDate; newRow["项目ID"] = projectID.ToString(); newRow["产品ID"] = productID.ToString(); tempDT.Rows.Add(newRow); } #endregion #region 将DataTable与DataGrid进行绑定 //清空表格 if (m_Hook.DataInfoGrid.DataSource != null) { m_Hook.DataInfoGrid.DataSource = null; } //绑定 m_Hook.DataInfoGrid.DataSource = tempDT; m_Hook.DataInfoGrid.ReadOnly = true; m_Hook.DataInfoGrid.Visible = true; m_Hook.DataInfoGrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect; for (int j = 0; j < m_Hook.DataInfoGrid.Columns.Count; j++) { //m_Hook.DataInfoGrid.Columns[j].Width = (m_Hook.DataInfoGrid.Width - 20) / m_Hook.DataInfoGrid.Columns.Count; m_Hook.DataInfoGrid.Columns[j].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; } m_Hook.DataInfoGrid.RowHeadersWidth = 20; m_Hook.DataInfoGrid.Refresh(); pSysDB.CloseDbConnection(); #endregion } catch (Exception eR) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未知错误:" + eR.Message); pSysDB.CloseDbConnection(); return; } }
/// <summary> /// 初始化角色类型列表框 /// </summary> private void intialForm() { SysCommon.DataBase.SysTable pSysDB = null; Exception outError = null; //连接数据库 ModDBOperate.ConnectDB(out pSysDB, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", outError.Message); m_beSucced = false; return; } #region 初始化角色类型列表 string selStr = ""; //初始化角色类型列表的字符串 selStr = "select * from roletypeinfo WHERE ROLETYPEID<> 3"; //查询角色类型表,3为系统管理员 DataTable pTable = pSysDB.GetSQLTable(selStr, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色基本信息表失败,原因:" + outError.Message); pSysDB.CloseDbConnection(); m_beSucced = false; return; } //遍历表格记录,将角色类型信息加载到ComboBox中 for (int j = 0; j < pTable.Rows.Count; j++) { string roleID = ""; //角色ID string roleName = ""; //角色类型名称 roleID = pTable.Rows[j][0].ToString().Trim(); roleName = pTable.Rows[j][2].ToString().Trim(); ComboBoxItem pItem = new ComboBoxItem(roleName, roleID); cmbGroupType.Items.Add(pItem); } if (cmbGroupType.Items.Count > 0) { cmbGroupType.SelectedIndex = 0; } #endregion if (m_BeUpdate) { #region 修改,初始化角色名列表框 string str = "select * from rolebaseinfo where roletypeid<>3"; //查询角色类型表 3为系统管理员,不能修改 DataTable RoleTable = pSysDB.GetSQLTable(str, out outError); if (outError != null || RoleTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色基本信息表失败!"); pSysDB.CloseDbConnection(); m_beSucced = false; return; } if (RoleTable.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "还未添加过角色,请检查"); pSysDB.CloseDbConnection(); m_beSucced = false; return; } for (int i = 0; i < RoleTable.Rows.Count; i++) { int pRoleID = -1; //角色ID string pRoleName = ""; //角色名称 int pRoleTypeID = -1; //角色类型ID pRoleID = Convert.ToInt32(RoleTable.Rows[i][0].ToString().Trim()); pRoleName = RoleTable.Rows[i][1].ToString().Trim(); pRoleTypeID = Convert.ToInt32(RoleTable.Rows[i][2].ToString().Trim()); ComboBoxItem pItem = new ComboBoxItem(pRoleName, pRoleID); cmbRoleName.Items.Add(pItem); } if (cmbRoleName.Items.Count > 0) { cmbRoleName.SelectedIndex = 0; } #endregion } //else //{ //} pSysDB.CloseDbConnection(); }
private void btnSearch_Click(object sender, EventArgs e) { this.Hide(); Exception eError = null; string fieldVale = txtValue.Text.ToString(); //字段值 if (fieldVale == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "请填写关键字!"); return; } string strMatch = cmbMatch.Text.Trim(); //匹配类型 #region 申明表格并进行绑定 DataTable resalutDT = ModDBOperator.CreateDataInfoTable(); //清空表格 if (m_Hook.DataInfoGrid.DataSource != null) { m_Hook.DataInfoGrid.DataSource = null; } //绑定 m_Hook.DataInfoGrid.DataSource = resalutDT; m_Hook.DataInfoGrid.ReadOnly = true; m_Hook.DataInfoGrid.Visible = true; m_Hook.DataInfoGrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect; for (int j = 0; j < m_Hook.DataInfoGrid.Columns.Count; j++) { //m_Hook.DataInfoGrid.Columns[j].Width = (m_Hook.DataInfoGrid.Width - 20) / m_Hook.DataInfoGrid.Columns.Count; m_Hook.DataInfoGrid.Columns[j].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; } m_Hook.DataInfoGrid.RowHeadersWidth = 20; #endregion #region 连接数据库 if (ConnStr == "") { return; } SysCommon.DataBase.SysTable pSysDB = new SysCommon.DataBase.SysTable(); pSysDB.SetDbConnection(ConnStr, SysCommon.enumDBConType.ORACLE, SysCommon.enumDBType.ORACLE, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "连接元数据库失败!"); pSysDB.CloseDbConnection(); return; } #endregion #region 首先查询成果索引表,获得符合条件的数据ID string dataIDStandarStr = ""; //标准图幅过滤条件 string dataIDNonStandarStr = ""; //非标准图幅过滤条件 string dataIDControlStr = ""; //控制点过滤条件 string wherestr = GetWhereStr(); //过滤条件 string str2 = ""; if (wherestr != "") { str2 = "select * from ProductIndexTable where " + wherestr; //查询成果索引表 DataTable tempDt = pSysDB.GetSQLTable(str2, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "查询成果索引表失败!"); pSysDB.CloseDbConnection(); return; } for (int i = 0; i < tempDt.Rows.Count; i++) { int dataType = Convert.ToInt32(tempDt.Rows[i]["数据类型编号"].ToString()); long pDataId = Convert.ToInt64(tempDt.Rows[i]["数据ID"].ToString()); if (dataType == 0) { //标准图幅 dataIDStandarStr += pDataId + ","; } else if (dataType == 1) { //非标准图幅 dataIDNonStandarStr += pDataId + ","; } else if (dataType == 2) { //控制点数据 dataIDControlStr += pDataId + ","; } } if (dataIDStandarStr != "") { dataIDStandarStr = dataIDStandarStr.Substring(0, dataIDStandarStr.Length - 1); } if (dataIDNonStandarStr != "") { dataIDNonStandarStr = dataIDNonStandarStr.Substring(0, dataIDNonStandarStr.Length - 1); } if (dataIDControlStr != "") { dataIDControlStr = dataIDControlStr.Substring(0, dataIDControlStr.Length - 1); } } #endregion //再次进行过滤查询表格 string pTableName = ""; string restrainStr = ""; if (cmbType.Text == "标准图幅") { pTableName = "StandardMapMDTable"; if (dataIDStandarStr != "") { restrainStr = dataIDStandarStr; } } else if (cmbType.Text == "非标准图幅") { pTableName = "NonstandardMapMDTable"; if (dataIDNonStandarStr != "") { restrainStr = dataIDNonStandarStr; } } else if (cmbType.Text == "控制点数据") { pTableName = "ControlPointMDTable"; if (dataIDControlStr != "") { restrainStr = dataIDControlStr; } } //DataTable mTable = pSysDB.GetTable(pTableName, out eError); //if (eError != null) //{ // SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "获取源数据信息表失败!"); // return; //} try { if (cmbField.Text == "所有字段") { if (m_FieldDic == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "没有可用的字段!"); pSysDB.CloseDbConnection(); return; } foreach (KeyValuePair <string, Type> pField in m_FieldDic) { string fName = pField.Key.Trim(); Type fType = pField.Value; string pSQL = GetSQL(fName, fieldVale, fType, strMatch, out eError); if (eError != null) { pSysDB.CloseDbConnection(); return; } string str1 = ""; if (m_Hook.ProjectTree.SelectedNode.DataKey.ToString() == EnumTreeNodeType.DATABASE.ToString()) { //如果是数据库节点没有任何限制条件 str1 = "select * from " + pTableName + " where " + pSQL; } else { //如果是其他的节点则肯定 有限制条件 if (restrainStr != "") { //查询到数据 str1 = "select * from " + pTableName + " where ID in (" + restrainStr + ") and " + pSQL; } else { //查不到数据 return; } } //str1 = "select * from " + pTableName + " where ID in (" + restrainStr + ") and 数据文件名 like '%3%'"; DataTable pTable = pSysDB.GetSQLTable(str1, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "获取源数据信息表失败!"); return; } //DataRow[] pRowArr = mTable.Select(pSQL); showResault(pSysDB, pTable, resalutDT, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", eError.Message); pSysDB.CloseDbConnection(); return; } } } else { string fieldName = cmbField.Text.Trim(); Type fieldType = m_FieldDic[fieldName]; string selSQL = GetSQL(fieldName, fieldVale, fieldType, strMatch, out eError); if (eError != null) { pSysDB.CloseDbConnection(); return; } string str1 = ""; if (m_Hook.ProjectTree.SelectedNode.DataKey.ToString() == EnumTreeNodeType.DATABASE.ToString()) { //如果是数据库节点没有任何限制条件 str1 = "select * from " + pTableName + " where " + selSQL; } else { //如果是其他的节点则肯定 有限制条件 if (restrainStr != "") { //查询到数据 str1 = "select * from " + pTableName + " where " + selSQL + " and ID in (" + restrainStr + ")"; } else { //查不到数据 m_Hook.DataInfoGrid.Update(); m_Hook.DataInfoGrid.Refresh(); return; } } DataTable pTable = pSysDB.GetSQLTable(str1, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "获取源数据信息表失败!"); return; } //DataRow[] pRowsArr = mTable.Select(selSQL); showResault(pSysDB, pTable, resalutDT, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", eError.Message); pSysDB.CloseDbConnection(); return; } } } catch (Exception ex) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", ex.Message); } pSysDB.CloseDbConnection(); this.DialogResult = DialogResult.OK; this.Close(); }
public override void OnClick() { Exception eError = null; DevComponents.AdvTree.Node SelNode = m_Hook.ProjectTree.SelectedNode; long dataID = long.Parse(SelNode.Tag.ToString()); //数据ID //获得项目节点 DevComponents.AdvTree.Node proNode = SelNode; while (proNode.DataKey.ToString() != EnumTreeNodeType.PROJECT.ToString()) { proNode = proNode.Parent; } long projectID = long.Parse(proNode.Tag.ToString()); //项目ID //获得根节点,数据库节点 DevComponents.AdvTree.Node mDBNode = SelNode; while (mDBNode.Parent != null) { mDBNode = mDBNode.Parent; } //若不是数据库节点,就返回 if (mDBNode == null) { return; } if (mDBNode.DataKey == null) { return; } if (mDBNode.DataKey.ToString() == "") { return; } if (mDBNode.DataKey.ToString() != EnumTreeNodeType.DATABASE.ToString()) { return; } if (mDBNode.Name == "文件连接") { //进行定位操作 //连接数据库 XmlElement dbElem = mDBNode.Tag as XmlElement; if (dbElem == null) { return; } string ipStr = dbElem.GetAttribute("MetaDBConn"); // string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ipStr + ";Persist Security Info=True";//元数据连接字符串 string ConnStr = ipStr; //设置元数据库连接 SysCommon.DataBase.SysTable pSysDB = new SysCommon.DataBase.SysTable(); pSysDB.SetDbConnection(ConnStr, SysCommon.enumDBConType.ORACLE, SysCommon.enumDBType.ORACLE, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "连接元数据库失败!连接地址为:" + ipStr); return; } string str = "select * from ProjectMDTable where ID=" + projectID; DataTable dt = pSysDB.GetSQLTable(str, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "查找项目元信息表出错!"); pSysDB.CloseDbConnection(); return; } if (dt.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "找不到ID为:" + projectID + "的项目元信息!"); pSysDB.CloseDbConnection(); return; } string RangeDBPath = dt.Rows[0]["图幅结合表"].ToString().Trim(); //图幅结合表 //查找数据对应的图幅的比例尺和图幅号 string str1 = ""; string mapNO = ""; //图幅号 long mapSale = 0; //图幅比例尺 string feaClsName = ""; //范围图层名 if (m_DataTypeID == 0) { //标准图幅 str1 = "select 图幅号,图幅比例尺 from StandardMapMDTable where ID=" + dataID; feaClsName = "MapFrame_"; } else if (m_DataTypeID == 1) { //非标准图幅 str1 = "select 块图号,块图比例尺 from NonstandardMapMDTable where ID=" + dataID; feaClsName = "Range_"; } DataTable tempDT = pSysDB.GetSQLTable(str1, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "查询数据表格出错!"); pSysDB.CloseDbConnection(); return; } if (tempDT.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "找不到数据ID为:" + dataID + "的数据元信息!"); pSysDB.CloseDbConnection(); return; } mapNO = tempDT.Rows[0][0].ToString().Trim(); if (tempDT.Rows[0][1].ToString().Trim() != "") { mapSale = long.Parse(tempDT.Rows[0][1].ToString().Trim()); } if (mapSale == 0) { return; //若没有填写比例尺信息则返回 } feaClsName += mapSale.ToString(); pSysDB.CloseDbConnection(); SysCommon.Gis.SysGisDataSet pSysDT = new SysCommon.Gis.SysGisDataSet(); pSysDT.SetWorkspace(RangeDBPath, SysCommon.enumWSType.PDB, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "连接范围库出错,连接地址为:\n" + RangeDBPath); return; } IFeatureClass rangeFeaCls = pSysDT.GetFeatureClass(feaClsName, out eError); if (eError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "查找范围图层出错,图层名为:\n" + feaClsName); return; } try { string whereStr = "MAP_NEWNO='" + mapNO + "'"; IQueryFilter pFilter = new QueryFilterClass(); pFilter.WhereClause = whereStr; IFeatureCursor pCursor = rangeFeaCls.Search(pFilter, false); if (pCursor == null) { return; } IFeature pFea = pCursor.NextFeature(); if (pFea != null) { //进行定位 ZoomToFeature(m_Hook.MapControl, pFea); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "范围要素不存在!"); return; } //释放CURSOR System.Runtime.InteropServices.Marshal.ReleaseComObject(pCursor); } catch (Exception ex) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", ex.Message); return; } } }
private void btnAddUser_Click(object sender, EventArgs e) { Exception exError = null; try { #region 进行界面控制 if (txtComment.Text.Length > 200) { ErrorHandle.ShowInform("提示", "备注内容太长!"); txtComment.Focus(); return; } if (txtTrueName.Text.IndexOf(" ") != -1) { errorProvider.SetError(txtTrueName, "用户名不能有空格"); return; } //验证 if (string.IsNullOrEmpty(this.txtTrueName.Text)) { errorProvider.SetError(txtTrueName, "用户真实名不能为空!"); return; } else if (string.IsNullOrEmpty(this.txtPassword.Text)) { errorProvider.SetError(txtPassword, "密码不能为空!"); return; } else if (this.comboSex.Text == "") { errorProvider.SetError(comboSex, "请选择用户角色!"); return; } else if (this.comboSex.Text == "请选择") { errorProvider.SetError(comboSex, "请选择性别!"); return; } else if (string.IsNullOrEmpty(this.txtPosition.Text)) { errorProvider.SetError(txtPosition, "姓名不能为空!"); return; } if (txtTrueName.Text == "Admin") { ErrorHandle.ShowInform("提示", "此用户已存在,请重新输入!"); txtTrueName.Focus(); return; } #endregion //l连接系统维护库 SysCommon.DataBase.SysTable pSysDB = null; ModDBOperate.ConnectDB(out pSysDB, out exError); if (exError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", exError.Message); return; } #region 首先要判断用户名不能重复 //用户名不能与超级管理员同名 string[] arr = ModuleData.v_AppConnStr.Split(';'); if (arr.Length != 3) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "连接字符串不正确!"); return; } if (txtTrueName.Text.Trim() == arr[1].Substring(arr[1].IndexOf('=') + 1)) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "存在同名的用户!"); pSysDB.CloseDbConnection(); return; } //不能与数据库中的用户同名 string str = "select * from userbaseinfo where USERNAME='******'"; DataTable pUserTable = pSysDB.GetSQLTable(str, out exError); if (exError != null || pUserTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询用户基本信息表失败!"); pSysDB.CloseDbConnection(); return; } #endregion //判断是更新还是添加 if (_user != null) { // (修改用户) 判断是否存在同名用户 if (pUserTable.Rows.Count > 1) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "存在同名的用户!"); pSysDB.CloseDbConnection(); return; } #region 用户修改,1、需要修改用户基本信息表,2、需要修改用户角色关系表,3、更新用户登录信息 pSysDB.StartTransaction(); //更新用户信息 #region 更新用户信息表 //若用户的基本信息发生了变更,则更新用户基本信息表 int pUserID = _user.ID; //用户ID int pRoleTypeID = _user.RoleTypeID; string updateStr = ""; if (m_UserName != txtTrueName.Text.Trim() || m_Password != txtPassword.Text.Trim() || comboSex.Text.Trim() != m_Sex || txtPosition.Text.Trim() != m_Position || txtComment.Text.Trim() != m_Remark) { //只要其中有一项基本信息发生了变化,就更injiben信息表 updateStr = "update userbaseinfo set UserName='******', Password='******', Sex='" + comboSex.Text.Trim() + "', Job='" + txtPosition.Text.Trim() + "', Remark='" + txtComment.Text.Trim() + "' where UserID=" + pUserID; pSysDB.UpdateTable(updateStr, out exError); if (exError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "更新用户信息表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } } #endregion if (cmbRole.Text.Trim() != m_OldRoleName) { //说明用户对应的角色也进行了更新 #region 更新用户角色关系表 if ((cmbRole.SelectedItem as ComboBoxItem).Value == null || (cmbRole.SelectedItem as ComboBoxItem).Value.ToString().Trim() == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色ID失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } int pRoleID = -1; //角色ID Convert.ToInt32((cmbRole.SelectedItem as ComboBoxItem).Value.ToString().Trim()); string mStr = "select * from rolebaseinfo where ROLENAME='" + cmbRole.Text.Trim() + "'"; DataTable tTable = pSysDB.GetSQLTable(mStr, out exError); if (exError != null || tTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色信息表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } if (tTable.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色ID失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } pRoleID = Convert.ToInt32(tTable.Rows[0][0].ToString().Trim()); //首先查询用户角色关系表,看是否存在这个记录 //****************************************************************** //guozheng added 2011-3-24 string sSQL = "SELECT ROLEID FROM rolebaseinfo WHERE ROLETYPEID=" + _user.RoleTypeID; DataTable GetTable = pSysDB.GetSQLTable(sSQL, out exError); if (exError != null || GetTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询用户角色关系表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } if (GetTable.Rows.Count < 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "没有找到该用户对应的角色信息"); return; } //****************************************************************** string tempStr = "select * from userrolerelationinfo where ROLEID=" + GetTable.Rows[0][0].ToString() + " and USERID=" + pUserID; DataTable temTable = pSysDB.GetSQLTable(tempStr, out exError); if (exError != null || temTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询用户角色关系表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } if (temTable.Rows.Count == 0) { //若不存在,则插入关系记录 updateStr = "insert into userrolerelationinfo(USERID,ROLEID) values (" + pUserID + "," + pRoleID + ")"; } else { //若存在,则更新关系记录 updateStr = "update userrolerelationinfo set ROLEID=" + pRoleID + " where USERID=" + pUserID; } pSysDB.UpdateTable(updateStr, out exError); if (exError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "更新用户角色关系表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } #endregion //获得角色类型 tempStr = "select * from rolebaseinfo where ROLEID=" + pRoleID; temTable = pSysDB.GetSQLTable(tempStr, out exError); if (exError != null || temTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色基本信息表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } if (temTable.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "不存在该角色"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } pRoleTypeID = Convert.ToInt32(temTable.Rows[0][2].ToString().Trim()); } pSysDB.EndTransaction(true); pSysDB.CloseDbConnection(); #region 更新用户登录信息 ModuleData.m_User = new User(); ModuleData.m_User.ID = pUserID; ModuleData.m_User.Name = txtTrueName.Text.Trim(); ModuleData.m_User.Password = txtPassword.Text.Trim(); ModuleData.m_User.Sex = comboSex.Text.Trim(); ModuleData.m_User.Position = txtPosition.Text.Trim(); ModuleData.m_User.Remark = txtComment.Text.Trim(); ModuleData.m_User.Role = cmbRole.Text.Trim(); ModuleData.m_User.RoleTypeID = pRoleTypeID; #endregion SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "修改用户信息成功!"); #endregion } else { //(新增用户)判断是否存在同名用户 if (pUserTable.Rows.Count > 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "存在同名的用户!"); pSysDB.CloseDbConnection(); return; } //添加用户信息 #region 添加用户,1、需要添加用户基本信息表,2、需要添加用户角色关系表 pSysDB.StartTransaction(); #region 获得用户ID int pUserID = -1; string seleStr = "select Max(UserID) from userbaseinfo"; DataTable tempTable = pSysDB.GetSQLTable(seleStr, out exError); if (exError != null || tempTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询用户信息表失败!"); pSysDB.CloseDbConnection(); return; } if (tempTable.Rows.Count == 0) { pUserID = 1; } else { if (tempTable.Rows[0][0].ToString().Trim() == "") { pUserID = 1; } else { pUserID = Convert.ToInt32(tempTable.Rows[0][0].ToString().Trim()) + 1; } } if (pUserID == -1) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取用户ID失败!"); return; } #endregion #region 更新用户基本信息表 string insertStr = "insert into userbaseinfo(UserID,UserName,Password,Sex,Job,Remark) values(" + pUserID + ",'" + txtTrueName.Text.Trim() + "','" + txtPassword.Text.Trim() + "','" + comboSex.Text.Trim() + "','" + txtPosition.Text.Trim() + "','" + txtComment.Text.Trim() + "')"; pSysDB.UpdateTable(insertStr, out exError); if (exError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "更新用户表信息失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } #endregion #region 更新用户角色表 //获得角色ID int pRoleID = -1; //角色ID if ((cmbRole.SelectedItem as ComboBoxItem).Value == null || (cmbRole.SelectedItem as ComboBoxItem).Value.ToString().Trim() == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色ID失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } pRoleID = Convert.ToInt32((cmbRole.SelectedItem as ComboBoxItem).Value.ToString().Trim()); //插入数据到角色关系表里面 string inseStr = "insert into userrolerelationinfo(UserID,RoleID) values(" + pUserID + "," + pRoleID + ")"; pSysDB.UpdateTable(inseStr, out exError); if (exError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "更新用户角色关系表失败!"); pSysDB.EndTransaction(false); pSysDB.CloseDbConnection(); return; } #endregion pSysDB.EndTransaction(true); pSysDB.CloseDbConnection(); SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示 ", "添加用户信息成功!"); #endregion } this.DialogResult = DialogResult.OK; } catch (Exception ex) { exError = ex; } }
private void btnAddRole_Click(object sender, EventArgs e) { Exception pError = null; try { #region 对界面进行控制 if (txtComment.Text.Length >= 200) { ErrorHandle.ShowFrmErrorHandle("提示", "备注内容太长!"); return; } if (string.IsNullOrEmpty(this.txtRole.Text.Trim())) { ErrorHandle.ShowFrmErrorHandle("提示", "用户组名不能为空!"); return; } if (txtRole.Text.IndexOf(" ") != -1) { errorProvider1.SetError(txtRole, "组名不能有空格"); return; } #endregion SysCommon.DataBase.SysTable pSysDB = null; //连接系统维护库 ModDBOperate.ConnectDB(out pSysDB, out pError); if (pError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", pError.Message); return; } int pRoleID = -1; //角色ID int pRoleTypeID = -1; //角色类型ID pRoleTypeID = Convert.ToInt32((cmbGroupType.SelectedItem as ComboBoxItem).Value.ToString()); if (pRoleTypeID == -1) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色类型ID失败!"); pSysDB.CloseDbConnection(); return; } //判断是否存在同名的角色 string tempStr = "select * from rolebaseinfo where ROLENAME='" + txtRole.Text.Trim() + "'"; DataTable mTable = pSysDB.GetSQLTable(tempStr, out pError); if (pError != null || mTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色基本信息表失败"); pSysDB.CloseDbConnection(); return; } if (m_BeUpdate) { //判断是否存在同名角色 if (mTable.Rows.Count > 1) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "存在同名的角色!"); pSysDB.CloseDbConnection(); return; } #region 对界面进行控制,角色名称保护 if (string.IsNullOrEmpty(cmbRoleName.Text.Trim())) { ErrorHandle.ShowFrmErrorHandle("提示", "用户组名不能为空!"); return; } if (cmbRoleName.Text.Trim().IndexOf(" ") != -1) { errorProvider1.SetError(txtRole, "组名不能有空格"); return; } #endregion //判断是否存在同名的角色 //if (cmbRoleName.Items.Contains(txtRole.Text.Trim())) //{ // SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "存在同名的角色!"); // pSysDB.CloseDbConnection(); // return; //} #region 修改角色信息,更新角色基本信息表 pRoleID = Convert.ToInt32((cmbRoleName.SelectedItem as ComboBoxItem).Value.ToString().Trim()); string updateStr = "update rolebaseinfo set ROLENAME='" + txtRole.Text.Trim() + "', ROLETYPEID=" + pRoleTypeID + ", REMARK='" + txtComment.Text.Trim() + "' where ROLEID=" + pRoleID; pSysDB.UpdateTable(updateStr, out pError); if (pError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "修改角色基本信息表失败!"); pSysDB.CloseDbConnection(); return; } pSysDB.CloseDbConnection(); SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "修改角色信息成功!"); #endregion } else { //判断是否存在同名角色 if (mTable.Rows.Count > 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "存在同名的角色!"); pSysDB.CloseDbConnection(); return; } #region 添加角色信息,往角色表里面插入记录 //查询角色ID的最大值 string selStr = "select Max(ROLEID) from rolebaseinfo"; DataTable tempTable = pSysDB.GetSQLTable(selStr, out pError); if (pError != null || tempTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询角色基本信息表失败"); pSysDB.CloseDbConnection(); return; } if (tempTable.Rows.Count == 0) { pRoleID = 1; } else { if (tempTable.Rows[0][0].ToString().Trim() == "") { //SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色类型ID失败!"); //pSysDB.CloseDbConnection(); //return; pRoleID = 1; } else { pRoleID = Convert.ToInt32(tempTable.Rows[0][0].ToString()) + 1; } } if (pRoleID == -1) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取角色ID失败!"); return; } string str = "insert into rolebaseinfo(ROLEID,ROLENAME,ROLETYPEID,REMARK) values ("; str += pRoleID + ",'" + txtRole.Text.Trim() + "'," + pRoleTypeID + ",'" + txtComment.Text.Trim() + "')"; //更新数据库 pSysDB.UpdateTable(str, out pError); if (pError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "更新角色基本信息表失败!"); pSysDB.CloseDbConnection(); return; } pSysDB.CloseDbConnection(); SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "添加角色成功!"); #endregion } this.DialogResult = DialogResult.OK; } catch (Exception ex) { } }
// 登录系统 private void btnOK_Click(object sender, EventArgs e) { Exception outError = null; //界面控制 if (txtUser.Text.Trim() == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "用户名不能为空"); return; } else if (txtPassword.Text.Trim() == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "密码不能为空"); return; } if (ModuleData.v_AppConnStr.Trim() == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "连接字符串为空!"); return; } string[] arr = ModuleData.v_AppConnStr.Split(';'); if (arr.Length != 3) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "连接字符串不正确!"); return; } ///////////////////////获取登陆的用户信息/////////////////// #region 连接数据库 SysCommon.DataBase.SysTable pSysDB = null; //连接数据库 ModDBOperate.ConnectDB(out pSysDB, out outError); if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", outError.Message); return; } #endregion #region 查询用户基本信息表,用户和密码判断 string selStr = "select * from userbaseinfo where UserName='******' and PASSWORD='******'"; DataTable UserTable = pSysDB.GetSQLTable(selStr, out outError); if (outError != null || UserTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询用户基本信息表失败!"); pSysDB.CloseDbConnection(); return; } if (UserTable.Rows.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "无效的用户或者密码!"); pSysDB.CloseDbConnection(); return; } #endregion int pUserID = -1; //用户ID string pSex = ""; //性别 string pJob = ""; //职称 string pRemark = ""; //备注 string pRoleName = ""; //角色名称 int pRoleTypeID = -1; //角色类型:1管理员、2作业员 pUserID = Convert.ToInt32(UserTable.Rows[0][0].ToString().Trim()); pSex = UserTable.Rows[0][3].ToString().Trim(); pJob = UserTable.Rows[0][4].ToString().Trim(); pRemark = UserTable.Rows[0][5].ToString().Trim(); #region 查询用户角色 string str = "select * from userrolerelationinfo inner join rolebaseinfo on UserID=" + pUserID + " and userrolerelationinfo.RoleID=rolebaseinfo.RoleID"; //string str = "select * from userrolerelationinfo a inner join (select * from rolebaseinfo inner join roletypeinfo on rolebaseinfo.roletypeid=roletypeinfo.roletypeid) b on a.UserID=" + pUserID + "and a.RoleID=b.RoleID"; DataTable pRoleRelTable = pSysDB.GetSQLTable(str, out outError); if (outError != null || pRoleRelTable == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "查询用户角色关系表失败!"); pSysDB.CloseDbConnection(); return; } if (pRoleRelTable.Rows.Count == 0) { pRoleName = ""; pRoleTypeID = -1; } else { pRoleName = pRoleRelTable.Rows[0]["ROLENAME"].ToString().Trim(); pRoleTypeID = Convert.ToInt32(pRoleRelTable.Rows[0]["ROLETYPEID"].ToString().Trim()); //角色类型ID } #endregion pSysDB.CloseDbConnection(); //若用户和密码正确,则登录系统,保存用户相关信息 m_User = new SysCommon.Authorize.User(); m_User.ID = pUserID; m_User.Name = this.txtUser.Text.Trim(); m_User.Password = this.txtPassword.Text.Trim(); m_User.Sex = pSex; m_User.Position = pJob; m_User.Remark = pRemark; m_User.Role = pRoleName; m_User.RoleTypeID = pRoleTypeID; ///////////////////////////////////////////////////////////// this.DialogResult = DialogResult.OK; this.Close(); }
/// <summary> /// 删除一个工程 /// </summary> /// <returns></returns> public bool DeleteProject(DevComponents.AdvTree.Node ProjectNode, string ConStr, long Projiectid , out string err) { Exception ex = null; err = ""; if (string.IsNullOrEmpty(this._ProName)) { err = "没有指定项目名称!"; return(false); } if (string.IsNullOrEmpty(ConStr)) { err = "没有指定元信息库连接信息!"; return(false); } int value = 0; FrmProcessBar DelBar = new FrmProcessBar(10); DelBar.Show(); DelBar.SetFrmProcessBarText("正在连接元信息库"); Application.DoEvents(); SysCommon.DataBase.SysTable pSysDB = new SysCommon.DataBase.SysTable(); //属性库连接类 pSysDB.SetDbConnection(ConStr, SysCommon.enumDBConType.ORACLE, SysCommon.enumDBType.ORACLE, out ex); if (ex != null) { err = "元信息库连接失败!连接地址为:" + ConStr; pSysDB.CloseDbConnection(); DelBar.Dispose(); DelBar.Close(); return(false); } long ProjectID = Projiectid; #region 除项目的所有产品 string Sql = "SELECT ID,产品名称,存储位置 FROM ProductMDTable WHERE 项目ID=" + ProjectID; DataTable GetTable = pSysDB.GetSQLTable(Sql, out ex); if (null != ex) { err = "获取项目的产品信息失败!"; pSysDB.CloseDbConnection(); DelBar.Dispose(); DelBar.Close(); return(false); } if (null != GetTable) { for (int i = 0; i < GetTable.Rows.Count; i++) { long ProducetId = -1; string ProductName = string.Empty; string ProductPath = string.Empty; ProducetId = long.Parse(GetTable.Rows[i][0].ToString()); ProductName = GetTable.Rows[i][1].ToString().Trim(); ProductPath = GetTable.Rows[i][2].ToString().Trim(); DelBar.SetFrmProcessBarValue(value); DelBar.SetFrmProcessBarText(" 正在删除产品:" + ProductName); value += 1; if (value == 10) { value = 0; } Application.DoEvents(); DevComponents.AdvTree.Node ProductNode = ModDBOperator.GetTreeNode(ProjectNode, ProductPath, ProductName, EnumTreeNodeType.PRODUCT.ToString(), ProducetId, out ex); if (null != ex) { err = "获取项目的产品:‘" + ProductName + "’树节点失败!"; pSysDB.CloseDbConnection(); DelBar.Dispose(); DelBar.Close(); return(false); } if (null != ProductNode) { if (!ModDBOperator.DelProduct(ProductNode, out ex)) { err = "删除项目的产品:‘" + ProductName + "’失败!"; pSysDB.CloseDbConnection(); DelBar.Dispose(); DelBar.Close(); return(false); } } } } #endregion #region 除项目的文件夹 DelBar.SetFrmProcessBarText("正在删除工程项目目录"); Application.DoEvents(); if (!ModDBOperator.DelDirtory(this._ftpIP, this._ftpUSER, this._ftpPassWord, this._ProName, out ex)) { err = "工程项目项目目录删除失败!"; pSysDB.CloseDbConnection(); DelBar.Dispose(); DelBar.Close(); return(false); } #endregion DelBar.Dispose(); DelBar.Close(); pSysDB.CloseDbConnection(); return(true); }