我正在尝试编写一个返回数据读取器的测试,其中一列是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 回答
根据MSDN:
通过编写
cboTable.Columns.Add("ByteArrayColumn");
,您已经定义了一个列名,但没有给它一个类型,因此它默认为"string"列 . 您应该按照文档中的示例操作,以便在向表中添加数据之前创建表模式 .