---
title: "Någon"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6561-någon"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Kent"
published: "2000-09-05T16:48:00.000Z"
updated: "2000-09-11T12:23:00.000Z"
replies: 35
views: 542
page: 1
pages: 2
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/6561-någon"
---

# Någon

_Sida 1 av 2._

## #1 — Kent, 2000-09-05T16:48Z

Någon vänlig själ som skulle kunna fixa till den här koden så den funkar,
kommer ifrån boken Läd dig active server pages 2:0 på 3 veckor.
\<%@ Language=VBScript %\>
\<html\>
\<%
Dim RSAdd
Dim SQL

\<!--#include file="conn.asp"--\>
SQL = "Select \* from Forum WHERE 1=2"
Set RS = databas.execute(SQL)

	
RS.Add.Open SQL, Conn, 1, 2

RSAdd.AddNew
RSAdd("Namn") = Request.Form("txtNamn")
RSAdd("Epost") = Request.Form("txtEpost")
RSAdd("Rubrik") = Request.Form("txtRubrik")
RSAdd("Datum") = Date()
If Request.QueryString("Id") \> 0 then
   RSAdd("Parent") = Request.QueryString("Id")
Else
   RSAdd("Parent") = 0
End If

RSAdd("Meddelande") = Request.Form("txtMeddelande")
RSAdd.Update

%\>

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

## #2 — Vide, 2000-09-05T16:51Z

Visa vad som finns i conn.asp

Så kanske vi kan hjälpa dig... :)

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

## #3 — bohlin, 2000-09-05T16:55Z

stoppa \<!--#include file="conn.asp"--\> utan för \<% och %\>, asså:
\<!--#include file="conn.asp"--\>
\<%
Dim RSAdd
Dim SQL
SQL = "Select \* from Forum WHERE 1=2"
Set RS = databas.execute(SQL)

RS.Add.Open SQL, Conn, 1, 2

o.s.v

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

## #4 — Kent, 2000-09-05T17:00Z

Det är inte det som är felet,  även om koden ser ur som denna,

```
<%@ Language=VBScript %>
<html>
<%
Dim RSAdd
Dim SQL

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("forum.mdb")
Session("dbasepath") = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
SQL = "Select * from Forum WHERE 1=2"
Set RS = databas.execute(SQL)

	
RS.Add.Open SQL, Conn, 1, 2

RSAdd.AddNew
RSAdd("Namn") = Request.Form("txtNamn")
RSAdd("Epost") = Request.Form("txtEpost")
RSAdd("Rubrik") = Request.Form("txtRubrik")
RSAdd("Datum") = Date()
If Request.QueryString("Id") > 0 then
   RSAdd("Parent") = Request.QueryString("Id")
Else
   RSAdd("Parent") = 0
End If

RSAdd("Meddelande") = Request.Form("txtMeddelande")
RSAdd.Update

%>
```

så vill den ändå inte funka,
får upp att felet ligger i RSAdd utrycket.

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

## #5 — Vide, 2000-09-05T17:07Z

Först initierar du ett recordset med namnet RS, och sedan försöker du att använda RSadd... du får välja ett av namnen...

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

## #6 — Kent, 2000-09-05T18:17Z

Lite kod hjälp vore bra.

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

## #7 — AG, 2000-09-05T18:29Z

Det är som Vide säger du sätter värde
Set RS = databas.execute(SQL)
och försöker sen hämta det som RSadd
du får sätta
Set RSadd = databas.execute(SQL) isf för att det skall fungera.

Andreas

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

## #8 — Kent, 2000-09-05T18:40Z

Får nu upp ett konstigt felmeddelande,
Recordset is read-only 

/insert.asp, line 21 

vad är fel då.?

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

## #9 — AG, 2000-09-05T19:42Z

Skulle tippa på att katalogen bara har läs rättigheter och inte skrivrättigheter. Se till att katalogen både har skriv och läs rättigheter.

Andreas

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

## #10 — Kent, 2000-09-05T21:40Z

Koden ser nu ut som denna,

