---
title: "Connection object"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11365-connection-object"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jörgen HP"
published: "2001-08-28T22:11:00.000Z"
updated: "2001-08-29T10:18:00.000Z"
replies: 4
views: 180
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/11365-connection-object"
---

# Connection object

## #1 — Jörgen HP, 2001-08-28T22:11Z

Hallå!

Så som jag har det nu har jag skapat 2 olika object som jag lagt i subbar.

Ett för SELECT och ett för Delete, Update, Insert.

När jag ska göra något med databasen kör jag subben och stänger sedan connection objektet direkt. 

På vissa sidor blir det en massa öppnande och stängande av databasen.

Är det rent av bättre vid vissa tillfällen att öppna den 1 ggr och sedan stänga den i slutet på sidan?

Tack för svar, gärna med en motivering av varför det är si eller så.

Jörgen :e

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

## #2 — spango, 2001-08-29T00:30Z

Ja, det är bättre att bara öppna en eftersom man behöver göra mindre då :) 
Så skriv om dina subbar så att de tar emot connectionen som argument (använder du globala variabler kommer jag och stryper dig med taggtråd ;) ).

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

## #3 — jorgen, 2001-08-29T07:40Z

Okey, fattar jag dig rätt:

Ex på Sub:

```

Sub InsertPost(SQLStmt)
Set Connection = Server.CreateObject("ADOdb.connection")
With Connection
    .Open "DSN"
    .Execute SQLStmt,,128
    .Close()
End With
Set Connection = Nothing
End Sub
```

Ska jag istället dela upp det i två?

```

Sub InsertPost(SQLStmt)
Set Connection = Server.CreateObject("ADOdb.connection")
With Connection
    .Open "DSN"
    .Execute SQLStmt,,128
End With
End Sub
```

```
Sub CloseDB()
Connection.Close()
Set Connection = Nothing
End Sub
```

Mvh Jörgen :e

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

## #4 — PatrikB, 2001-08-29T08:06Z

Gör hellre på detta vis:

```
Function GetDBConn
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN"
Set GetDBConn = objConn
End Function
```

När du vill skapa ett connection object:

```
Dim objDB
Set objDB = GetDBConn
```

Om du behöver använda en connection inne i en sub/function:

```
Function RunSQLGetRows(ByVal Connection, ByVal SQLQuery)
Dim objRS
Set objRS = Connection.Execute(SQLQuery)
IF Not objRS.EOF Then
'## -- return result --
RunSQLGetRows = objRS
End If
Set objRS = Nothing
End Function
```

\[r\]
Används så här:

```
Dim objDB, arrRecords, strSQL
strSQL = "SELECT * FROM TBL_TABLE"
Set objDB = GetDBConn
arrRecords = RunSQLGetRows(objDB, strSQL)
objDB.Close
Set objDB = Nothing

'## -- loopa igenom arrayen och visa resultatet --
```

\[/r\]

cya,
PatrikB

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

## #5 — jorgen, 2001-08-29T10:18Z

Hej och Tack Patrik!

Passar på att klistra in mitt senaste alster från Cafe webforum som jag tycker talar sitt tydliga språk. :e

Håll till godo:

En hundintresserad man från Sala
hör till wF:s trogna hjälpar-skara
för eminenta lösningar på problem
borde han få ett stort guld emblem
i statestiken lär han knappast dala

Till er som tycker detta svar är \*trams\*, tryck bakåt i webläsaren ;)

Mvh Jörgen :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11365-connection-object
