Добавление байта [] в datarow - PullRequest
       19

Добавление байта [] в datarow

1 голос
/ 05 августа 2010

Я пытаюсь написать тест, который возвращает считыватель данных с одним из столбцов в байтах [].Я подумал, что могу создать таблицу данных и создать читателя из этого.

var cboTable = new DataTable("CBOTable");
var colValue = new SqlBinary(ASCII.GetBytes("Hello This is test"));

cboTable.Columns.Add("ByteArrayColumn");
cboTable.Rows.Add(colValue);

var reader= cboTable.CreateDataReader();

проблема в том, что, когда я добавляю colValue к датару, вместо того, чтобы добавить его как byte[], он добавляет его в строку в качестве строкового представления, которое "SqlBinary(18)".

мой вопрос, как мне добавить фактический byte[] в мой datarow

1 Ответ

1 голос
/ 05 августа 2010

Согласно MSDN :

Если вы создаете DataTable программно, вы должны сначала определить его схему, добавив объекты DataColumn в DataColumnCollection (доступ к которому осуществляется через свойство Columns). Дополнительные сведения о добавлении объектов DataColumn см. В разделе «Добавление столбцов в таблицу данных (ADO.NET)».

Написав cboTable.Columns.Add("ByteArrayColumn");, вы определили имя столбца, но не дали ему тип, поэтому по умолчанию он является «строковым» столбцом. Вы должны следовать примеру в документе, чтобы создать схему таблицы перед добавлением данных в таблицу.

...