首页 文章

将字节[]添加到数据行

提问于
浏览
1

我正在尝试编写一个返回数据读取器的测试,其中一列是byte [] . 我想我可以创建一个数据表并从中创建一个阅读器 .

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

1 回答

  • 1

    根据MSDN

    如果要以编程方式创建DataTable,则必须首先通过将DataColumn对象添加到DataColumnCollection(通过Columns属性访问)来定义其架构 . 有关添加DataColumn对象的更多信息,请参阅向DataTable添加列(ADO.NET) .

    通过编写 cboTable.Columns.Add("ByteArrayColumn"); ,您已经定义了一个列名,但没有给它一个类型,因此它默认为"string"列 . 您应该按照文档中的示例操作,以便在向表中添加数据之前创建表模式 .

相关问题