---
title: "[ASP.NET C#] Problem vid hämtning från databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/184037-asp-net-c-problem-vid-hämtning-från-databas"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Sanji"
published: "2010-07-08T13:03:25.000Z"
updated: "2010-07-08T13:28:07.000Z"
replies: 2
views: 544
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/184037-asp-net-c-problem-vid-hämtning-från-databas"
---

# [ASP.NET C#] Problem vid hämtning från databas

## #1 — Sanji, 2010-07-08T13:03Z

Hej, jag har problem med den här koden som är skriven i c#. funktionen SelectQuery returnerar en array med olika data från en databas, all data finns och returneras även då. Dock i slutändan så finns det inte kvar några 'InquiryArticles'. 

Någon som kan se vad jag gjort för fel?

```
public Inquiry GetInquiry(int id)
        {
            this.Connect();
            SqlDataReader reader = this.SelectQuery("*", "inquiryarticles", "inquiryID = " + id.ToString());
            Inquiry tempInquiry = new Inquiry();

            List<KeyValuePair<int, InquiryArticle>> articles = new List<KeyValuePair<int, InquiryArticle>>();

            while (reader.Read())
            {

                InquiryArticle tempinqart = new InquiryArticle();
                tempinqart.ID = int.Parse(reader["inquiryartID"].ToString());
                tempinqart.SubOrder = int.Parse(reader["suborder"].ToString());
                tempinqart.Pieces = int.Parse(reader["pieces"].ToString());
                tempinqart.Notice = int.Parse(reader["notice"].ToString());
                tempinqart.ArticleText = reader["articletext"].ToString();
                tempinqart.RevisionNumber = reader["revnr"].ToString();

                KeyValuePair<int, InquiryArticle> tempArt = new KeyValuePair<int, InquiryArticle>(int.Parse(reader["articleID"].ToString()), tempinqart);
            }
                reader.Close();
            List<InquiryArticle> tempartlist = new List<InquiryArticle>();
            foreach (KeyValuePair<int, InquiryArticle> i in articles)
            {
                InquiryArticle a = i.Value;
                a.Article = Database.Articles.GetArticle(i.Key);
                tempartlist.Add(a);
            }
            
            tempInquiry.Articles = tempartlist.ToArray();

            reader = this.SelectQuery("*", "inquirydata", "ID = " + id);
            reader.Read();
            tempInquiry.Name = reader["name"].ToString();
            tempInquiry.CompanyID = int.Parse(reader["companyID"].ToString());
            tempInquiry.ID = id;

            this.Close();
            return tempInquiry;
        }
```

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

## #2 — Ledel, 2010-07-08T13:24Z

I din while(reader.Read()) {} så skapar du en *InquiryArticle tempinqart* som du sedan spara i din *KeyValuePair\<int, InquiryArticle\> tempArt*. Problemet är ju dock att båda dessa bara "finns" inne i while-loopen. Alltså, när du kommer ut ur loopen har du inte sparat någonting.

Vad du måste göra är alltså att spara ned *tempArt* i din lista *articles* sist i while-loopen:

```
articles.Add(tempArt);
```

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

## #3 — Sanji, 2010-07-08T13:28Z

hehe tack! jag har suttit och inte sett felet i timmar nu, och så var det så enkelt som så! tack så mycket, nu är jag glad:)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/184037-asp-net-c-problem-vid-hämtning-från-databas
