/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public override bool Equals(object obj) { if (obj == null || obj.GetType() != this.GetType()) { return(false); } MySqlDBParameter p = (MySqlDBParameter)obj; return((this.mysqlType == p.mysqlType) && (string.Compare(this.parameterName, p.parameterName, true, System.Globalization.CultureInfo.CurrentCulture) == 0) && (this.parameterValue.GetHashCode() == p.parameterValue.GetHashCode()) && (this.size == p.size)); }
/// <summary> /// 保存菜单的信息。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSure_Click(object sender, EventArgs e) { int num; MySqlDBParameter[] parameterArray; string str; Exception exception; if (this.Type == 1) { if (this.txtMenuCode.Text.Trim() == "") { App.MsgErr("菜单代码为必填项!"); return; } if (this.txtMenuName.Text.Trim() == "") { App.MsgErr("菜单代码为必填项!"); return; } if ((this.txtVersion.Text.Trim() != "") && !App.isNumval(this.txtVersion.Text)) { App.MsgErr("版本号要求数值类型!"); return; } if (this.txtDllpath.Text.Trim() != "") { if (!File.Exists(this.txtDllpath.Text)) { App.MsgErr("dll文件的路径不存在!"); return; } } else if (this.CurrentPermission == null) { this.DllBytes = null; } if (this.txtInocPath.Text != "") { if (!File.Exists(this.txtInocPath.Text)) { App.MsgErr("图标路径的路径不存在!"); return; } } else if (this.CurrentPermission == null) { this.ImageBytes = null; } try { byte[] buffer; num = App.GenId("T_PERMISSION", "id"); if (this.CurrentPermission != null) { num = Convert.ToInt32(this.CurrentPermission.Id); } parameterArray = new MySqlDBParameter[5]; parameterArray[0] = new MySqlDBParameter(); parameterArray[0].ParameterName = "VID"; parameterArray[0].DBType = MySqlDbType.Decimal; parameterArray[0].Value = num; parameterArray[1] = new MySqlDBParameter(); parameterArray[1].ParameterName = "VPERM_CODE"; parameterArray[1].DBType = MySqlDbType.VarChar; parameterArray[1].Value = this.txtMenuCode.Text; parameterArray[2] = new MySqlDBParameter(); parameterArray[2].ParameterName = "PERM_NAME"; parameterArray[2].DBType = MySqlDbType.VarChar; parameterArray[2].Value = this.txtMenuName.Text; parameterArray[3] = new MySqlDBParameter(); parameterArray[3].ParameterName = "PERM_KIND"; parameterArray[3].DBType = MySqlDbType.VarChar; parameterArray[3].Value = "1"; parameterArray[4] = new MySqlDBParameter(); parameterArray[4].ParameterName = "NUM"; parameterArray[4].DBType = MySqlDbType.Decimal; parameterArray[4].Value = num; int id = App.GenId("T_PERMISSION_FUCTIONS", "id"); if (this.CurrentPermission != null) { id = this.CurrentPermission.Permission_Info.Id; } MySqlDBParameter[] parameters = new MySqlDBParameter[6]; parameters[0] = new MySqlDBParameter(); parameters[0].ParameterName = "VID"; parameters[0].DBType = MySqlDbType.Decimal; parameters[0].Value = id; parameters[1] = new MySqlDBParameter(); parameters[1].ParameterName = "VPERM_CODE"; parameters[1].DBType = MySqlDbType.VarChar; parameters[1].Value = this.txtMenuCode.Text; parameters[2] = new MySqlDBParameter(); parameters[2].ParameterName = "FUNCTION"; parameters[2].DBType = MySqlDbType.VarChar; parameters[2].Value = this.txtFunctinName.Text; parameters[3] = new MySqlDBParameter(); parameters[3].ParameterName = "VERSION"; parameters[3].DBType = MySqlDbType.VarChar; parameters[3].Value = this.txtVersion.Text; parameters[4] = new MySqlDBParameter(); parameters[4].ParameterName = "DLLNAME"; parameters[4].DBType = MySqlDbType.VarChar; parameters[4].Value = this.txtDllName.Text; parameters[5] = new MySqlDBParameter(); parameters[5].ParameterName = "FUNCTIONIMAGE"; parameters[5].DBType = MySqlDbType.Blob; if (this.ImageBytes != null) { parameters[5].Value = this.ImageBytes; } else { buffer = new byte[] { 0 }; parameters[5].Value = buffer; } str = "insert into T_PERMISSION(id,PERM_CODE,PERM_NAME,PERM_KIND,NUM)values(:VID,:VPERM_CODE,:PERM_NAME,:PERM_KIND,:NUM)"; string cmdString = "insert into T_PERMISSION_FUCTIONS(id,PERM_CODE,FUNCTION,VERSION,DLLNAME,FUNCTIONIMAGE)values(:VID,:VPERM_CODE,:FUNCTION,:VERSION,:DLLNAME,:FUNCTIONIMAGE)"; if (this.CurrentPermission != null) { str = "update T_PERMISSION set PERM_CODE=:VPERM_CODE,PERM_NAME=:PERM_NAME,PERM_KIND=:PERM_KIND,NUM=:NUM where id=:VID"; cmdString = "update T_PERMISSION_FUCTIONS set ID=:VID,PERM_CODE=:VPERM_CODE,FUNCTION=:FUNCTION,VERSION=:VERSION,DLLNAME=:DLLNAME,FUNCTIONIMAGE=:FUNCTIONIMAGE where PERM_CODE=:VPERM_CODE"; } if (App.ExecuteSQL(str, parameterArray) > 0) { if (App.ExecuteSQL(cmdString, parameters) > 0) { App.Msg("操作已成功!"); } else { App.MsgErr("操作失败!"); } } else { App.MsgErr("操作失败!"); } frmPermissionSet.CurrentPerssmion = this.IniCurrentPermission(num, id, 1); } catch (Exception exception1) { exception = exception1; App.MsgErr("操作失败,原因:" + exception.Message); return; } } else if (this.Type == 2) { try { if (this.txtButtonCode.Text.Trim() == "") { App.MsgErr("按钮代码为必填项!"); return; } if (this.txtButtonName.Text.Trim() == "") { App.MsgErr("按钮名称为必填项!"); return; } num = App.GenId("T_PERMISSION", "id"); if (this.CurrentPermission != null) { num = Convert.ToInt32(this.CurrentPermission.Id); } parameterArray = new MySqlDBParameter[5]; parameterArray[0] = new MySqlDBParameter(); parameterArray[0].ParameterName = "VID"; parameterArray[0].DBType = MySqlDbType.Decimal; parameterArray[0].Value = num; parameterArray[1] = new MySqlDBParameter(); parameterArray[1].ParameterName = "VPERM_CODE"; parameterArray[1].DBType = MySqlDbType.VarChar; parameterArray[1].Value = this.txtButtonCode.Text; parameterArray[2] = new MySqlDBParameter(); parameterArray[2].ParameterName = "PERM_NAME"; parameterArray[2].DBType = MySqlDbType.VarChar; parameterArray[2].Value = this.txtButtonName.Text; parameterArray[3] = new MySqlDBParameter(); parameterArray[3].ParameterName = "PERM_KIND"; parameterArray[3].DBType = MySqlDbType.VarChar; parameterArray[3].Value = "2"; parameterArray[4] = new MySqlDBParameter(); parameterArray[4].ParameterName = "NUM"; parameterArray[4].DBType = MySqlDbType.Decimal; parameterArray[4].Value = num; str = "insert into T_PERMISSION(id,PERM_CODE,PERM_NAME,PERM_KIND,NUM)values(:VID,:VPERM_CODE,:PERM_NAME,:PERM_KIND,:NUM)"; if (this.CurrentPermission == null) { str = "insert into T_PERMISSION(id,PERM_CODE,PERM_NAME,PERM_KIND,NUM)values(:VID,:VPERM_CODE,:PERM_NAME,:PERM_KIND,:NUM)"; } else { str = "update T_PERMISSION set PERM_CODE=:VPERM_CODE,PERM_NAME=:PERM_NAME,PERM_KIND=:PERM_KIND,NUM=:NUM where id=:VID"; } App.ExecuteSQL(str, parameterArray); App.Msg("操作已成功!"); frmPermissionSet.CurrentPerssmion = this.IniCurrentPermission(num, 0, 2); } catch (Exception exception2) { exception = exception2; App.MsgErr("操作失败,原因:" + exception.Message); return; } } else { //页签操作 if (this.txtTabCode.Text.Trim() == "") { App.MsgErr("页签代码为必填项!"); return; } if (this.txtTabName.Text.Trim() == "") { App.MsgErr("页签名称为必填项!"); return; } if (this.txtTabModelName.Text.Trim() == "") { App.MsgErr("模块为必填项!"); return; } try { byte[] buffer; num = App.GenId("T_PERMISSION", "id"); if (this.CurrentPermission != null) { num = Convert.ToInt32(this.CurrentPermission.Id); } parameterArray = new MySqlDBParameter[5]; parameterArray[0] = new MySqlDBParameter(); parameterArray[0].ParameterName = "VID"; parameterArray[0].DBType = MySqlDbType.Decimal; parameterArray[0].Value = num; parameterArray[1] = new MySqlDBParameter(); parameterArray[1].ParameterName = "VPERM_CODE"; parameterArray[1].DBType = MySqlDbType.VarChar; parameterArray[1].Value = this.txtTabCode.Text; parameterArray[2] = new MySqlDBParameter(); parameterArray[2].ParameterName = "PERM_NAME"; parameterArray[2].DBType = MySqlDbType.VarChar; parameterArray[2].Value = this.txtTabName.Text; parameterArray[3] = new MySqlDBParameter(); parameterArray[3].ParameterName = "PERM_KIND"; parameterArray[3].DBType = MySqlDbType.VarChar; parameterArray[3].Value = "3"; parameterArray[4] = new MySqlDBParameter(); parameterArray[4].ParameterName = "NUM"; parameterArray[4].DBType = MySqlDbType.Decimal; parameterArray[4].Value = num; int id = App.GenId("T_PERMISSION_FUCTIONS", "id"); if (this.CurrentPermission != null) { id = this.CurrentPermission.Permission_Info.Id; } MySqlDBParameter[] parameters = new MySqlDBParameter[3]; parameters[0] = new MySqlDBParameter(); parameters[0].ParameterName = "VID"; parameters[0].DBType = MySqlDbType.Decimal; parameters[0].Value = id; parameters[1] = new MySqlDBParameter(); parameters[1].ParameterName = "VPERM_CODE"; parameters[1].DBType = MySqlDbType.VarChar; parameters[1].Value = this.txtTabCode.Text; parameters[2] = new MySqlDBParameter(); parameters[2].ParameterName = "FUNCTION"; parameters[2].DBType = MySqlDbType.VarChar; parameters[2].Value = this.txtTabModelName.Text; str = "insert into T_PERMISSION(id,PERM_CODE,PERM_NAME,PERM_KIND,NUM)values(:VID,:VPERM_CODE,:PERM_NAME,:PERM_KIND,:NUM)"; string cmdString = "insert into T_PERMISSION_FUCTIONS(id,PERM_CODE,FUNCTION)values(:VID,:VPERM_CODE,:FUNCTION)"; if (this.CurrentPermission != null) { str = "update T_PERMISSION set PERM_CODE=:VPERM_CODE,PERM_NAME=:PERM_NAME,PERM_KIND=:PERM_KIND,NUM=:NUM where id=:VID"; cmdString = "update T_PERMISSION_FUCTIONS set ID=:VID,PERM_CODE=:VPERM_CODE,FUNCTION=:FUNCTION where PERM_CODE=:VPERM_CODE"; } if (App.ExecuteSQL(str, parameterArray) > 0) { if (App.ExecuteSQL(cmdString, parameters) > 0) { App.Msg("操作已成功!"); } else { App.MsgErr("操作失败!"); } } else { App.MsgErr("操作失败!"); } frmPermissionSet.CurrentPerssmion = this.IniCurrentPermission(num, id, 3); } catch (Exception exception1) { exception = exception1; App.MsgErr("操作失败,原因:" + exception.Message); return; } } this.Close(); }