簡體   English   中英

你如何從C#中的DataRow讀取一個字節數組?

[英]How do you read a byte array from a DataRow in C#?

我有一個帶有DataTableDataSet ,它通過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM