Wah*_*eed 2 c# sql sql-server asp.net
我有一个数据库字段,其dataType是varBinary.现在在gridView中我想显示该数据.但我得到输出:
System.Byte[]
Run Code Online (Sandbox Code Playgroud)
不是价值
0x2C6D1A
Run Code Online (Sandbox Code Playgroud)
这是在数据库中.
请帮忙解决这个问题.
您可以使用BitConverter该类来格式化字节数组以用于显示目的:
string forDisplay =
"0x" + BitConverter.ToString(yourByteArray).Replace("-", string.Empty);
Run Code Online (Sandbox Code Playgroud)
如果您不想直接转换为a string,那么BitConverter有一堆方法可以将字节数组转换为各种其他类型.
编辑...
如果您将某些查询结果直接绑定到GridView控件,则可能更容易将VARBINARY列转换VARCHAR为查询本身中的a:
SELECT CONVERT(VARCHAR(MAX), your_varbinary_column, 1) AS for_display
FROM your_table
Run Code Online (Sandbox Code Playgroud)
(注:此类型的转换-从VARBINARY到VARCHAR的'0x1234AB'格式-只是正常工作在SQL Server 2008的早期版本的SQL Server只需要直接投的二进制数据的字符数据.)