```
<%@ Language=VBScript %>
<html>
<%
Dim Conn
Dim RSAdd
Dim SQL

Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open "DSN=konto-data;Password=lösen"
SQL = "Select * from Forum WHERE 1=2"
Set RSAdd = Databas.Execute(SQL)

RSAdd.Open SQL, Databas, 1, 2

RSAdd.AddNew
RSAdd("Namn") = Request.Form("txtNamn")
RSAdd("Epost") = Request.Form("txtEpost")
RSAdd("Rubrik") = Request.Form("txtRubrik")
RSAdd("Datum") = Date()
If Request.QueryString("Id") > 0 then
   RSAdd("Parent") = Request.QueryString("Id")
Else
   RSAdd("Parent") = 0
End If

RSAdd("Meddelande") = Request.Form("txtMeddelande")
RSAdd.Update

%>
```

får upp fel,
Invalid operation on open object 

/insert.asp, line 18 

på rad 18 ligger 
RSAdd.Open SQL, Databas, 1, 2

\[Redigerat av Kent den 05 sep 2000\]

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

## #11 — emission, 2000-09-06T05:57Z

SQL = "Select \* from Forum WHERE 1=2"

1 kan inte vara 2.

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

## #12 — JE, 2000-09-06T07:01Z

Ta bort raden:
RSAdd.Open SQL, Databas, 1, 2

Du har redan skapat ett recordset på raden innan.

Set RSAdd = Databas.Execute(SQL)

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

## #13 — Eclipse, 2000-09-06T08:47Z

En annan grej som kan vara relevant att veta är skillnaden mellan INCLUDE FILE och INCLUDE VIRTUAL. Med INCLUDE FILE måste filen ligga i samma katalog som sidan den inkluderas med. Du kan inte skriva \<!-- INCLUDE FILE="../includes/meny.asp" --\> Det blir error.

Men INCLUDE VIRTUAL menas roten av webbplatsen. Man kan skriva \<!-- INCLUDE VIRTUAL="/includes/meny.asp" --\> men inte \<!-- INCLUDE VIRTUAL="../includes/meny.asp" --\>

Hajjar du? Själva INCLUDE grejen funkar inte som vanlig html och om man inte känner till det kan till synes lätta problem bli helt omöjliga.

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

## #14 — Kent, 2000-09-06T10:24Z

Emission du skrev, 1 kan inte vara 2.?
hur ska det då vara.?

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

## #15 — PatrikB, 2000-09-06T11:47Z

Hello,

du kan inte ha en siffra som fältnamn eller variabelnamn. dvs, 1 = 2 borde vara a = 2 tex.

Sedan det med include file=../filnamn.inc funkar visst, beror på hur servern är inställd. 

cya,
PatrikB

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

## #16 — @nders, 2000-09-06T11:55Z

om man ställer frågan "select \* from blaha where 1=2" så får man ett tomt recordset tebaks.

1 och 2 behöver alltså inte alls vara fältnamn.

du kan skriva select "distinct 24/2 from blaha" om du inte orkar plocka fram räknaren.

det jag försöker komma fram till är bara att det behöver inte nödvändigtvis vara fält du selectar från en tabell.

i det här fallet kan jag tänka mig kent vill hämta ett tomt recordset för att kunna lägga till poster med recordset-objektet.

och då torde det enligt mig vara korrekt att skapa ett tomt recordset genom att bara hämta alla poster där 1=2, dvs inga.

vi vill ju spara lite prestanda och inte hämta onödig data, eller hur?

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

## #17 — Kent, 2000-09-06T13:27Z

Hur gör jag för att fixa till felet.?

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

## #18 — PatrikB, 2000-09-06T13:58Z

Hello,

jepp, stämmer ..... 

fast då skulle jag ej köra med denna typ av connection:

```
Set RS = databas.Execute(SQL)
```

Utan köra denna:

```
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open SQL, databas, 1, 2
```

som ger mer "kontroll" över recordsetet ... 

cya,
PatrikB

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

## #19 — emission, 2000-09-06T14:25Z

"om man ställer frågan "select \* from blaha where 1=2" så får man ett tomt recordset tebaks."

Det är sant. Tänkte inte på att det inte var så tokigt. :)

Sedan måste jag bara skrika INSERT!!!!!

 ¨;)

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

## #20 — Vide, 2000-09-06T14:36Z

Vi skriker i kör emission...

Läs mer om INSERT här: <http://www.webavis.nu/webavis/html/artiklar/asp/asp8.shtml>

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6561-någon  
Nästa sida: https://www.webforum.nu/amne/asp/6561-någon/page2.md
