---
title: "Hur kan man skapa ett ADODB.Recordset?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8230-hur-kan-man-skapa-ett-adodb-recordset"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jimpa"
published: "2001-02-19T20:27:00.000Z"
updated: "2001-02-20T12:19:00.000Z"
replies: 18
views: 335
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/8230-hur-kan-man-skapa-ett-adodb-recordset"
---

# Hur kan man skapa ett ADODB.Recordset?

## #1 — jimpa, 2001-02-19T20:27Z

Hej,

Har ett litet 'stort' problem 
Just nu ser koden ut så här, vilket funkar ganska bra.

\<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set RecSet = Connect.Execute("SELECT \* FROM cross WHERE ID=" & Request.QueryString("ID"))
Set RS = Connect.Execute("SELECT \* FROM image WHERE crossID=" & Request.QueryString("ID"))
 
%\>

Problemet är att jag  måste skapa ett ADODB.Recordset för att pagingen ska funka

Ööö hur ska min kod se ut då för att funka?

Provade det här:
\<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set RecSett = Server.CreateObject("ADODB.Recordset")
Set RecSet = Connect.Execute("SELECT \* FROM cross WHERE ID=" & Request.QueryString("ID"))
Set RS = Connect.Execute("SELECT \* FROM image WHERE crossID=" & Request.QueryString("ID"))
 
RecSett.Open Connect, RS, RecSet, adOpenDynamic, adLockOptimistic
%\>
 
Fick detta felmeddelandet:
Microsoft VBScript runtime error '800a000d' 

Type mismatch: 'RecSett.Open' 

/cross/show_image.asp, line 26 

Då provade jag att göra så här:

\<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set RecSett = Server.CreateObject("ADODB.Recordset")
Set RecSet = "SELECT \* FROM cross WHERE ID=" & Request.QueryString("ID")& " "
Set RS = "SELECT \* FROM image WHERE crossID=" & Request.QueryString("ID")& " "

RecSett.Open Connect, RS, RecSet, adOpenDynamic, adLockOptimistic
%\>

Men fick då detta felmeddelande

Microsoft VBScript runtime error '800a01a8' 

Object required: '\[string: "SELECT \* FROM cross "\]' 

/cross/show_image.asp, line 22 

Något annat förslag ?

//m.v.h. Jimpa

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

## #2 — Vide, 2001-02-19T20:33Z

Innan jag börjar härja runt i koden: vad vill du göra med den?

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

## #3 — jimpa, 2001-02-19T20:39Z

Hej,

Skapa ett ADODB.Recordset 
Men jag får inte det att funka då.

Tror det måste finnas med för att pagingen ska funka.

//m.v.h. Krångel Jimpa

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

## #4 — PatrikB, 2001-02-19T20:50Z

Ett adodb.recordset skapar du på detta vis:

```
objRS = Server.CreateObject("ADODB.Recordset")

objRS.Open SQL, objConn, CursorType, LockType
```

CursorType kan vara en siffra mellan 0 och 3 och LockType en siffra mellan 1 och 4

vilka man ska använda beror på vad man ska göra med recordsetet.

cya

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

## #5 — jimpa, 2001-02-19T21:02Z

Fick detta meddelande när jag provade

Microsoft VBScript runtime error '800a01b6' 

Object doesn't support this property or method: 'objRS.Open' 

/cross/show_image.asp, line 24 

//m.v.h. Jimpa

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

## #6 — PatrikB, 2001-02-19T21:22Z

hur ser din kod ut nu??

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

## #7 — jimpa, 2001-02-19T21:28Z

Så här :

\<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set objRS = Server.CreateObject("ADODB.Recordset")
Set RecSet = "SELECT \* FROM cross WHERE ID=" & Request.QueryString("ID")& " "
Set RS = "SELECT \* FROM image WHERE crossID=" & Request.QueryString("ID")& " "

objRS.Open Connect, RS, RecSet, CursorType, LockType

%\>

