---
title: "Funktion som returnerar ett objekt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6823-funktion-som-returnerar-ett-objekt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "toha"
published: "2000-10-07T21:04:00.000Z"
updated: "2000-10-08T17:51:00.000Z"
replies: 9
views: 255
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/6823-funktion-som-returnerar-ett-objekt"
---

# Funktion som returnerar ett objekt

## #1 — toha, 2000-10-07T21:04Z

Tjoho!

Har lite funderingar kring funktioner som returnerar objekt. Jag har skrivit en funktion som returnerar ett Recordset:

```
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">

Function ExecSql(ByVal sSql, ByVal sConnString)

	Dim oConn, oRec
	
	Set oRec = Server.CreateObject("ADODB.Recordset")
	oRec.CursorLocation = 3				' adUseClient
	oRec.Open sSql, sConnString
	Set oRec.ActiveConnection = Nothing
	Set ExecSql = oRec
	Set oRec = Nothing

End Function

</font>
```

Och funktionsanropet:

```
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">

Set oRec = ExecSql("select * from artiklar_1", "DSN=skiva")

</font>
```

Men jag är lite osäker på att jag gör allt korrekt. Jag vill att den skall i princip fungera som Execute-metoden till ADODB.Recordset-objektet. (Min funktion returnerar ett disconnected recordset). Den metoden returnerar ett recordset.

Hjälp tack!

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

## #2 — Brimba, 2000-10-07T21:52Z

Hej!

Det ser ut att fungera, när jag tittar på det lite snabbt, men eftersom du postar det här antar jag att det inte fungerar?

Får du något fel?

Vad händer?

Ha det bra!

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

## #3 — Brimba, 2000-10-07T21:58Z

Det råkar inte vara att du stänger den?

```
Function ExecSql(ByVal sSql, ByVal sConnString)
      Dim oConn, oRec
      Set oRec = Server.CreateObject("ADODB.Recordset")
      oRec.CursorLocation = 3				' adUseClient	
      oRec.Open sSql, sConnString	
      Set oRec.ActiveConnection = Nothing	
      Set ExecSql = oRec	
End Function
```

Kanske fungerar bättre?

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

## #4 — Danmagnus, 2000-10-07T22:18Z

varför har du gjort en funktion för att få ur data ur en databas?. ASP scriptet körs bara 1 gång, så funktioner behövs egentligen inte, ev. kanske vid RegExp i så fall.

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

## #5 — emission, 2000-10-08T12:50Z

Vad menar du Danmagnus? Varför skulle man inte skriva en funktion?

Jag tycker att det ser rätt ut. Vad går snett?

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

## #6 — @nders, 2000-10-08T12:54Z

jag tycker också det ser helt rätt ut, och jag tycker att det är en **bra** idé att använda en funktion...

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

## #7 — Danmagnus, 2000-10-08T17:01Z

Det är ju så att sidan körs bara 1 gång, och sen dör den, kvar blir bara den döda statiska HTML sidan. det är ju inte så att sidan är "igång" hela tiden. Vi säger i Java-script och vanliga program är det ju lite annorlunda eftersom de är "igång" hela tiden, därför behövs funktioner där. Därför tycker jag funktioner i ASP är helt onödiga.

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

## #8 — emission, 2000-10-08T17:16Z

ASP-sidor är också i gång hela tiden, det är bara det att den tiden oftast är väldigt kort. ;) Funktioner använder man för att kapsla in ofta återkommande funktioner. Mindre kod att underhålla, lättare att felsöka.

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

## #9 — toha, 2000-10-08T17:46Z

Ojdå, satte visst igång en riktig diskussion här... :)

Jodå, funktionen fungerar finfint men jag var inte säker på att jag jag gjorde allt rätt. Vad som händer vid "Set" och så vidare.

Anledningen till att jag har gjort en sådan funktion är att jag har skiktat upp webbapplikationen i klasser för att underlätta att stoppa in det i VB om jag skulle göra det till nån komponent framöver. Men det är ju ganska förnämligt att sköta all databastrafik genom en funktion eftersom det då krävs mycket små ändringar om något ändras med kopplingen till databasen, precis som Emission framförde. Ok, det är lätt att koppla upp sig via ADO:n men just i det här fallet ville jag returnera datan i ett disconnected recordset.

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

## #10 — emission, 2000-10-08T17:51Z

I så fall ser det alldeles lysande ut.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6823-funktion-som-returnerar-ett-objekt
