简体   繁体   English

从SqlDataReader获取byte []?

[英]Get byte[] from the SqlDataReader?

I have table with varbinary(MAX) parameter. 我有varbinary(MAX)参数的表。 After executing the query, i will store the result in SqlDataReader as it has multiple columns as output. 执行查询后,我将结果存储在SqlDataReader中,因为它有多列作为输出。

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

Now I want to convert the result for each row into byte[]. 现在我想将每行的结果转换为byte []。

This one is not working : : 这个不起作用:

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

Try GetValue() method. 尝试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());
}

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

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