strsql = "select bag from chardata where charname=" + "'" + name + "'";   
MySQLCommand cmd = new MySQLCommand(strsql, conn);
  DbDataReader reader = cmd.ExecuteReader();读一个MYSQL数据类型是VarBinary类型  byte[] buffer = new byte[1024];
  long lth = reader.GetBytes(0, 0, buffer, 0, 1024);  或者
byte[] byteFileStream = Convert.FromBase64String(reader["bag"].ToString()); 这样会报错 说system.string 不能强制转化成 system.byte[] 是读不出的···请问这个类型要怎么读···

解决方案 »

  1.   

    byte[] byteFileStream = new System.Text.UnicodeEncoding().GetBytes(reader["bag"].ToString());  
      

  2.   

    试试这个: 
    long len=reader.GetBytes(reader.GetOrdinal("bag"), 0, null, 0, Int32.MaxValue);
     byte []tmp = new byte[len];
     reader.GetBytes(reader.GetOrdinal("bag"), 0, tmp , 0, (int)len);
      

  3.   

    long len = reader.GetBytes(reader.GetOrdinal("bag"), 0, null, 0, Int32.MaxValue);这句的时候 还是报说system.string 不能强制转化成 system.byte[]我有想哭的感觉