微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c#/ asp.net显示数据库中的二进制数据

如何解决c#/ asp.net显示数据库中的二进制数据

Bin_retriever[“binary”].ToString()

看起来很致命。对于二进制数据,您可以期望到达byte[]此处。您不能只调用ToString()此类- 您可能会得到类型名称。那么,您想如何显示它?十六进制?

byte[] raw = (byte[]) Bin_retriever["binary"];

现在按照您选择的格式进行格式化。例如:

var builder = new StringBuilder(raw.Length * 2);
for(int i = 0 ; i < raw.Length ; i++)
    builder.Append(raw[i].ToString("x2"));
string hex = builder.ToString();

解决方法

我一直在寻找如何从数据库中检索二进制数据。我的查询工作正常,因为它在SQL管理器中显示了二进制数据。

但是在Visual Studio 2010中,它只是向我显示<Binary Data>,我个人认为这不是问题,但是如果我尝试检索它并将其存储在变量中,则它只是空的。只要与二进制数据无关,任何其他查询都可以工作…

而且我不想使用数据网格或其他任何东西,因为我只需要将其用作变量。

SqlCommand CMDbinary = new SqlCommand("SELECT Binary_field AS binary "
                                      + "FROM BIN_table",abc_conn);

SqlDataReader Bin_retriever = CMDbinary.ExecuteReader();
while (Bin_retriever.Read())
{
    BIN.Add(Bin_retriever["binary"].ToString());
}
abc_conn.Close();

我知道这不是完整的代码,但这是出问题的地方,我假设我必须做一些特殊的事情才能显示二进制信息,因为(我再说一遍)如果更改Binary_fieldUID(即一个varchar在数据库中)。

在此方面的任何帮助都将受到欢迎,在此先谢谢您!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。