当前位置: 首页 > 面试题库 >

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

段干麒
2023-03-14
问题内容

我一直在寻找如何从数据库中检索二进制数据。我的查询工作正常,因为它在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在数据库中)。

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


问题答案:

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();


 类似资料:
  • 我有一个带有一列的oracle数据库表(数据类型-NUMBER)。 该列中存储的数据为1.1, 但在Oracle SQL Developer中,它显示为-1.100000000000000000008881784197001252323389,而当我使用java(JDBC)连接DB时,它也显示相同。

  • 问题内容: 我正在使用jdbc编写程序,该程序将成为数据库的接口(类似于CRUD应用程序)。我假设我必须编写一个类(例如),该类将对数据库执行所有操作(以及可能会简化为这些操作的某些其他逻辑)。用户界面由一组表和一些按钮组成。要使用Jtable,我需要实现一个类(例如),它是AbstractTableModel的子类。因此,此类将向用户显示我的数据。我需要为数据库架构中的所有表实现这种模型。我不想

  • 这是我的数据库代码,我想从我的数据库中检索名称,并将其显示在listview中,在下面发布的另一个java文件中显示为profilelist.jar。但是我不能这样做,请告诉我这段代码是否正确? profileList.java 我在a.vaccination.datahandler.getTitle(datahandler.java:115)和a.vaccination.profilelist.

  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 如何在MySQL中存储二进制数据? 问题答案: phpguy的答案是正确的,但我认为那里的其他细节存在很多混乱。 基本答案是在数据类型/属性域中。 BLOB 是Binary Large Object的缩写,该列数据类型专用于处理二进制数据。 请参见MyS

  • 本文向大家介绍ASP.NET实现图片以二进制的形式存入数据库,包括了ASP.NET实现图片以二进制的形式存入数据库的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式讲述了ASP.NET实现图片以二进制的形式存入数据库的方法。过去我们都是直接在数据库中存入图片文件名的,还没有试过存储整张图片到数据库中,经过一番资料查询与测试,整理出了如下的功能代码: 1.建立保存图片的表的SQL语句: 2.下

  • 问题内容: 我正在从Nodejs服务器接收绑定,现在需要显示图像。 我该如何实现?有什么方法可以将bindata转换为JPEG或任何其他格式?还是可以在服务器中将其转换然后发送该图像以作出反应? 这是我尝试使用图片标签显示二进制数据()的方法: 这是我的详细反应代码段: 这是我的nodejs代码片段: 问题答案: 如果二进制数据表示为 base64 字符串: 如果您只有图片网址,则只需执行以下操作