[英]How do you read a byte array from a DataRow in C#?
我有一個帶有DataTable
的DataSet
,它通過TableAdapter
正確填充單個DataRow
。
我可以使用以下代碼從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后,我現在可以在手表中看到變量,並且可以驗證上面的代碼是否正常工作。
上面的代碼有效,請確保將調試器設置為針對Debug,NOT Release進行編譯。
基思
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.