在标签中显示arbinary值

时间:2009-11-23 23:40:43

标签: c# asp.net sql-server

我想将数据库中的值添加到标签中。

该值的数据类型为 varbinary(max)

string buF = dt.Rows[i]["BuF"].ToString();
Label3.Text = buF;

为此,我得到的输出为System.Byte[],这不是正确的值。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:2)

这听起来像BitConverter班的工作:

string buF = BitConverter.ToString((byte[])dt.Rows[i]["BuF"]);
Label3.Text = buF;

请注意,这将在输出字符串中的每个byte值之间插入连字符。如果你想删除连字符和/或生成不同的字符串格式,那么你可以做这样的事情,例如:

string buF =
    "0x" + BitConverter.ToString((byte[])dt.Rows[i]["BuF"]).Replace("-", "");
Label3.Text = buF;

答案 1 :(得分:0)

数据是否被某种文本编码为二进制文件?然后使用适当的Encoding GetString ()。您必须使用相同的编码类型(ASCIIUTF8Unicode等),或者使用适当的CodePage为该二进制字段中的任何内容构建一个。