2011-10-11 4 views
7

में SQL सर्वर से बाइट [] से varbinary (MAX) पुनर्प्राप्त करें मैं SQL सर्वर से varbinary(MAX) को byte[] चर में C# में प्राप्त करने का प्रयास कर रहा हूं।सी #

मैं यह कैसे कर सकता हूं?

धन्यवाद

उत्तर

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); 
}