2010-04-17 3 views
5

Muszę odczytać obiekt BLOB i zapisać go w bajcie [], zanim przejdę do następnego kroku z deserializacją;Konwertowanie do tablicy bajtowej po odczytaniu obiektu BLOB z kodu SQL w języku C#

Rozważmy:

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

    } 

Potrzebuję pomocy w tym C# oświadczeniem, jak nie jestem w stanie konwertować typ obiektu do byte []. Uwaga: pole "Data" w tabeli to obiekt typu blob, a nie typu Date;

Pomoc doceniona; Soham

+0

Można spojrzeć na odpowiedź dałem podobnym pytaniem: http://stackoverflow.com/questions/625029/how-do-i-store-and-retrieve-a-blob-from -sqlite/625485 # 625485 –

Odpowiedz

11

Wystarczy rzucić wartości do tablicy bajtów:

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

kropelka na mapach baz danych do tablicy bajtów w .NET, więc kierowca bazie zrobiono tę konwersję.

+0

Wielkie dzięki, pomoc doceniona zadziałało! – Soham

0

Jeśli „Data” jest kropelka, to powinien już wyjść jako byte [] - nie wiem, dlaczego dzwonisz ToString(), ale Byte.Parse będzie analizować jedynie pojedynczy bajt.

+0

Tak, dzięki Marc, właśnie robiłem próbę i błąd. – Soham

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

Sandeep tak, racja. Ale nie mogę "zaznaczyć" i zaakceptować obu twoich odpowiedzi. – Soham

Powiązane problemy