如何在C#中从数据库中检索字节数组?

时间:2014-07-19 09:09:10

标签: c#

我试图从表的varBinary(max)列获取一个字节数组: -

    SqlDataAdapter sda=new SqlDataAdapter("select * from mine", sqlconn);
    DataTable dt=new DataTable();
    sda.Fill(dt);
    string fileName=dt.Rows[0][0].ToString();
    byte[] file = (byte[])dt.Rows[0][1];

但是我得到一个例外:无法将'System.String'类型的对象强制转换为'System.Byte []'。

1 个答案:

答案 0 :(得分:0)

我不确定您使用了什么编码,但如果您想将字符串转换为字节数组,那么

byte[] File=System.Text.UTF8Encoding.ASCII.GetBytes(fileName); /**Customized Encoding**/

并且默认情况下.NET使用UTF16,所以要使用

byte[] File = System.Text.Encoding.Unicode.GetBytes(fileName); /**Default Encoding**/