锋531 2024-02-19 19:47 采纳率: 88.1%
浏览 9
已结题

C# 读取Mysql数据问题!

img


在表中更新这个数据,然后打印结果是System.Byte[],估计编码有点问题,还是怎么样

img


这个问题应该怎么解决呢!

  • 写回答

4条回答 默认 最新

  • 樱桃丶老丸子 2024-02-20 09:51
    关注

    因为你的mysql参数类型是VARBINARY 然后又转成了byte[] 又使用了字符串拼接 在字符串拼接时 byte[]类型的ToStrin() 等于System.Byte[] 所以在你读取的时候也是System.Byte[]

    类型是VARBINARY的情况下 不需要转换位byte[]
    直接这样写就行了 "update uosg set Equips='你好啊啊' where ID=1"

    假如要存储 byte[] 的数据 在mysql中 字段需要是 TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB其中一个类型
    且在写sql语句的时候不能使用上述写法 需要写成参数化传参

    var sql1 = "update uosg set Equips=@Equips where ID=1";
    cmd = new MySq1Command(sq1mysql);
    MySqlParameter Parameter= new MySqlParameter();
    Parameter.ParameterName = "@Equips ";
    Parameter.Value = new byte[]{1,2,3};
    cmd.Parameters.Add(Parameter)
    cmd.ExecuteNonQuery ();
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月22日
  • 创建了问题 2月19日