---
title: "Skriva om funktion?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/144585-skriva-om-funktion"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "trexter"
published: "2006-03-26T09:22:58.000Z"
updated: "2006-03-28T17:39:59.000Z"
replies: 5
views: 574
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/144585-skriva-om-funktion"
---

# Skriva om funktion?

## #1 — trexter, 2006-03-26T09:22Z

Hur ska jag skriva om funktionen så att den fungerar? :) 

```
 Exception Details: System.InvalidOperationException: There is already an open DataReader associated with this Connection which must be closed first.
```

```
    public void PlaceHolderFiller() {
        if (!Page.IsPostBack)
        {
            SqlCommand myCommand = new SqlCommand("select StatusID, StatusText from Status where StatusAnvID = @StatusAnvID", myConnection);
            myCommand.Parameters.Add("@StatusAnvID", SqlDbType.Int, 10).Value = UserIdentityName[1];

            SqlDataReader dr = myCommand.ExecuteReader();

            while (dr.Read())
            {
                SqlCommand myCommand2 = new SqlCommand("select ArendeStatus_Datum from ArendeStatus where ArendeStatus_Status = @ArendeStatus_Status", myConnection);
                myCommand.Parameters.Add("@ArendeStatus_Status", SqlDbType.Int, 10).Value = dr["StatusID"];
                SqlDataReader dr2 = myCommand2.ExecuteReader();

                bool b = (Int32.Parse(dr["StatusID"].ToString()) == Int32.Parse(dr["ArendeStatus_Status"].ToString())) ? true : false;
                ListItem l = new ListItem(dr["StatusText"].ToString(), dr["StatusID"].ToString());
           
                l.Selected = b;
                this.check.Items.Add(l);
            }
            dr.Close();
        }
    }
```

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

## #2 — emission, 2006-03-26T09:52Z

1\. Du använder aldrig dr2...
2\. Du lägger till parametern på fel command

Men, framför allt, plocka ut alla värden i första frågan, och kör bara en reader

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

## #3 — trexter, 2006-03-26T10:14Z

Heh, jo det är sant. Hur skulle koden se ut om jag sparar "datan" först? :)

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

## #4 — trexter, 2006-03-27T13:48Z

Jag kör på en fulllösning så länge och ändrar när detta fungerar...

```
    public void PlaceHolderFiller() {
        if (!Page.IsPostBack)
        {
            SqlCommand myCommand = new SqlCommand("select StatusID, StatusText from Status where StatusAnvID = @StatusAnvID", myConnection);
            myCommand.Parameters.Add("@StatusAnvID", SqlDbType.Int, 10).Value = UserIdentityName[1];

            SqlDataReader dr = myCommand.ExecuteReader();

            while (dr.Read())
            {
                SqlCommand myCommand2 = new SqlCommand("select ArendeStatus_Datum, ArendeStatus_Status from ArendeStatus where ArendeStatus_Status = @ArendeStatus_Status", myConnection2);
                myCommand2.Parameters.Add("@ArendeStatus_Status", SqlDbType.Int, 10).Value = dr["StatusID"];
                SqlDataReader dr2 = myCommand2.ExecuteReader();

                bool b = (Int32.Parse(dr["StatusID"].ToString()) == Int32.Parse(dr2["ArendeStatus_Status"].ToString())) ? true : false;
                ListItem l = new ListItem(dr["StatusText"].ToString(), dr["StatusID"].ToString());

                l.Selected = b;
                this.check.Items.Add(l);

                
            }
                dr.Close();
        }
    }
```

 Exception Details: System.InvalidOperationException: Invalid attempt to read when no data is present.

bool b = (Int32.Parse(dr\["StatusID"\].ToString()) == Int32.Parse(dr2\["ArendeStatus_Status"\].ToString())) ? true : false;

   :q

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

## #5 — emission, 2006-03-27T22:52Z

```
select s.StatusID, s.StatusText, a.ArendeStatus_Datum, a.ArendeStatus_Status from Status s LEFT JOIN ArendeStatus a ON s.StatusID=a.ArendeStatus_Status where StatusAnvID = @StatusAnvID AND
```

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

## #6 — trexter, 2006-03-28T17:39Z

emission;
Den SQL-strängen fungerar tyvärr inte riktigt.
Jag vill ju skriva ut alla poster i "StatusText" och sätta en bock i tillhörande checkbox om värdet finns i tabellen ArendeStatus också. (Eller snarare om ett värde under "StatusID" finns representerat i ArendeStatus_Status).

Som det är nu visas *endast* StatusText om det även "finns" i ArendeStatus.

 :)

edit. Det löste sig
<http://www.webforum.nu/showthread.php?p=1174628&accept=yes>

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/144585-skriva-om-funktion
