.net 将字节[]添加到数据行
我试图编写一个测试,返回一个数据读取器,其中一列是字节[]。 我想我可以创建一个datatable并从中创建一个读卡器.net 将字节[]添加到数据行,.net,sql,datatable,bytearray,datarow,.net,Sql,Datatable,Bytearray,Datarow,我试图编写一个测试,返回一个数据读取器,其中一列是字节[]。 我想我可以创建一个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 read
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
添加到数据行而不是将其作为字节[]
添加时,它将其作为字符串表示形式添加到行中,即“SqlBinary(18)”
我的问题是如何将实际的字节[]
添加到我的数据行,如下所示:
如果以编程方式创建DataTable,则必须首先通过向DataColumnCollection(通过Columns属性访问)添加DataColumn对象来定义其架构。有关添加DataColumn对象的详细信息,请参阅向DataTable添加列(ADO.NET)
通过编写cboTable.Columns.Add(“ByteArrayColumn”)代码>,您已经定义了一个列名,但没有为其指定类型,因此它默认为“字符串”列。在向表中添加数据之前,应按照文档中的示例创建表架构。根据:
如果以编程方式创建DataTable,则必须首先通过向DataColumnCollection(通过Columns属性访问)添加DataColumn对象来定义其架构。有关添加DataColumn对象的详细信息,请参阅向DataTable添加列(ADO.NET)
通过编写cboTable.Columns.Add(“ByteArrayColumn”)代码>,您已经定义了一个列名,但没有为其指定类型,因此它默认为“字符串”列。您应该遵循文档中的示例,以便在向表中添加数据之前创建表架构。cboTable.Columns.Add(“ByteArrayProp”,typeof(SqlBinary));这是正确的方法。cboTable.Columns.Add(“ByteArrayProp”,typeof(SqlBinary));这是正确的做法。