Exemplo n.º 1
0
        public void MySqlProcedure()
        {
            //打开连接
            Open();
            // CommitCommand("CALL consume_db.new_procedure(167178)");
            OpenCommand();
            Command = "new_procedure3";

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            MySQLParameter par1 = new MySQLParameter("item_no", DbType.String, "167178");

            MySQLParameter[] parameters =
            {
                new MySQLParameter("?item_no", System.Data.DbType.Int32, "This value is ignored")
            };
            parameters[0].Value = "167178";
            cmd.Parameters.AddRange(parameters);
            MySQLDataAdapter ad = new MySQLDataAdapter(cmd);
            DataSet          ds = new DataSet();

            ad.Fill(ds);

            /*
             * StringBuilder abc = new StringBuilder(20);
             * MySQLParameter par3 = new MySQLParameter("?file_name", abc);
             * par3.Direction = ParameterDirection.Output;
             *
             * par3.Scale = 100;
             * par3.Size = 100;
             *
             * cmd.Parameters.Add(par3);*/
        }
Exemplo n.º 2
0
        public void InsertBlob(MySQLConnection con)
        {
            try
            {
                con.Open();

                MySQLCommand   cmd = new MySQLCommand("INSERT INTO `trntipos`(col1, col2) values (?, ?)", con);              //, `SerialNumberLastUsed`
                MySQLParameter p1  = new MySQLParameter("@col1", DbType.Int32);
                MySQLParameter p2  = new MySQLParameter("@col2", DbType.Binary);
                p2.Value = GetBinary(@"myblob.jpg");
                p1.Value = 1;
                cmd.UsePreparedStatement = true;
                cmd.Parameters.Add(p1);
                cmd.Parameters.Add(p2);
                cmd.Prepare();
                int affectedrows = cmd.ExecuteNonQuery();

                cmd.Dispose();
                con.Close();
            }
            catch (Exception e)
            {
                if (con != null)
                {
                    con.Close();
                }
                throw e;
            }
        }
Exemplo n.º 3
0
        public void ExecuteDataReaderForAnyFieldTypeWithPreparedStatement(PreparedFieldTypeTest test)
        {
            var mySqlTypeDeclaration = test.Declaration;
            var inputParameter       = test.Parameter;
            var expectedValue        = test.Value;
            var c = CachedConnection;

            using (var cmd1 = new MySQLCommand("DROP TABLE IF EXISTS number_type_test", c))
                cmd1.ExecuteNonQuery();

            using (var cmd2 = new MySQLCommand($@"CREATE TABLE number_type_test ( id INT NOT NULL,COL_VALUE {mySqlTypeDeclaration},PRIMARY KEY (id));", c))
                cmd2.ExecuteNonQuery();

            using (var cmd3 = new MySQLCommand($@"INSERT INTO number_type_test ( id ,COL_VALUE)values(0, ?)", c))
            {
                cmd3.UsePreparedStatement = true;
                cmd3.Parameters.Add(inputParameter);
                cmd3.ExecuteNonQuery();
            }

            using (var cmd = new MySQLCommand("select id, COL_VALUE from number_type_test where id=?", c))
            {
                cmd.UsePreparedStatement = true;
                var p = new MySQLParameter("id", MySQLDbType.Int);
                p.Value = 0;
                cmd.Parameters.Add(p);

                var reader = cmd.ExecuteReader();
                Assert.True(reader.Read());

                var ordinal       = reader.GetOrdinal("COL_VALUE");
                var executeScalar = reader.GetValue(ordinal);

                Assert.NotNull(executeScalar);
                if (expectedValue == null)
                {
                    Assert.Null(executeScalar);
                }
                else
                {
                    Assert.NotNull(executeScalar);
                    Assert.IsType(expectedValue.GetType(), executeScalar);
                    if (expectedValue is string)
                    {
                        expectedValue = "'" + expectedValue.ToString() + "'";
                    }
                    if (executeScalar is string)
                    {
                        executeScalar = "'" + executeScalar.ToString() + "'";
                    }
                    Assert.Equal(expectedValue, executeScalar);
                }

                Assert.False(reader.Read());
            }
        }
Exemplo n.º 4
0
        public override IDbDataParameter CreateParameter(string name, Object dbtype, int gxlength, int gxdec)
        {
            MySQLParameter parm = new MySQLParameter();

            parm.DbType        = GXTypeToDbType(dbtype);
            parm.Size          = gxlength;
            parm.Precision     = (byte)gxlength;
            parm.Scale         = (byte)gxdec;
            parm.ParameterName = name;
            return(parm);
        }
        private MySQLParameter CreateParameter(string parameterName, System.Data.DbType dbType,
                                               int size, object val, System.Data.ParameterDirection parameterDirection)
        {
            MySQLParameter res = new MySQLParameter();

            res.ParameterName = parameterName;
            res.DbType        = dbType;
            res.Size          = size;
            res.Value         = val;
            res.Direction     = parameterDirection;
            return(res);
        }