objRS.Open SQL, objConn, CursorType, LockType

//m.v.h. Krångel Jimpa

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

## #8 — jimpa, 2001-02-19T21:29Z

Glöm den sista raden !!!!

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

## #9 — PatrikB, 2001-02-19T21:49Z

prova:

```
objRS.Open Connect, RS, RecSet, 0, 1
```

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

## #10 — jimpa, 2001-02-19T22:00Z

Fick detta fel:

Microsoft VBScript runtime error '800a01a8' 

Object required: '\[string: "SELECT \* FROM cross "\]' 

/cross/show_image.asp, line 22 

//m.v.h. Jimpa

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

## #11 — PatrikB, 2001-02-19T22:24Z

denna rad:

```
Set RecSet = "SELECT * FROM cross WHERE ID=" & Request.QueryString("ID")& " "
```

bör se ut så här:

```
Set RecSet = "SELECT * FROM cross WHERE ID=" & Request.QueryString("ID")
```

likadant med raden under annars behandlas det som finns i querystringen som text .... och det tror jag itne att du vill =O

cya,

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

## #12 — jimpa, 2001-02-19T22:30Z

Fick samma fel igen:

Microsoft VBScript runtime error '800a01a8' 

Object required: '\[string: "SELECT \* FROM cross "\]' 

/cross/show_image.asp, line 22 

//m.v.h. Jimpa

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

## #13 — @nders, 2001-02-20T05:03Z

likadant med raden under annars behandlas det som finns i querystringen som text .... och det tror jag itne att du vill

patrikb, du får gärna förklara vad det gör för praktisk skillnad. hela sql-frågan byggs ju upp som en sträng, och om id råkar vara ett tal, eller en sträng när du lägger till det i frågan har ingen som helst betydelse. det som har betydelse är att du har apostrofer runt textvärden i din fråga, men inte runt tal/räknare.

**jimpa**, rad 23, vilken är den? objRS.open ... ?

prova den här koden:

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set objRS = Server.CreateObject("ADODB.Recordset")
Set strSQL1 = "SELECT * FROM cross WHERE ID=" & Request.QueryString("ID")
Set strSQL2 = "SELECT * FROM image WHERE crossID=" & Request.QueryString("ID")

objRS.Open strSQL1, Connect, 0, 1

%>
```

jag tycker att du har lite förvillanda variabelnamn, speciellt på dina två sql-frågor. varför kalla dem för recordsets :q

hoppas du förstår!

mvh,

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

## #14 — PatrikB, 2001-02-20T05:48Z

.... helt rätt anders .....\[:o\]
va nog för mycket john blund .....

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

## #15 — jimpa, 2001-02-20T11:22Z

Hej,

Provade den senare koden, men fick samma felmeddelande igen.
Något mer förslag?

//m.v.h. Jimpa

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

## #16 — Vide, 2001-02-20T11:47Z

Men varför använder ni Set på SQL-strängarna?

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

## #17 — @nders, 2001-02-20T11:59Z

oh, tjena, fruktansvärt bra fråga vide.

blindness, blindness... ;)

\*skäms\*

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL1 = "SELECT * FROM cross WHERE ID=" & Request.QueryString("ID")
strSQL2 = "SELECT * FROM image WHERE crossID=" & Request.QueryString("ID")
objRS.Open strSQL1, Connect, 0, 1

%>
```

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

## #18 — @nders, 2001-02-20T12:03Z

jimpa, prova alltså igen, utan set före sql-strängarna...

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

## #19 — hakangus, 2001-02-20T12:19Z

Många kloka hjärnor igång här ser jag.

Måste ställe en (kanske dum) fråga: Vad är skillnaden mellan att skriva exempelvis

objRS.Open SQLselect, Connect, 0, 1

jämfört med

conn.open DSN
set rs=conn.execute("select \* bla,bla")

Är det någon skillnad?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/8230-hur-kan-man-skapa-ett-adodb-recordset
