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);*/ }
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; } }
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()); } }
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); }
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); }
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; } }
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); } }
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); }
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(); } }
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); }
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(); }
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);*/ }
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; } } }