你如何从C#中的DataRow读取一个字节数组?

时间:2008-11-12 19:17:30

标签: c# debugging bytearray tableadapter datarow

我有DataSet DataTable通过DataRow正确地填充了TableAdapter个。{/ p>

我可以使用以下代码从DataRow中提取数据:

dataFileID = (int)this.dataFileDataRow["DataFileID"];
dataFileName = (string)this.dataFileDataRow["DataFileName"];
dataFileDate = (DateTime)this.dataFileDataRow["DataFileDate"];

我有一个名为DataFile的列varbinary(max)

当我尝试从上面的同一DataRow中提取该列的数据时,我什么都没得到。

byte[] fileFromDatabase = (byte[])this.dataFileDataRow["DataFile"];

如果我在这个位置放置一个断点,我可以查看dataFileDataRow,查看ItemArray属性,看看二进制数据是否位于ItemArray中的第5位。

我已尝试使用其索引直接访问ItemArray,但字节数组未被复制到fileFromDatabase变量。

我还注意到将fileFromDatabase添加到我的监视会产生此错误:

  

“名称'fileFromDatabase'在当前上下文中不存在”

执行仍然与fileFromDatabase的定义位于同一块中,因此我不明白它是如何脱离上下文的。

我将Visual Studio的配置设置为Release而不是Debug。这导致我在尝试检查fileFromDatabase时没有看到我正在寻找的实时调试信息。从Release转换到Debug后,我现在可以在手表中看到变量,并且可以验证上面的代码是否正常工作。

1 个答案:

答案 0 :(得分:3)

上面的代码有效,请确保将调试器设置为针对Debug,NOT Release进行编译。

基思