这个报错system.OverflowException:值对于Int32 太大或太小。这个得怎么改?

    public void 申请攻城(byte[] 封包数据, int 封包长度)
    {
        try
        {
            if (base.宣告攻城 == 1)
            {
                系统提示("已申请攻城的门派不能重复申请");
                return;
            }
            if (base.帮派人物等级 != 6)
            {
                系统提示("只有门主可以申请攻城");
                return;
            }
            if (!(base.门派联盟盟主 != ""))
            {
                RxjhClass.更新门派联盟盟主(base.帮派名字, base.帮派名字, 1);
                foreach (Players value in World.allConnectedChars.Values)
                {
                    if (value.帮派名字 == base.帮派名字)
                    {
                        value.宣告攻城 = 1;
                        value.门派联盟盟主 = base.帮派名字;
                        value.发送攻城相关BUFF(是否消失: false);
                    }
                }
                goto IL_019e;
            }
            if (!(base.门派联盟盟主 != base.帮派名字))
            {
                RxjhClass.更新联盟宣告攻城状态(base.帮派名字, 1);
                foreach (Players value2 in World.allConnectedChars.Values)
                {
                    if (value2.门派联盟盟主 == base.门派联盟盟主)
                    {
                        value2.门派联盟盟主 = base.门派联盟盟主;
                        value2.宣告攻城 = 1;
                        value2.发送攻城相关BUFF(是否消失: false);
                    }
                }
                goto IL_019e;
            }
            系统提示("只有门派联盟的盟主可以宣告攻城");
            goto end_IL_0001;
            IL_019e:
            DataTable dBToDataTable = DBA.GetDBToDataTable("select  *  from  [攻城城主]  ");
            if (dBToDataTable == null || dBToDataTable.Rows.Count == 0)
            {
                int year = DateTime.Now.ToUniversalTime().Year;
                int month = DateTime.Now.ToUniversalTime().Month;
                int day = DateTime.Now.ToUniversalTime().Day;
                int num = year * 1000 + month * 100 + day;
                DataTable dBToDataTable2 = DBA.GetDBToDataTable("select  *  from  [TBL_XWWL_Guild]  where  G_Name='" + base.帮派名字 + "'");
                DBA.ExeSqlCommand(string.Format("INSERT  INTO  攻城城主  (城主名字,攻城行会名,帮派ID,分区信息)values('{0}','{1}',{2},'{3}')", dBToDataTable2.Rows[0]["G_Master"].ToString(), base.帮派名字, base.帮派Id, World.分区编号));
                dBToDataTable2.Dispose();
            }
            dBToDataTable.Dispose();
            string text = "AA5512000400BC040C0007000000020000000100000055AA";
            byte[] array = Converter.hexStringToByte(text);
            System.Buffer.BlockCopy(BitConverter.GetBytes(base.人物全服ID), 0, array, 4, 2);
            if (base.Client != null)
            {
                base.Client.Send(array, array.Length);
            }
            end_IL_0001:;
        }
        catch (Exception ex)
        {
            Form1.WriteLine(1, "申请攻城出错" + base.Client.WorldId + "|" + base.Userid + "|" + base.UserName + "  " + ex);
        }
    }

这个报错system.OverflowException:值对于Int32 太大或太小。这个得怎么改?