2011-10-11 98 views

回答

19
private static byte[] getDocument(int documentId) 
{ 
    using (SqlConnection cn = new SqlConnection("...")) 
    using (SqlCommand cm = cn.CreateCommand()) 
    { 
     cm.CommandText = @" 
      SELECT DocumentData 
      FROM Document 
      WHERE DocumentId = @Id"; 
     cm.Parameters.AddWithValue("@Id", documentId); 
     cn.Open(); 
     return cm.ExecuteScalar() as byte[]; 
    } 
} 
+4

哎downvoter,有什么不对? –

+3

使用'@Downvoter'来吸引他们的注意力。 –

+2

他有什么反对木偶我猜... – RoastBeast

0

你必须选择DATALENGTH(数据)以及

,其中数据是你的varbinary(最大)

int i=0; 
long dataLen = dr.GetInt64(i++); 
if (dataLen > 0) 
{ 
    Data = new byte[dataLen]; 
    dr.GetBytes(i++, 0, Data, 0, (int)dataLen); 
} 
相关问题