2010-04-17 13 views
5

Necesito leer un BLOB y almacenarlo en un byte [], antes de seguir adelante con la deserialización;Conversión a matriz de bytes después de leer un BLOB de SQL en C#

considerar:

//Reading the Database with DataAdapterInstance.Fill(DataSet); 
    DataTable dt = DataSet.Tables[0]; 
    foreach (DataRow row in dt.Rows) 
    { 
    byte[] BinDate = Byte.Parse(row["Date"].ToString()); // convert successfully to byte[] 

    } 

Necesito ayuda en esta instrucción # C, ya que no soy capaz de convertir un tipo de objeto en un byte []. Tenga en cuenta que el campo "Fecha" en la tabla es un blob y no de tipo Fecha;

Ayuda apreciada; Soham

+0

Usted puede echar un vistazo a la respuesta que he dado a una pregunta similar: http://stackoverflow.com/questions/625029/how-do-i-store-and-retrieve-a-blob-from -sqlite/625485 # 625485 –

Respuesta

11

Sólo convertir el valor a una matriz de bytes:

byte[] binDate = (byte[])row["Date"]; 

una burbuja en los mapas de base de datos a una matriz de bytes en .NET, por lo que el controlador de base de datos ya lo han hecho que la conversión para usted.

+0

Muchas gracias, la ayuda se agradeció ¡funcionó! – Soham

0

Si "fecha" es una mancha, ya debería salir como un byte [] - no sé por qué está llamando ToString(), pero Byte.Parse sólo analizará un solo byte .

+0

Sí, gracias Marc, estaba haciendo prueba y error. – Soham

2
byte[] binDate = (byte[])row["Date"]; 
+0

Sandeep sí, a la derecha. Pero no puedo "marcar" y aceptar ambas respuestas. – Soham

Cuestiones relacionadas