繁体   English   中英

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

[英]How to retrieve byte array from database in 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 []”。

我不确定您使用了哪种编码,但是如果您想将字符串转换为字节数组,则

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

而.NET默认使用UTF16,因此要使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM