Добавление байта [] на данных на данных
Вопрос
Я пытаюсь написать тест, который возвращает Data-Reader с одним из столбцов, являющихся байтом []. Я подумал, что могу создать DataTable и создать считывателя считывания.
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[]
в мою историю
Решение
Согласно с MSDN:
Если вы создаете DataTable программно, вы должны сначала определить его схему, добавив объекты DataColumn на DataColumncollection (доступ через свойство столбцов). Для получения дополнительной информации о добавлении объектов DataColumn см. Добавление столбцов к DataTable (ADO.NET).
Письма cboTable.Columns.Add("ByteArrayColumn");
, вы определили имя столбца, но не дали ему тип, поэтому по умолчанию он является «строкой» столбцом. Вы должны следовать примеру в DOC, чтобы создать схему таблицы перед добавлением данных в таблицу.