Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 将字节[]添加到数据行_.net_Sql_Datatable_Bytearray_Datarow - Fatal编程技术网

.net 将字节[]添加到数据行

.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

我试图编写一个测试,返回一个数据读取器,其中一列是字节[]。 我想我可以创建一个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
添加到数据行而不是将其作为
字节[]
添加时,它将其作为字符串表示形式添加到行中,即
“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));这是正确的做法。