---
title: "Öppna databas med en sub"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/43662-öppna-databas-med-en-sub"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jacob"
published: "2002-05-14T06:30:20.000Z"
updated: "2002-05-14T10:02:04.000Z"
replies: 4
views: 225
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/43662-öppna-databas-med-en-sub"
---

# Öppna databas med en sub

## #1 — Jacob, 2002-05-14T06:30Z

Jag har en fil som innehåller några subbar som jag inkluserar på en sida. En sub är till för att starta en db connection, men det verkar inte fungera:
sub.asp

```
Sub dbstart()
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "PROVIDER=MSDASQL;" & _
		"DRIVER={SQL Server};" & _
		"SERVER=(local);DATABASE=homevision_nu;" & _
		"UID=jacob;PWD=****;"

End Sub

Sub film(typ)

	[b]Set film = conn.execute("SELECT titel, ingress, bildid FROM film WHERE typid=6 OR typid=6")[/b]
	If typ=5 then Response.Write("<h1 class=""blue_rubrikr"">Senaste VideoRecension</h1>")
	If typ=4 then Response.Write("<h1 class=""blue_rubrikr"">Senaste DVDRecension</h1>")%>
	<img src="image/db/<%=film("bildid")%>.jpg" align="left"><%=film("titel")&"<br>"&film("ingress")%>
<%
End Sub
```

test.asp

```
<!--#include file="sub.asp" -->
<%call dbstart()
call film(4)%>%>
```

Men det står att objektet conn behövs på den feta raden

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

## #2 — @nders, 2002-05-14T06:42Z

Har du dimmat Conn utanför subben?
Om du inte har gjort det är objektet lokalt och kan inte användas utanför subben.

```
Dim Conn
Sub dbstart()
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "PROVIDER=MSDASQL;" & _
		"DRIVER={SQL Server};" & _
		"SERVER=(local);DATABASE=homevision_nu;" & _
		"UID=jacob;PWD=****;"

End Sub
```

Ett alternativ är ju att ha en funktion som returnerar ett connectionobjekt:

```
function dbstart()
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "PROVIDER=MSDASQL;" & _
		"DRIVER={SQL Server};" & _
		"SERVER=(local);DATABASE=homevision_nu;" & _
		"UID=jacob;PWD=****;"
	Set dbstart = Conn
End Function
```

Du använder du följande i koden:

```
Set Conn = dbstart()
```

Mvh,

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

## #3 — Jacob, 2002-05-14T06:51Z

Ok jag förstår mitt misstag, men det är något som itne fungerar ändå. Jag få felmesset:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: 'dbstart()'

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

## #4 — Jacob, 2002-05-14T06:53Z

Glöm det det vara bara jag som strulade.

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

## #5 — LR^evil.sid, 2002-05-14T10:02Z

om du skriver så här då?

```
[red]Sub dbstart()
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "PROVIDER=MSDASQL;" & _
		"DRIVER={SQL Server};" & _
		"SERVER=(local);DATABASE=homevision_nu;" & _
		"UID=jacob;PWD=****;"

End Sub

Sub film(typ)
	[b]call(dbstart)[/b]
	Set film = conn.execute("SELECT titel, ingress, bildid FROM film WHERE typid=6 OR typid=6")
	If typ=5 then Response.Write("<h1 class=""blue_rubrikr"">Senaste VideoRecension</h1>")
	If typ=4 then Response.Write("<h1 class=""blue_rubrikr"">Senaste DVDRecension</h1>")%>
	<img src="image/db/<%=film("bildid")%>.jpg" align="left"><%=film("titel")&"<br>"&film("ingress")%>
<%
End Sub[/red]
```

och så anropar du film(typ) istället...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/43662-öppna-databas-med-en-sub
