繁体   English   中英

错误:GetCharacters System.InvalidCastException:指定的强制类型转换无效的服务器

[英]Error: GetCharacters System.InvalidCastException: Specified cast is not valid server

错误

System.InvalidCastException:指定的强制转换无效。

71号线

Tamer.Partner = GetDigimon((uint)(int)dr["partner"]);

下面的代码示例

public static List<Character> GetCharacters(uint AcctId)
{
    List<Character> chars = new List<Character>();
    try
    {
        using (MySqlCommand cmd = new MySqlCommand(
            "SELECT * FROM `chars` WHERE `accountId` = @id"
            , Connect()))
        {
            cmd.Parameters.AddWithValue("@id", AcctId);

           using(MySqlDataReader dr = cmd.ExecuteReader())
           {
               if (dr.HasRows)
               {
                   while (dr.Read())
                   {
                       Character Tamer = new Character();
                       Tamer.AccountId = AcctId;
                       Tamer.CharacterId = Convert.ToUInt32((int)dr["characterId"]); ;
                       Tamer.Model = (CharacterModel)(int)dr["charModel"];
                       Tamer.Name = (string)dr["charName"];
                       Tamer.Level = (int)dr["charLv"];
                       Tamer.Location = new Helpers.Position((short)(int)dr["map"], (int)dr["x"], (int)dr["y"]);

                       Tamer.Partner = GetDigimon((uint)(int)dr["partner"]);
                       if (dr["mercenary1"] != DBNull.Value)
                       {
                           int mercId = (int)dr["mercenary1"];
                           Digimon merc = GetDigimon((uint)mercId);
                           Tamer.DigimonList[1] = merc;
                       }
                       if (dr["mercenary2"] != DBNull.Value)
                       {
                           int mercId = (int)dr["mercenary2"];
                           Digimon merc = GetDigimon((uint)mercId);
                           Tamer.DigimonList[2] = merc;
                       }

不知道为什么要尝试执行此转换。 但是,尝试一下

Convert.ToUInt32(Convert.ToInt32(dr["partner"]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM