private static GeneralRecordData LoadSingleTableUserInfo(List<string> primaryKeys)
{
GeneralRecordData ret = null;
try {
using (MySqlCommand cmd = new MySqlCommand()) {
cmd.Connection = DBConn.MySqlConn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "LoadSingleTableUserInfo";
if(primaryKeys.Count != 1)
throw new Exception("primary key number don't match !!!");
MySqlParameter inputParam;
inputParam = new MySqlParameter("@_Guid", MySqlDbType.UInt64);
inputParam.Direction = ParameterDirection.Input;
inputParam.Value = (ulong)Convert.ChangeType(primaryKeys[0],typeof(ulong));
cmd.Parameters.Add(inputParam);
using (DbDataReader reader = cmd.ExecuteReader()) {
if (reader.Read()) {
ret = new GeneralRecordData();
object val;
TableUserInfo msg = new TableUserInfo();
val = reader["Guid"];
msg.Guid = (ulong)val;
ret.PrimaryKeys.Add(val.ToString());
val = reader["AccountId"];
msg.AccountId = (string)val;
ret.ForeignKeys.Add(val.ToString());
val = reader["Nickname"];
msg.Nickname = (string)val;
val = reader["HeroId"];
msg.HeroId = (int)val;
val = reader["CreateTime"];
msg.CreateTime = (string)val;
val = reader["LastLogoutTime"];
msg.LastLogoutTime = (string)val;
val = reader["Level"];
msg.Level = (int)val;
val = reader["ExpPoints"];
msg.ExpPoints = (int)val;
val = reader["SceneId"];
msg.SceneId = (int)val;
val = reader["PositionX"];
msg.PositionX = (float)val;
val = reader["PositionZ"];
msg.PositionZ = (float)val;
val = reader["FaceDir"];
msg.FaceDir = (float)val;
val = reader["Money"];
msg.Money = (int)val;
val = reader["Gold"];
msg.Gold = (int)val;
val = reader["SummonerSkillId"];
msg.SummonerSkillId = (int)val;
val = reader["IntDatas"];
msg.IntDatas = (string)val;
val = reader["FloatDatas"];
msg.FloatDatas = (string)val;
val = reader["StringDatas"];
msg.StringDatas = (string)val;
ret.DataVersion = (int)reader["DataVersion"];
ret.Data = DbDataSerializer.Encode(msg);
}
}
}
} catch (Exception ex) {
DBConn.Close();
throw ex;
}
return ret;
}