Преобразование в байтовый массив после чтения BLOB из SQL в C # - PullRequest
5 голосов
/ 17 апреля 2010

Мне нужно прочитать BLOB и сохранить его в байте [], прежде чем приступить к десериализации;

Рассмотрим:

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

    }

Мне нужна помощь в этом операторе C #, так как я не могу преобразовать тип объекта в байт []. Обратите внимание, что поле «Дата» в таблице является блобом, а не имеет тип Дата;

Помощь оценена; Soham

Ответы [ 3 ]

11 голосов
/ 17 апреля 2010

Просто приведите значение к байтовому массиву:

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

Большой двоичный объект в базе данных сопоставляется с байтовым массивом в .NET, поэтому драйвер базы данных уже выполнил это преобразование для вас.

2 голосов
/ 17 апреля 2010
byte[] binDate = (byte[])row["Date"];
0 голосов
/ 17 апреля 2010

Если «Дата» - это большой двоичный объект, он уже должен иметь вид байта [] - не уверен, почему вы вызываете ToString(), но Byte.Parse будет анализировать только одиночный байт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...