2010-04-17 13 views
5

Ho bisogno di leggere un BLOB e memorizzarlo in un byte [], prima di andare avanti con Deserializing;Conversione in matrice di byte dopo aver letto un BLOB da SQL in C#

considerare:

//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[] 

    } 

ho bisogno di aiuto in questo C# dichiarazione, come io non sono in grado di convertire un tipo di oggetto in un byte []. Nota: il campo "Data" nella tabella è un blob e non di tipo Date;

Aiuto apprezzato; Soham

+0

Si può prendere uno sguardo alla risposta che ho dato a una domanda simile: http://stackoverflow.com/questions/625029/how-do-i-store-and-retrieve-a-blob-from -sqlite/625485 # 625485 –

risposta

11

Proprio il cast del valore di un array di byte:

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

Un blob nelle mappe del database per un array di byte in .NET, in modo che il driver del database hanno già fatto che la conversione per voi.

+0

Grazie mille, aiuto apprezzato ha funzionato! – Soham

0

Se "Data" è un blob, dovrebbe già venuto fuori come un byte [] - non so perché si sta chiamando ToString(), ma Byte.Parse analizzerà solo un singolo byte di.

+0

Sì grazie Marc, stavo solo facendo tentativi ed errori. – Soham

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

Sandeep si, giusto. Ma non posso "segnare" il segno e accettare entrambe le tue risposte. – Soham

Problemi correlati