---
title: "problem att spara byte till object"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/167060-problem-att-spara-byte-till-object"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "CatZ"
published: "2007-12-07T21:32:28.000Z"
updated: "2007-12-11T09:09:09.000Z"
replies: 5
views: 972
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/167060-problem-att-spara-byte-till-object"
---

# problem att spara byte till object

## #1 — CatZ, 2007-12-07T21:32Z

Jag har följande kod för att styra upp mina entiteter 

```
public byte[] File
{
	get
	{
		return File;
	}
	set
	{
		File = value;
	}
}
```

Binder på följande vis till entiteterna 

```
ResultsList resultsList = new ResultsList();
for (int i = 0; i < dt.Rows.Count; i++)
{

	//Sets all the values in the columns of this specific row
	resultsList.ID = id;
	resultsList.FileName = (string)dt.Rows[i]["FileName"];
	resultsList.File = (byte[])(dt.Rows[i]["File"]);
	resultsList.FileSize = (int)dt.Rows[i]["FileSize"];
	resultsList.FileContentType = (string)dt.Rows[i]["FileContentType"];
	//Adds the row to the collection list
}//End for
return resultsList;
```

Men så fort jag kommer till 

```
File = value;
```

så slutar den stega igenom och jag får nåt meddelande om Unhandled StackOverflowException. Gör jag något fel som försöker hämta ett Blob object från en access databas och skriva till en byte\[\]?

Permalänk: https://www.webforum.nu/p/167060

## #2 — CatZ, 2007-12-07T22:45Z

Gjorde om lite och försöker med en dbReader istället 

```
byte[] b = new Byte[(dbReader.GetBytes(1, 0, null, 0, int.MaxValue))];
```

och får då att 

> **visual studio 2008 skrev:**
>
> System.InvalidCastException was unhandled by user code
>   Message="Den angivna omvandlingen är inte giltig."
>   Source="System.Data"
>   StackTrace:
>        vid System.Data.OleDb.ColumnBinding.ValueByteArray()
>        vid System.Data.OleDb.OleDbDataReader.GetBytes(Int32 ordinal, Int64 dataIndex, Byte\[\] buffer, Int32 bufferIndex, Int32 length)
>        vid ResultsDAL.GetPlayedResultByID(Int32 id) i c:\\Users\\CatZ\\Documents\\Visual Studio 2008\\WebSites\\WexioBridgen\\App_Code\\DAL\\ResultsDAL.cs:rad 81
>        vid ResultsBLL.GetPlayedResultByID(Int32 id) i c:\\Users\\CatZ\\Documents\\Visual Studio 2008\\WebSites\\WexioBridgen\\App_Code\\BLL\\ResultsBLL.cs:rad 30
>        vid Results.lbtnGetResult_Command(Object sender, CommandEventArgs e) i c:\\Users\\CatZ\\Documents\\Visual Studio 2008\\WebSites\\WexioBridgen\\Results.aspx.cs:rad 32
>        vid System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e)
>        vid System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)
>        vid System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
>        vid System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
>        vid System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
>        vid System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
>   InnerException:

Inte tusan hittar jag någon direkt bra läsning heller :)

Permalänk: https://www.webforum.nu/p/2059663

## #3 — sgtpepper, 2007-12-08T09:26Z

> **CatZ skrev:**
>
> ```
> byte[] b = new Byte[(dbReader.GetBytes(1, 0, null, 0, int.MaxValue))];
> ```

Exakt vad är det du försöker åstadkomma här? Du försöker skapa en ny byte-array med storleken hämtad från resultatet av metodanropet dbReader.GetBytes(...), det kan ju inte vara riktigt rätt. 

Det måste väl finnas API-dokumentation och verktygsstöd även för .NET-utveckling, det är väl bara att läsa innantill hur metoden fungerar.

Permalänk: https://www.webforum.nu/p/2059687

## #4 — CatZ, 2007-12-08T09:37Z

Du kanske kan läsa ut nåt av följande länk <http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbdatareader.getbytes.aspx> därför att du är bättre än mig på .net jag kan det iaf inte.

/RED
Några andra artiklar eller exempel hittar jag inte. Ska äta lite gröt och dricka kaffe så kanske det går bättre sen.

Permalänk: https://www.webforum.nu/p/2059688

## #5 — CatZ, 2007-12-10T19:25Z

ÄNTLIGEN! :e MSDN är så stort att det är svårt att hitta rätt artikel hehe. lösningen på mitt problem finns här http://msdn2.microsoft.com/en-us/library/87z0hy49(VS.90).aspx

Har inte hunnit göra färdigt men den artikeln är bra nog som lösning :)

Permalänk: https://www.webforum.nu/p/2060235

## #6 — CatZ, 2007-12-11T09:09Z

Såhär blev det då... Jag hade använt stort a istället för litet. 

```
result.ID = id;
result.FileName = dbReader["FileName"] as string;
result.File = dbReader["File"] as byte[];
result.FileSize = result.File.Length;
result.FileContentType = dbReader["FileContentType"] as string;
```

Permalänk: https://www.webforum.nu/p/2060353

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/167060-problem-att-spara-byte-till-object
