Get byte[] from the SqlDataReader?



我有一个带有varbinary(MAX)参数的表。执行查询后,我将结果存储在 SqlDataReader 中,因为它有多个列作为输出。

SqlCommand cmd = new SqlCommand("select leave_details from LeaveTable");
SqlDataReader obj;
con.Open();
obj = cmd.ExecuteReader();

现在我想将每一行的结果转换为byte[]

这个不起作用:

byte[] b=null;
obj.GetBytes(0,0,b,0,1024);

尝试GetValue()方法。

byte[] b=null;
b=(byte [])obj.GetValue(0);
//OR
b=(byte [])obj[0];
string bytesfromsql = "01010101010110010111010001"; //for example
byte[] bytes = new byte[bytesfromsql.Length];
for (int i = 0; i < bytes.Count(); i++)
{
   bytes[i] = byte.Parse(bytesfromsql[i].ToString());
}

相关内容

最新更新