18

我有带有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);
4

2 回答 2

38

试试GetValue()方法。

byte[] b=null;
b=(byte [])obj.GetValue(0);
//OR
b=(byte [])obj[0];
于 2012-12-19T08:30:20.790 回答
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());
}
于 2012-12-19T08:33:27.607 回答