我用的是c#连接mysql数据库
数据库中有了一列用的是text类型的,可是我在取出数据的时候却显示System.Byte[]
请问这是怎么回事啊?请教大家帮帮我啊

解决方案 »

  1.   

    TEXT本来就是BLOB类型BYTE型的。如果是字符串,你可以用char 或 varchar参见MYSQL的官方手册。
    http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#blob
    11.4.3. BLOB和TEXT类型
    
      

  2.   

    修改mysql配置文件my.ini,设置字符集为gb2312
      

  3.   


    LZ 感觉是 Byte 型有什么不妥么?
      

  4.   

    读取时先存到byte[]中,然后在转换为字符串。
      

  5.   

    连接字符串加上字符集:
      <add name="ConnStr" connectionString="server=127.0.0.1;port=3306;user id=root;password=root;persist security info=True;database=DB1;charset=gbk;allow zero datetime=true;" providerName="MySql.Data.MySqlClient"/>
      

  6.   

    我用text是用来存新闻的啊,我觉得用char和varchar怕以后内容多了存不了
    所用的是text类型的
      

  7.   

    检查一你的字符集,然后类似于下面这种在C#程序中强制转换一下。下面是我转oracle一个字符集时用的。System.Text.Encoding.GetEncoding("gb2312").GetString(System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(row[1].ToString())),