Exemplo n.º 6
0
        public static string InsertParameters(ref List <MySQLParameter> orclParameters, List <int> valueList, string uniqueParName)
        {
            string IN_List_Str = string.Empty;

            for (int i = 0; i <= valueList.Count - 1; i++)
            {
                IN_List_Str += i == 0 ? ":" + uniqueParName + (i + 1) : ", :" + uniqueParName + (i + 1);

                MySQLParameter param = new MySQLParameter(uniqueParName + (i + 1).ToString(), valueList[i]);
                orclParameters.Add(param);
            }
            return(IN_List_Str);
        }
Exemplo n.º 7
0
        public int InsertTest(MySQLConnection con, bool useNew)
        {
            try
            {
                con.Open();

                MySQLCommand cmd;
                if (useNew)
                {
                    cmd = new MySQLCommand("INSERT INTO `test_table` (col1, col2, col3, col4) values (?,?,?,?)", con);                    //, `SerialNumberLastUsed`
                    cmd.UsePreparedStatement = true;
                    cmd.ServerCursor         = false;
                    cmd.Prepare();
                }
                else
                {
                    cmd = new MySQLCommand("INSERT INTO `test_table`(col1, col2, col3, col4) values (@col1, @col2, @col3, @col4)", con);                    //, `SerialNumberLastUsed`
                }

                MySQLParameter p1 = new MySQLParameter("@col1", DbType.Int32);
                cmd.Parameters.Add(p1);
                MySQLParameter p2 = new MySQLParameter("@col2", DbType.String);
                cmd.Parameters.Add(p2);
                MySQLParameter p3 = new MySQLParameter("@col1", DbType.Int16);
                cmd.Parameters.Add(p3);
                MySQLParameter p4 = new MySQLParameter("@col4", DbType.DateTime);
                cmd.Parameters.Add(p4);
                int affectedrows = 0;
                for (int i = 0; i < count; i++)
                {
                    p4.Value      = DateTime.Now;
                    p1.Value      = i;
                    p2.Value      = "Registro número " + i;
                    p2.Size       = p2.Value.ToString().Length;
                    p3.Value      = i * 10;
                    affectedrows += cmd.ExecuteNonQuery();
                }
                cmd.Dispose();
                con.Close();
                return(affectedrows);
            }
            catch (Exception e)
            {
                if (con != null)
                {
                    con.Close();
                }
                throw e;
            }
        }
