por Cesar Cassiano Schimanco

ASP.NET - MySQL retornando System.Byte[]

Tive um problema ao converter um valor de uma consulta no MySql.
Meu código estava retornando System.Byte[].

using (MySqlConnection conn = new MySqlConnection(connectionstring))
{
    string sql = @"SELECT username, nome FROM users
					UNION 
					SELECT username, nome FROM clients";

    MySqlCommand cmd = new MySqlCommand(sql, conn);
    conn.Open();
    MySqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        Response.Write(Convert.ToString(dr["username"]));
    }
    conn.Close();
}

Ai descobri que, quando o MySql une dois tipos de dados diferentes, pode retornar System.Byte[]
Então para resolver este problema, bastou trocar o Convert.ToString(dr["username"])) para dr.GetString("username").

using (MySqlConnection conn = new MySqlConnection(connectionstring))
{
    string sql = @"SELECT username, nome FROM users
					UNION 
					SELECT username, nome FROM clients";

    MySqlCommand cmd = new MySqlCommand(sql, conn);
    conn.Open();
    MySqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        Response.Write(dr.GetString("username"));
    }
    conn.Close();
}


 

Comentários

Carregando comentários

Postar um novo comentário



Processando...