从数据库中提取varbinary并将其转换为字符串

本文关键字:转换 字符串 数据库 提取 varbinary | 更新日期: 2023-09-27 17:50:02

我对c#很陌生(我相信你会知道),我知道这个问题已经被问过几次了,但是没有一个解决方案对我有效。

我试图将Varbinary(MAX)值从数据库中取出并将其存储为字符串。我用SqlDataReader把其他的列提出来,这很好。所有我使用的是.ToString(),但如果我使用ToString()的标志,它返回System.Byte[]

    public TemplateData(SqlDataReader dr)
    {
        initialiseData();
        if (dr.HasRows)
        {
            Logo = dr["Logo"].ToString();
            TemplateId = dr["TemplateId"].ToString();
            Comment = dr["Comment"].ToString();
            SchemeCode = dr["SchemeCode"].ToString();
            Version = dr["Version"].ToString();
        }
    }

我也有很多问题,但我现在就把它们放在这里。

干杯!

从数据库中提取varbinary并将其转换为字符串

转换为字节数组,然后进行转换,例如:

byte[] data = (byte[])row["BinaryColumn"];
string str = Encoding.UTF8.GetString(data);
然而,这是在假设二进制某种字符串,否则你可能想要Base-64:
string str = Convert.ToBase64String(data);