Exemplo n.º 8
0
        public void ExecuteStoredProcedureWithOutArgument()
        {
            using (var cmd = new MySQLCommand(@"DROP PROCEDURE IF EXISTS simpleproc", this.CachedConnection))
            {
                cmd.ExecuteNonQuery();
            }
            using (var cmd = new MySQLCommand(@"CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
    SELECT 2 INTO param1;
END", this.CachedConnection))
            {
                cmd.ExecuteNonQuery();
            }
            using (var cmd = new MySQLCommand(@"CALL simpleproc(?)", this.CachedConnection))
            {
                var mySQLParameter = new MySQLParameter(MySQLDbType.Int, ParameterDirection.Output);
                cmd.Parameters.Add(mySQLParameter);
                cmd.ExecuteNonQuery();

                Assert.Equal(2, mySQLParameter.Value);
            }
        }
Exemplo n.º 9
0
        public int ExecuteWithContent(string sql, string content)
        {
            int result = 0;

            try
            {
                using (MySQLCommand cmd = new MySQLCommand(sql, this.DbConn))
                {
                    MySQLParameter myParameter = new MySQLParameter("@content", content);
                    cmd.Parameters.Add(myParameter);
                    result = cmd.ExecuteNonQuery();
                    this.LogSql(sql);
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(LogTypes.Exception, string.Format("执行SQL异常: {0}\r\n{1}", sql, ex.ToString()), null, true);
                LogManager.WriteLog(LogTypes.Error, string.Format("写入数据库失败: {0}", sql), null, true);
                result = -1;
            }
            return(result);
        }
Exemplo n.º 10
0
        public void ExecuteStoredProcedureWithInArguments()
        {
            using (var cmd = new MySQLCommand(@"DROP PROCEDURE IF EXISTS simpleproc", this.CachedConnection))
            {
                cmd.ExecuteNonQuery();
            }
            using (var cmd = new MySQLCommand(@"CREATE PROCEDURE simpleproc (IN param1 INT)
BEGIN
   SET param1=param1+1;
END", this.CachedConnection))
            {
                cmd.ExecuteNonQuery();
            }
            using (var cmd = new MySQLCommand(@"CALL simpleproc(?)", this.CachedConnection))
            {
                var mySQLParameter = new MySQLParameter(MySQLDbType.Int, ParameterDirection.Input)
                {
                    Value = 1
                };
                cmd.Parameters.Add(mySQLParameter);
                cmd.ExecuteNonQuery();
            }
        }
Exemplo n.º 11
0
 public object ExecuteSqlGet(string sql, string content)
 {
     try
     {
         using (MySQLCommand cmd = new MySQLCommand(sql, this.DbConn))
         {
             MySQLParameter myParameter = new MySQLParameter("@content", content);
             cmd.Parameters.Add(myParameter);
             object obj = cmd.ExecuteScalar();
             this.LogSql(sql);
             if (object.Equals(obj, null) || object.Equals(obj, DBNull.Value))
             {
                 return(null);
             }
             return(obj);
         }
     }
     catch (Exception ex)
     {
         LogManager.WriteLog(LogTypes.Exception, string.Format("执行SQL异常: {0}\r\n{1}", sql, ex.ToString()), null, true);
         LogManager.WriteLog(LogTypes.Error, string.Format("写入数据库失败: {0}", sql), null, true);
     }
     return(null);
 }
Exemplo n.º 12
0
 public PreparedFieldTypeTest(string declaration, MySQLParameter parameter, object value)
 {
     Declaration = declaration;
     Parameter   = parameter;
     Value       = value;
 }
 private static void PrepareCommand(MySQLCommand cmd, MySQLConnection conn, MySQLTransaction trans, string cmdText, MySQLParameter[] cmdParms)
 {
     if (conn.State != ConnectionState.Open)
         conn.Open();
     cmd.Connection = conn;
     cmd.CommandText = cmdText;
     if (trans != null)
         cmd.Transaction = trans;
     cmd.CommandType = CommandType.Text;//cmdType;
     if (cmdParms != null)
     {
         foreach (MySQLParameter parameter in cmdParms)
         {
             if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
             (parameter.Value == null))
             {
                 parameter.Value = DBNull.Value;
             }
             cmd.Parameters.Add(parameter);
         }
     }
     conn.Close();
 }
Exemplo n.º 14
0
        public void MySqlProcedure()
        {
            //打开连接
            Open();
               // CommitCommand("CALL consume_db.new_procedure(167178)");
            OpenCommand();
            Command = "new_procedure3";

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            MySQLParameter par1 = new MySQLParameter("item_no", DbType.String, "167178");
            MySQLParameter[] parameters = {
                   new MySQLParameter("?item_no",System.Data.DbType.Int32, "This value is ignored")
                    };
            parameters[0].Value = "167178";
            cmd.Parameters.AddRange(parameters);
            MySQLDataAdapter ad = new MySQLDataAdapter(cmd);
            DataSet ds = new DataSet();
            ad.Fill(ds);
            /*
            StringBuilder abc = new StringBuilder(20);
            MySQLParameter par3 = new MySQLParameter("?file_name", abc);
            par3.Direction = ParameterDirection.Output;

            par3.Scale = 100;
            par3.Size = 100;

            cmd.Parameters.Add(par3);*/
        }
Exemplo n.º 15
0
        public void processCmd(GameServerClient client, int nID, byte[] cmdParams, int count)
        {
            DBManager dbMgr  = DBManager.getInstance();
            int       result = 0;

            if (nID <= 3688)
            {
                if (nID != 969)
                {
                    if (nID != 3670)
                    {
                        if (nID == 3688)
                        {
                            AgeDataT <int> requestData = DataHelper.BytesToObject <AgeDataT <int> >(cmdParams, 0, count);
                            AgeDataT <List <TianTi5v5ZhanDuiMiniData> > resultData = new AgeDataT <List <TianTi5v5ZhanDuiMiniData> >(requestData.Age, null);
                            int maxCount = requestData.V;
                            lock (this.Mutex)
                            {
                                if (this.ZhanDuiDataListNeedUpdate)
                                {
                                    List <TianTi5v5ZhanDuiData> list = new List <TianTi5v5ZhanDuiData>();
                                    foreach (AgeDataT <TianTi5v5ZhanDuiData> item in this.ZhanDuiDataDict.Values)
                                    {
                                        if (null != item.V)
                                        {
                                            list.Add(item.V);
                                        }
                                    }
                                    DateTime now = DateTime.Now;
                                    this.MonthStartDateTime = new DateTime(now.Year, now.Month, 1).AddMonths(-1);
                                    list.Sort(new Comparison <TianTi5v5ZhanDuiData>(this.ZhanDuiDataCompare));
                                    this.ZhanDuiDataList.V         = list;
                                    this.ZhanDuiDataListNeedUpdate = false;
                                    TimeUtil.AgeByNow(ref this.ZhanDuiDataList.Age);
                                }
                                if (requestData.Age < this.ZhanDuiDataList.Age)
                                {
                                    resultData.Age = this.ZhanDuiDataList.Age;
                                    resultData.V   = new List <TianTi5v5ZhanDuiMiniData>();
                                    int i = 0;
                                    while (i < this.ZhanDuiDataList.V.Count && i < maxCount)
                                    {
                                        TianTi5v5ZhanDuiData     pData    = this.ZhanDuiDataList.V[i];
                                        TianTi5v5ZhanDuiMiniData miniData = new TianTi5v5ZhanDuiMiniData();
                                        miniData.ZhanDuiID    = pData.ZhanDuiID;
                                        miniData.DuanWeiID    = pData.DuanWeiId;
                                        miniData.DuiZhangName = pData.ZhanDuiName;
                                        miniData.XuanYan      = pData.XuanYan;
                                        miniData.ZhanDouLi    = pData.ZhanDouLi;
                                        miniData.Name         = pData.LeaderRoleName;
                                        miniData.MemberList   = new List <RoleNameLevelData>();
                                        foreach (TianTi5v5ZhanDuiRoleData role2 in pData.teamerList)
                                        {
                                            miniData.MemberList.Add(new RoleNameLevelData(role2.ZhuanSheng, role2.Level, role2.RoleName, role2.RoleID == pData.LeaderRoleID, role2.RoleOcc));
                                        }
                                        resultData.V.Add(miniData);
                                        i++;
                                    }
                                }
                            }
                            client.sendCmd <AgeDataT <List <TianTi5v5ZhanDuiMiniData> > >(nID, resultData);
                        }
                    }
                    else
                    {
                        TianTiLogItemData kf5V5LogItemData = DataHelper.BytesToObject <TianTiLogItemData>(cmdParams, 0, count);
                        if (kf5V5LogItemData != null && kf5V5LogItemData.RoleId > 0)
                        {
                            lock (this.Mutex)
                            {
                                KF5V5RoleLogData pKF5VRoleLogData;
                                if (this.KF5V5RoleLogDataDict.TryGetValue(kf5V5LogItemData.RoleId, out pKF5VRoleLogData))
                                {
                                    pKF5VRoleLogData.LogItemList.Insert(0, kf5V5LogItemData);
                                }
                            }
                            DBWriter.InsertKF5v5ItemLog(DBManager.getInstance(), kf5V5LogItemData);
                        }
                        client.sendCmd <int>(nID, result);
                    }
                }
                else
                {
                    int  roleId   = DataHelper.BytesToObject <int>(cmdParams, 0, count);
                    bool needLoad = false;
                    TianTiRoleLogData tianTiRoleLogData;
                    lock (this.Mutex)
                    {
                        if (!this.TianTiRoleLogDataDict.TryGetValue(roleId, out tianTiRoleLogData))
                        {
                            tianTiRoleLogData = new TianTiRoleLogData();
                            this.TianTiRoleLogDataDict.Add(roleId, tianTiRoleLogData);
                            needLoad = true;
                        }
                    }
                    if (needLoad)
                    {
                        tianTiRoleLogData.LogItemList = DBQuery.GetTianTiLogItemDataList(dbMgr, roleId, 100);
                    }
                    lock (this.Mutex)
                    {
                        if (null != tianTiRoleLogData.LogItemList)
                        {
                            if (tianTiRoleLogData.LogItemList.Count > 0)
                            {
                                if (tianTiRoleLogData.LogItemList.Count > 100)
                                {
                                    int c = tianTiRoleLogData.LogItemList.Count - 100;
                                    if (c > 0)
                                    {
                                        tianTiRoleLogData.LogItemList.RemoveRange(100, c);
                                    }
                                }
                            }
                        }
                    }
                    client.sendCmd <List <TianTiLogItemData> >(nID, tianTiRoleLogData.LogItemList);
                }
            }
            else if (nID <= 3709)
            {
                if (nID != 3699)
                {
                    if (nID == 3709)
                    {
                        int              roleId   = DataHelper.BytesToObject <int>(cmdParams, 0, count);
                        bool             needLoad = false;
                        KF5V5RoleLogData kf5v5RoleLogData;
                        lock (this.Mutex)
                        {
                            if (!this.KF5V5RoleLogDataDict.TryGetValue(roleId, out kf5v5RoleLogData))
                            {
                                kf5v5RoleLogData = new KF5V5RoleLogData();
                                this.KF5V5RoleLogDataDict.Add(roleId, kf5v5RoleLogData);
                                needLoad = true;
                            }
                        }
                        if (needLoad)
                        {
                            kf5v5RoleLogData.LogItemList = DBQuery.GetT5v5ItemDataList(dbMgr, roleId, 100);
                        }
                        lock (this.Mutex)
                        {
                            if (null != kf5v5RoleLogData.LogItemList)
                            {
                                if (kf5v5RoleLogData.LogItemList.Count > 0)
                                {
                                    if (kf5v5RoleLogData.LogItemList.Count > 100)
                                    {
                                        int c = kf5v5RoleLogData.LogItemList.Count - 100;
                                        if (c > 0)
                                        {
                                            kf5v5RoleLogData.LogItemList.RemoveRange(100, c);
                                        }
                                    }
                                }
                            }
                        }
                        client.sendCmd <List <TianTiLogItemData> >(nID, kf5v5RoleLogData.LogItemList);
                    }
                }
                else
                {
                    int zhanDuiID = DataHelper.BytesToObject <int>(cmdParams, 0, count);
                    lock (this.Mutex)
                    {
                        AgeDataT <TianTi5v5ZhanDuiData> zhanDuiData;
                        if (this.ZhanDuiDataDict.TryGetValue(zhanDuiID, out zhanDuiData))
                        {
                            TimeUtil.AgeByNow(ref zhanDuiData.Age);
                            zhanDuiData.V = null;
                            this.ZhanDuiDataListNeedUpdate = true;
                            using (MyDbConnection3 conn = new MyDbConnection3(false))
                            {
                                string cmdText = string.Format("delete from t_kf_5v5_zhandui where zhanduiid={0}", zhanDuiID);
                                result = conn.ExecuteSql(cmdText, new MySQLParameter[0]);
                            }
                        }
                    }
                    client.sendCmd <int>(nID, result);
                }
            }
            else
            {
                switch (nID)
                {
                case 3715:
                {
                    AgeDataT <int> requestData = DataHelper.BytesToObject <AgeDataT <int> >(cmdParams, 0, count);
                    int            zhanDuiID   = requestData.V;
                    AgeDataT <TianTi5v5ZhanDuiData> zhanDuiData;
                    lock (this.Mutex)
                    {
                        if (this.ZhanDuiDataDict.TryGetValue(requestData.V, out zhanDuiData))
                        {
                            if (this.QueryZhanDuiRoleInfo(zhanDuiData.V))
                            {
                                TimeUtil.AgeByNow(ref zhanDuiData.Age);
                            }
                            if (requestData.Age == zhanDuiData.Age || zhanDuiData.V == null)
                            {
                                zhanDuiData = new AgeDataT <TianTi5v5ZhanDuiData>(zhanDuiData.Age, null);
                            }
                            goto IL_91C;
                        }
                    }
                    TianTi5v5ZhanDuiData data = new TianTi5v5ZhanDuiData();
                    using (MyDbConnection3 conn = new MyDbConnection3(false))
                    {
                        string sql = string.Format("select zhanduiname,xuanyan,`leaderid`,duanweiid,duanweijifen,duanweirank,liansheng,fightcount,successcount,lastfighttime,monthduanweirank,zhanli,data1,leaderrolename,zoneid,zorkjifen,zorkwin,zorkwinstreak,zorkbossinjure,zorklastfighttime,escapejifen,escapelastfighttime from t_kf_5v5_zhandui where zhanduiid={0}", zhanDuiID);
                        using (MySQLDataReader reader = conn.ExecuteReader(sql, new MySQLParameter[0]))
                        {
                            if (reader.Read())
                            {
                                data.ZhanDuiID    = zhanDuiID;
                                data.LeaderRoleID = Convert.ToInt32(reader["leaderid"].ToString());
                                data.XuanYan      = reader["xuanyan"].ToString();
                                data.ZhanDuiName  = reader["zhanduiname"].ToString();
                                data.DuanWeiId    = Convert.ToInt32(reader["duanweiid"].ToString());
                                data.ZhanDouLi    = Convert.ToInt64(reader["zhanli"].ToString());
                                byte[] bytes = (reader["data1"] as byte[]) ?? new byte[0];
                                data.teamerList          = DataHelper.BytesToObject <List <TianTi5v5ZhanDuiRoleData> >(bytes, 0, bytes.Length);
                                data.DuanWeiJiFen        = Convert.ToInt32(reader["duanweijifen"].ToString());
                                data.DuanWeiRank         = Convert.ToInt32(reader["duanweirank"].ToString());
                                data.LianSheng           = Convert.ToInt32(reader["liansheng"].ToString());
                                data.FightCount          = Convert.ToInt32(reader["fightcount"].ToString());
                                data.SuccessCount        = Convert.ToInt32(reader["successcount"].ToString());
                                data.LastFightTime       = Convert.ToDateTime(reader["lastfighttime"].ToString());
                                data.MonthDuanWeiRank    = Convert.ToInt32(reader["monthduanweirank"].ToString());
                                data.LeaderRoleName      = reader["leaderrolename"].ToString();
                                data.ZoneID              = Convert.ToInt32(reader["zoneid"].ToString());
                                data.ZorkJiFen           = Convert.ToInt32(reader["zorkjifen"].ToString());
                                data.ZorkWin             = Convert.ToInt32(reader["zorkwin"].ToString());
                                data.ZorkWinStreak       = Convert.ToInt32(reader["zorkwinstreak"].ToString());
                                data.ZorkBossInjure      = Convert.ToInt32(reader["zorkbossinjure"].ToString());
                                data.ZorkLastFightTime   = Convert.ToDateTime(reader["zorklastfighttime"].ToString());
                                data.EscapeJiFen         = Convert.ToInt32(reader["escapejifen"].ToString());
                                data.EscapeLastFightTime = Convert.ToDateTime(reader["escapelastfighttime"].ToString());
                            }
                        }
                    }
                    lock (this.Mutex)
                    {
                        if (data.ZhanDuiID > 0)
                        {
                            if (!this.ZhanDuiDataDict.TryGetValue(requestData.V, out zhanDuiData) || zhanDuiData.V == null)
                            {
                                zhanDuiData = new AgeDataT <TianTi5v5ZhanDuiData>(1L, data);
                                this.ZhanDuiDataDict[requestData.V] = zhanDuiData;
                            }
                        }
                        else
                        {
                            zhanDuiData = new AgeDataT <TianTi5v5ZhanDuiData>(requestData.Age + 1L, null);
                            this.ZhanDuiDataDict[requestData.V] = zhanDuiData;
                        }
                        if (this.QueryZhanDuiRoleInfo(zhanDuiData.V))
                        {
                            TimeUtil.AgeByNow(ref zhanDuiData.Age);
                        }
                    }
IL_91C:
                    client.sendCmd <AgeDataT <TianTi5v5ZhanDuiData> >(nID, zhanDuiData);
                    break;
                }

                case 3716:
                {
                    AgeDataT <TianTi5v5ZhanDuiData> zhanDuiData  = null;
                    AgeDataT <TianTi5v5ZhanDuiData> requestData2 = DataHelper.BytesToObject <AgeDataT <TianTi5v5ZhanDuiData> >(cmdParams, 0, count);
                    if (requestData2 != null && requestData2.V != null)
                    {
                        lock (this.Mutex)
                        {
                            TianTi5v5ZhanDuiData data = requestData2.V;
                            if (!this.ZhanDuiDataDict.TryGetValue(data.ZhanDuiID, out zhanDuiData))
                            {
                                zhanDuiData = new AgeDataT <TianTi5v5ZhanDuiData>(0L, data);
                                this.ZhanDuiDataDict[data.ZhanDuiID] = zhanDuiData;
                                this.ZhanDuiDataListNeedUpdate       = true;
                            }
                            else
                            {
                                if (zhanDuiData.V == null || zhanDuiData.V.LeaderRoleID != requestData2.V.LeaderRoleID || zhanDuiData.V.LeaderRoleName != requestData2.V.LeaderRoleName || zhanDuiData.V.DuanWeiId != requestData2.V.DuanWeiId)
                                {
                                    this.ZhanDuiDataListNeedUpdate = true;
                                }
                                if (requestData2.V.ZhanDuiDataModeType == 1)
                                {
                                    zhanDuiData.V.ZhanDuiID      = data.ZhanDuiID;
                                    zhanDuiData.V.XuanYan        = data.XuanYan;
                                    zhanDuiData.V.ZhanDuiName    = data.ZhanDuiName;
                                    zhanDuiData.V.LeaderRoleID   = data.LeaderRoleID;
                                    zhanDuiData.V.ZhanDouLi      = data.ZhanDouLi;
                                    zhanDuiData.V.teamerList     = data.teamerList;
                                    zhanDuiData.V.TeamerRidList  = data.TeamerRidList;
                                    zhanDuiData.V.LeaderRoleName = data.LeaderRoleName;
                                    zhanDuiData.V.ZoneID         = data.ZoneID;
                                }
                                else if (requestData2.V.ZhanDuiDataModeType == 0)
                                {
                                    zhanDuiData.V.DuanWeiId        = data.DuanWeiId;
                                    zhanDuiData.V.DuanWeiJiFen     = data.DuanWeiJiFen;
                                    zhanDuiData.V.DuanWeiRank      = data.DuanWeiRank;
                                    zhanDuiData.V.ZhanDouLi        = data.ZhanDouLi;
                                    zhanDuiData.V.LianSheng        = data.LianSheng;
                                    zhanDuiData.V.SuccessCount     = data.SuccessCount;
                                    zhanDuiData.V.FightCount       = data.FightCount;
                                    zhanDuiData.V.MonthDuanWeiRank = data.MonthDuanWeiRank;
                                    zhanDuiData.V.LastFightTime    = data.LastFightTime;
                                    using (List <TianTi5v5ZhanDuiRoleData> .Enumerator enumerator2 = zhanDuiData.V.teamerList.GetEnumerator())
                                    {
                                        while (enumerator2.MoveNext())
                                        {
                                            TianTi5v5ZhanDuiRoleData role        = enumerator2.Current;
                                            TianTi5v5ZhanDuiRoleData newRoleInfo = data.teamerList.Find((TianTi5v5ZhanDuiRoleData x) => x.RoleID == role.RoleID);
                                            if (null != newRoleInfo)
                                            {
                                                role.MonthFightCounts = newRoleInfo.MonthFightCounts;
                                                role.TodayFightCount  = newRoleInfo.TodayFightCount;
                                                role.MonthFigntCount  = newRoleInfo.MonthFigntCount;
                                                role.ZhanLi           = newRoleInfo.ZhanLi;
                                                role.RoleOcc          = newRoleInfo.RoleOcc;
                                                role.ZhuanSheng       = newRoleInfo.ZhuanSheng;
                                                role.Level            = newRoleInfo.Level;
                                                role.RebornLevel      = newRoleInfo.RebornLevel;
                                                role.ModelData        = newRoleInfo.ModelData;
                                            }
                                        }
                                    }
                                }
                            }
                            requestData2.Age = TimeUtil.AgeByNow(ref zhanDuiData.Age);
                            using (MyDbConnection3 conn = new MyDbConnection3(false))
                            {
                                data = zhanDuiData.V;
                                if (null != data)
                                {
                                    MySQLParameter p          = new MySQLParameter("@p1", data.ZhanDuiName);
                                    MySQLParameter p2         = new MySQLParameter("@p2", data.XuanYan);
                                    string         teamerList = DataHelper.ObjectToHexString <List <TianTi5v5ZhanDuiRoleData> >(data.teamerList);
                                    string         cmdText    = string.Format("INSERT INTO t_kf_5v5_zhandui (zhanduiid,zhanduiname,xuanyan,`leaderid`,duanweiid,duanweijifen,duanweirank,liansheng,fightcount,successcount,lastfighttime,monthduanweirank,zhanli,data1,leaderrolename,zoneid) VALUES({0},@p1,@p2,{3},{4},{5},{6},{7},{8},{9},'{10}',{11},{12},{14},'{13}',{15}) ON DUPLICATE KEY UPDATE zhanduiname=@p1,xuanyan=@p2,leaderid={3},duanweiid={4},duanweijifen={5},duanweirank={6},liansheng={7},fightcount={8},successcount={9},lastfighttime='{10}',monthduanweirank={11},zhanli={12},data1={14},leaderrolename='{13}',zoneid={15}", new object[]
                                        {
                                            data.ZhanDuiID,
                                            data.ZhanDuiName,
                                            data.XuanYan,
                                            data.LeaderRoleID,
                                            data.DuanWeiId,
                                            data.DuanWeiJiFen,
                                            data.DuanWeiRank,
                                            data.LianSheng,
                                            data.FightCount,
                                            data.SuccessCount,
                                            data.LastFightTime,
                                            data.MonthDuanWeiRank,
                                            data.ZhanDouLi,
                                            data.LeaderRoleName,
                                            teamerList,
                                            data.ZoneID
                                        });
                                    int ret = conn.ExecuteSql(cmdText, new MySQLParameter[]
                                        {
                                            p,
                                            p2
                                        });
                                }
                            }
                        }
                    }
                    client.sendCmd <AgeDataT <TianTi5v5ZhanDuiData> >(nID, zhanDuiData);
                    break;
                }

                case 3717:
                {
                    int[]      args     = DataHelper.BytesToObject <int[]>(cmdParams, 0, count);
                    DBRoleInfo roleInfo = dbMgr.GetDBRoleInfo(ref args[0]);
                    if (null != roleInfo)
                    {
                        roleInfo.ZhanDuiID    = args[1];
                        roleInfo.ZhanDuiZhiWu = args[2];
                        using (MyDbConnection3 conn = new MyDbConnection3(false))
                        {
                            string cmdText = string.Format("update t_roles set zhanduiid={1},zhanduizhiwu={2} where rid={0}", roleInfo.RoleID, roleInfo.ZhanDuiID, roleInfo.ZhanDuiZhiWu);
                            result = conn.ExecuteSql(cmdText, new MySQLParameter[0]);
                        }
                    }
                    client.sendCmd <int>(nID, result);
                    break;
                }

                case 3718:
                case 3719:
                case 3720:
                case 3721:
                    break;

                case 3722:
                {
                    AgeDataT <TianTi5v5ZhanDuiData> zhanDuiData  = null;
                    AgeDataT <TianTi5v5ZhanDuiData> requestData2 = DataHelper.BytesToObject <AgeDataT <TianTi5v5ZhanDuiData> >(cmdParams, 0, count);
                    if (requestData2 != null && requestData2.V != null)
                    {
                        lock (this.Mutex)
                        {
                            TianTi5v5ZhanDuiData data = requestData2.V;
                            if (!this.ZhanDuiDataDict.TryGetValue(data.ZhanDuiID, out zhanDuiData))
                            {
                                client.sendCmd(30767, "0");
                                break;
                            }
                            zhanDuiData.V.ZorkJiFen         = data.ZorkJiFen;
                            zhanDuiData.V.ZorkWin           = data.ZorkWin;
                            zhanDuiData.V.ZorkWinStreak     = data.ZorkWinStreak;
                            zhanDuiData.V.ZorkBossInjure    = data.ZorkBossInjure;
                            zhanDuiData.V.ZorkLastFightTime = data.ZorkLastFightTime;
                            requestData2.Age = TimeUtil.AgeByNow(ref zhanDuiData.Age);
                            using (MyDbConnection3 conn = new MyDbConnection3(false))
                            {
                                string cmdText = string.Format("UPDATE t_kf_5v5_zhandui SET zorkjifen={1}, zorkwin={2}, zorkwinstreak={3}, zorkbossinjure={4}, zorklastfighttime='{5}' WHERE zhanduiid={0}; ", new object[]
                                    {
                                        data.ZhanDuiID,
                                        data.ZorkJiFen,
                                        data.ZorkWin,
                                        data.ZorkWinStreak,
                                        data.ZorkBossInjure,
                                        data.ZorkLastFightTime
                                    });
                                int ret = conn.ExecuteSql(cmdText, new MySQLParameter[0]);
                            }
                        }
                    }
                    client.sendCmd <AgeDataT <TianTi5v5ZhanDuiData> >(nID, zhanDuiData);
                    break;
                }

                case 3723:
                {
                    AgeDataT <TianTi5v5ZhanDuiData> zhanDuiData  = null;
                    AgeDataT <TianTi5v5ZhanDuiData> requestData2 = DataHelper.BytesToObject <AgeDataT <TianTi5v5ZhanDuiData> >(cmdParams, 0, count);
                    if (requestData2 != null && requestData2.V != null)
                    {
                        lock (this.Mutex)
                        {
                            TianTi5v5ZhanDuiData data = requestData2.V;
                            if (!this.ZhanDuiDataDict.TryGetValue(data.ZhanDuiID, out zhanDuiData))
                            {
                                client.sendCmd(30767, "0");
                                break;
                            }
                            zhanDuiData.V.EscapeJiFen         = data.EscapeJiFen;
                            zhanDuiData.V.EscapeLastFightTime = data.EscapeLastFightTime;
                            requestData2.Age = TimeUtil.AgeByNow(ref zhanDuiData.Age);
                            using (MyDbConnection3 conn = new MyDbConnection3(false))
                            {
                                string cmdText = string.Format("UPDATE t_kf_5v5_zhandui SET escapejifen={1}, escapelastfighttime='{2}' WHERE zhanduiid={0}; ", data.ZhanDuiID, data.EscapeJiFen, data.EscapeLastFightTime);
                                int    ret     = conn.ExecuteSql(cmdText, new MySQLParameter[0]);
                            }
                        }
                    }
                    client.sendCmd <AgeDataT <TianTi5v5ZhanDuiData> >(nID, zhanDuiData);
                    break;
                }

                default:
                    switch (nID)
                    {
                    case 10200:
                    {
                        TianTiLogItemData tianTiLogItemData = DataHelper.BytesToObject <TianTiLogItemData>(cmdParams, 0, count);
                        if (tianTiLogItemData != null && tianTiLogItemData.RoleId > 0)
                        {
                            lock (this.Mutex)
                            {
                                TianTiRoleLogData tianTiRoleLogData;
                                if (this.TianTiRoleLogDataDict.TryGetValue(tianTiLogItemData.RoleId, out tianTiRoleLogData))
                                {
                                    tianTiRoleLogData.LogItemList.Insert(0, tianTiLogItemData);
                                }
                            }
                            DBWriter.InsertTianTiItemLog(DBManager.getInstance(), tianTiLogItemData);
                        }
                        client.sendCmd <int>(nID, result);
                        break;
                    }

                    case 10201:
                    {
                        RoleTianTiData roleTianTiData = DataHelper.BytesToObject <RoleTianTiData>(cmdParams, 0, count);
                        if (null != roleTianTiData)
                        {
                            DBRoleInfo dbRoleInfo = dbMgr.GetDBRoleInfo(ref roleTianTiData.RoleId);
                            if (null != dbRoleInfo)
                            {
                                lock (dbRoleInfo)
                                {
                                    dbRoleInfo.TianTiData = roleTianTiData;
                                    DBWriter.UpdateTianTiRoleData(dbMgr, roleTianTiData);
                                }
                            }
                        }
                        client.sendCmd <int>(nID, result);
                        break;
                    }

                    case 10202:
                    {
                        int[] dataArray = DataHelper.BytesToObject <int[]>(cmdParams, 0, count);
                        if (dataArray != null && dataArray.Length == 2)
                        {
                            DBRoleInfo dbRoleInfo = dbMgr.GetDBRoleInfo(ref dataArray[0]);
                            if (null != dbRoleInfo)
                            {
                                lock (dbRoleInfo)
                                {
                                    dbRoleInfo.TianTiData.RongYao = dataArray[1];
                                    if (dbRoleInfo.TianTiData.LastFightDayId > 0)
                                    {
                                        result = DBWriter.UpdateTianTiRoleRongYao(dbMgr, dataArray[0], dataArray[1]);
                                    }
                                    else
                                    {
                                        result = DBWriter.UpdateTianTiRoleData(dbMgr, dbRoleInfo.TianTiData);
                                    }
                                }
                            }
                        }
                        client.sendCmd <int>(nID, result);
                        break;
                    }
                    }
                    break;
                }
            }
        }