Tôi có một DataSet
với một DataTable
điền chính xác một đơn DataRow
thông qua TableAdapter
.Làm thế nào để bạn đọc một mảng byte từ một DataRow trong C#?
Tôi có thể lấy dữ liệu từ DataRow với mã như thế này:
dataFileID = (int)this.dataFileDataRow["DataFileID"];
dataFileName = (string)this.dataFileDataRow["DataFileName"];
dataFileDate = (DateTime)this.dataFileDataRow["DataFileDate"];
Tôi có một cột gọi là datafile loại varbinary(max)
.
Khi tôi cố gắng lấy dữ liệu của cột đó từ cùng một số DataRow
như trên, tôi không nhận được gì.
byte[] fileFromDatabase = (byte[])this.dataFileDataRow["DataFile"];
Nếu tôi đặt một điểm break ở vị trí này, tôi có thể nhìn vào dataFileDataRow, nhìn vào tài sản ItemArray và thấy rằng các dữ liệu nhị phân được ngồi ở vị trí 5 trong ItemArray.
Tôi đã thử truy cập trực tiếp vào ItemArray bằng chỉ mục của nó nhưng mảng byte không được sao chép vào biến fileFromDatabase.
Tôi cũng đã nhận thấy rằng việc thêm fileFromDatabase để đồng hồ của tôi tạo ra lỗi này:
"The name 'fileFromDatabase' does not exist in the current context"
Việc thực hiện vẫn còn trong khối giống như định nghĩa của fileFromDatabase vì vậy tôi không hiểu làm thế nào nó sẽ được ra khỏi bối cảnh .
Tôi đã đặt cấu hình Visual Studio thành Release thay vì Gỡ lỗi. Điều này đã khiến tôi không nhìn thấy thông tin gỡ lỗi thời gian thực mà tôi đang tìm kiếm khi thử kiểm tra tệpFromDatabase. Sau khi chuyển từ Release sang Debug, tôi có thể thấy biến trong đồng hồ ngay bây giờ và có thể xác minh rằng mã ở trên hoạt động chính xác.
Vui lòng chỉ định ngôn ngữ bạn đang làm việc. –
Tôi đang viết bằng ngôn ngữ C# –