我有DataSet
一个DataTable
是正确填写一个单一的DataRow
通过TableAdapter
.
我可以使用以下代码从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后,我现在可以在手表中看到变量,并且可以验证上面的代码是否正常工作.