---
title: "Texten försvinner"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/90855-texten-försvinner"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Skarre"
published: "2003-11-20T10:13:18.000Z"
updated: "2003-11-20T18:24:46.000Z"
replies: 7
views: 331
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/asp/90855-texten-försvinner"
---

# Texten försvinner

## #1 — Skarre, 2003-11-20T10:13Z

Ibland när jag hämtat ett värde ur en Accessdatabas och ska använda det flera gånger fungerar det bara den första gången. Exempelvis:

```
Response.Write rs("foo")
Response.Write rs("foo")
```

När detta uppstår, vilket bara sker när det gäller PM-fält (tror jag) skrivs värdet bara ut en gång. Varför?  :)

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

## #2 — Jesper T, 2003-11-20T10:17Z

Vet inte, men ett tips är att efter databasanropet/recordsetet lägga värdet i en variabel.

```
foo=rs("foo")
    Response.write foo
    Response.write foo
<%=foo%>
```

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

## #3 — Jesper T, 2003-11-20T10:22Z

Vad jag förstått så är PM-fält lite korkade.
För övrigt så är det bra att lägga in samtliga fält i variabler för då kan du stänga recsetet direkt efter tilldelningen i stället för längst ned på sidan.  :)

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

## #4 — ekke_t, 2003-11-20T10:36Z

PM-fält är som sagt lite korkade... om jag inte missminner mig så kan man bara hämta värden från ett sådant en gång... så Jesper T:s förslag är korrekt

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

## #5 — Engine^, 2003-11-20T10:37Z

BLOBs verkar ha det här bekymret, men jag lyckades inte hitta någonstans ett varför. Däremot läste jag lite här och var det rekommenderas att man använder [GetChunk()](http://www.devguru.com/Technologies/ado/quickref/field_getchunk.html) för att läsa BLOBs. Memo (PM) är en typ av BLOB även om det inte är riktigt samma sak.

Om man vill stänga anslutningen till databasen, men ändå ha kvar recordset:et går det fint att använda sig av disconnected recordsets genom att sätta *ActiveConnection* till Nothing.

```
Set [i]recordset[/i].ActiveConnection = Nothing
```

I övrigt håller jag med **Jesper T** om att det är smart att plocka ur fälten från recordset:et, som man behöver, till variabler.

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

## #6 — K@llen, 2003-11-20T10:40Z

PM-fält är lite korkade att få till. En lösning är att lyda marsvinet:

<http://www.webforum.nu/showthread.php?s=&postid=423621#post423621>

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

## #7 — niko, 2003-11-20T12:51Z

> Varför?

Därför att ADO:n tolkar:

```
foo=rs("foo")
```

som:

```
foo=rs("foo").GetChunk(rs("foo").ActualSize)
```

om "foo" är ett PM/Blob.
Jämför:

```
foo1=rs("foo").GetChunk(100) ' Läs byte 1-100
foo2=rs("foo").GetChunk(100) ' Läs byte 101-200
foo3=rs("foo").GetChunk(100) ' Läs byte 201-300
' osv ..
```

*Första* gången anropar *foo=rs("foo")* så ber man alltså ADO:n hämta alla bytes mellan 1 och ActualSize, *andra* gången ber man den hämta allt mellan  ActualSize och 2\*ActualSize dvs ingenting.

Förvirrande: Ja. Buggigt/Korkat: Nej.

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

## #8 — Skarre, 2003-11-20T18:24Z

Tack för den utförliga förklaringen niko!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/90855-texten-försvinner
