---
title: "En Post från Db till ett textfält."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/146421-en-post-från-db-till-ett-textfält"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "T_Codez"
published: "2006-05-04T07:26:41.000Z"
updated: "2006-05-04T12:11:14.000Z"
replies: 8
views: 466
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/146421-en-post-från-db-till-ett-textfält"
---

# En Post från Db till ett textfält.

## #1 — T_Codez, 2006-05-04T07:26Z

Hej

Nu får ni ladda om...

There is a New ASP.NET Newbie in the forumtown...

Problem / Önskemål.

1\. Jag vill hämta en post i en SqlServer Db
2\. Lägga in ett värde i en textbox
3\. Hur ska det se ut... ??? (har förstått att rs dagarna numera är förbi).

Miljö:
SQL Server 2003
Visual Studio 2003 Sp 1

Har letat lite på nätet. Men antar att det här är för lätt för att få vara med. Därför måsta ju jag fråga om det... 

Så här långt ser det ut så här:

```

Dim t

SQL = "Select tblGuestbook.Guestbook From tblGuestbook Where tblGuestbook.ID = Request.QueryString(ID)"
Dim Conn As New SqlConnection(strConn)
Dim Command As New SqlCommand(SQL, Conn)
Conn.Open()
Command.ExecuteNonQuery()

Response.Write(t)
Txt_Gbook.Text = t
Conn.Close()
```

Tack för uppmärksamheten...

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

## #2 — erka, 2006-05-04T08:18Z

Öppna en datareader, läs ut värdet från den, stäng datareadern och connection

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

## #3 — P, 2006-05-04T08:35Z

Ja den koden du har ovan "ExecuteNonQuery" exekverar bara sql-koden på sql-servern och ger inget svar, utom hur många rader som ändrades. Använd en sqldatareader eller fyll med en adapter till dataset/datatable.

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

## #4 — T_Codez, 2006-05-04T08:44Z

Eeehhh... Okay...

Typ så här då, eller? "Chansar vilt, känns det som..."

```

    Public Sub FillTextField()

        Dim SQL As String

        SQL = "Select tblGuestbook.Guestbook From tblGuestbook Where tblGuestbook.ID = " & Request.QueryString("Id")
        Response.Write(SQL & "<br>")

        Dim Conn As New SqlConnection(strConn)
        Dim Command As New SqlCommand("SQL", Conn)

        Conn.Open()

        Dim minReader As SqlDataReader = Command.ExecuteReader()
        minReader.GetString(SQL)

        Do While minReader.Read()
            Txt_Gbook.Text = minReader.GetString(0)
        Loop

        minReader.Close()
        Conn.Close()

    End Sub
```

Den här koden genererar ett felmeddalnde som:

**Could not find stored procedure 'SQL'**

Vilket gör mig något förvirrad. Använder mig inte av lagrade procedurer...

Finns det effektivare kod när man endast ska läsa en post?

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

## #5 — Andy_K, 2006-05-04T09:10Z

```
Dim Command As New SqlCommand([B]"SQL"[/B], Conn)
```

 
Ta bort "" så fungerar det?

```
    Public Sub FillTextField()

        Dim SQL As String

        SQL = "Select tblGuestbook.Guestbook From tblGuestbook Where tblGuestbook.ID = " & Request.QueryString("Id")
        Response.Write(SQL & "<br>")

        Dim Conn As New SqlConnection(strConn)
        Dim Command As New SqlCommand(SQL, Conn)

        Conn.Open()

        Dim minReader As SqlDataReader = Command.ExecuteReader()

        While minReader.Read()
            Txt_Gbook.Text = minReader.GetString(0)
        end while

        minReader.Close()
        Conn.Close()

    End Sub
```

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

## #6 — T_Codez, 2006-05-04T09:50Z

Kanon Andy K!   

Med extremt små fnuttifikationsändringar så blev det följande fungeraande variant:

```
        Dim SQL As String

        SQL = "Select tblGuestbook.Guestbook From tblGuestbook Where tblGuestbook.ID = " & Request.QueryString("ID") & " "

        Response.Write(SQL & "<br>")

        Dim Conn As New SqlConnection(strConn)
        Dim Command As New SqlCommand(SQL, Conn)

        Conn.Open()
        Dim dr As SqlClient.SqlDataReader = Command.ExecuteReader()

        If dr.Read() = True Then
            Txt_Gbook.Text = dr("Guestbook")
        End If

        Conn.Close()
```

 

All Credits till dig Andy K

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

## #7 — Dino, 2006-05-04T09:57Z

DataReadern använder du för att ta ut flera rader eller en rad med flera kolumner. Om du bara skall ta ut ett värde från en kolumn använder du ExecuteScalar. Om din sql sats skulle retunerar flera rader så tar ExecuteScalar det första värdet.

```
Dim sql as string = String.Format("Select tblGuestbook.Guestbook From tblGuestbook Where tblGuestbook.ID = {0}", Request.QueryString("ID"))
Dim conn As New SqlConnection(strConn)
Dim cmd As New SqlCommand(sql, conn)

Try
   conn.Open()
   Txt_Gbook.Text = cmd.ExecuteScalar().ToString()
Catch
   Throw
Finally
   conn.Close()
End Try
```

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

## #8 — T_Codez, 2006-05-04T12:05Z

Den funkade klockrent den med...  Tackar och bockar för lektionen  
  :birp

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

## #9 — Andy_K, 2006-05-04T12:11Z

Tackar för det T Codez!

Och tack Dino för ditt exempel, lärde mig nåt nytt där!

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/146421-en-post-från-db-till-ett-textfält
