Visa vad som finns i conn.asp
Så kanske vi kan hjälpa dig... :)
------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Har du gjort lumpen?
35 svar · 467 visningar · startad av Kent
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
%>
Visa vad som finns i conn.asp
Så kanske vi kan hjälpa dig... :)
------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Har du gjort lumpen?
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
------------------
/bohlin
kaffe är djävulens dryck
glögg är guds dryck
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.
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...
------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Har du gjort lumpen?
Lite kod hjälp vore bra.
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
Får nu upp ett konstigt felmeddelande,
Recordset is read-only
/insert.asp, line 21
vad är fel då.?
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
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]
Ta bort raden:
RSAdd.Open SQL, Databas, 1, 2
Du har redan skapat ett recordset på raden innan.
Set RSAdd = Databas.Execute(SQL)
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.
------------------
Life is a bitch... and then you marry one.
Emission du skrev, 1 kan inte vara 2.?
hur ska det då vara.?
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
------------------
=================================
** ZWGdesign **
=================================
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?
------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
det man inte minns har inte hänt.
hit med en berka!</A>
Hur gör jag för att fixa till felet.?
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
------------------
=================================
** ZWGdesign **
=================================
"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!!!!!
¨;)
Vi skriker i kör emission...
Läs mer om INSERT här: http://www.webavis.nu/webavis/html/artiklar/asp/asp8.shtml
------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Har du gjort lumpen?
[Redigerat av Vide den 06 sep 2000]