我有一个数据类型为 varBinary 的数据库字段。现在我想在 gridView 中显示该数据。但我得到输出:
System.Byte[]
不是值
0x2C6D1A
它在数据库中。
请帮忙解决这个问题。
最佳答案
您可以使用BitConverter
类来格式化字节数组以用于显示目的:
string forDisplay =
"0x" + BitConverter.ToString(yourByteArray).Replace("-", string.Empty);
如果您不想直接转换为字符串
,则 BitConverter
has a load of methods用于从字节数组转换为各种其他类型。
编辑...
如果您将某些查询结果直接绑定(bind)到 GridView
控件,那么将 VARBINARY
列转换为 VARCHAR
可能会更容易在查询本身中:
SELECT CONVERT(VARCHAR(MAX), your_varbinary_column, 1) AS for_display
FROM your_table
(注意:这种类型的转换 - 从 '0x1234AB'
格式的 VARBINARY
到 VARCHAR
- 仅在 SQL 中正确工作Server 2008。早期版本的 SQL Server 只是将二进制数据直接转换为字符数据。)
关于c# - 如何显示varBinary字段数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/938705/