webForumDet fria alternativet

kan inte utföra den begärda åtgärden.

ASP

16 svar · 373 visningar · startad av UnConed

Medlem sedan jan. 2002307 inlägg
Frågan#1

Jag håller på att försöka göra en en gästbok med flera sidor,
Fast jag får hela tiden följande fel:
-----------
Feltyp:
ADODB.Recordset (0x800A0CB3)
Objektet eller providern kan inte utföra den begärda åtgärden.
/version2/Guestbook.asp, line 212
------------
Line 212 ser ut såhär:
-------
RecSet2.AbsolutePage = intPageID
--------
Och intpageID får jag fram såhär:
--------------
If Len(Request.QueryString("pageID")) > 0 Then
intPageID = Cint(Request.QueryString("pageID"))
Else
intPageID = 1
End If
--------
Nån som kan svara mig?

Medlem sedan juni 200032 967 inlägg
#2

Jag skulle gissa på att du öppnar ditt recordset på fel sätt. Hur ser öppningen av ditt recordset ut?

Medlem sedan jan. 2002307 inlägg
#3

Set RecSet2 = Server.CreateObject("ADODB.Recordset")

Medlem sedan juni 200032 967 inlägg
#4

Hur öppnar du det?

Medlem sedan jan. 2002307 inlägg
#5

DU menar: RecSet2.Open SQL, Connect2

Medlem sedan juni 200032 967 inlägg
#6

Ändra till

RecSet2.Open SQL, Connect2, 3, 3

PS: Open betyder öppna ;)

Mvh,

Medlem sedan jan. 2002307 inlägg
#7

Hehe, jo jag vet, fast hade executade den från början, så jag vart lite förvirrad bara..
Fast det där funkade inte heller:/
Inget annat som kan vara fel?
Tack hursomhelst..

Medlem sedan juni 200032 967 inlägg
#8

Samma felmeddelande?
Du måste visa mer kod om vi ska kunna hjälpa till. :)

Mvh,

Medlem sedan juli 20003 825 inlägg
#9

Hur ser din SQL sats ut?

SQL = ....??

Medlem sedan jan. 2002307 inlägg
#10

Jo exakt samma felmeddelande..

Okej, jag skickar en längre snutt då :)
-
Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "driver=MySQL;server=localhost;uid=lalal;pwd=hmm;database=Guestbook"

Dim intPageID, intCurrentPost
intCurrentPost = 0

If Len(Request.QueryString("pageID")) > 0 Then
intPageID = Cint(Request.QueryString("pageID"))
Else
intPageID = 1
End If

Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM posts Where Till = '" & Request.QueryString("Nick") & "' Order By ID DESC"

RecSet2.CursorType = 3
RecSet2.Open SQL, Connect2, 3, 3

If RecSet2.EOF Then
Response.write "bla"
Else
RecSet2.PageSize = 1
RecSet2.AbsolutePage = intPageID ' Detta är line 212
If RecSet2.EOF THEN
Response.write "bla"
Else
Do Until RecSet2.EOF OR intCurrentPost = RecSet.PageSize
---

Medlem sedan juli 20003 825 inlägg
#11

(Snälla, byt till OLEDB... Jag vet att det inte är ett svar men fasen, fattar du vad du skriver?? Jag gör det inte...)

Medlem sedan juli 20003 825 inlägg
#12

Här är kod som gör att din applikation fugerar transparent på din egen dator och på webbservern.

Vi har haft stora problem med addOptimistic, addPessimistic och allt vad det heter. Jag har aldrig hackat på det viset men min kollega gjorde det och hade massor av problem. Till sist kom hon till insikt och tidigare problem uteblev helt.

'## OPEN THE DATABASE
DIM Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\Data\webadmin.mdb")

'## SELECT SERVER
'IF Request.ServerVariables("SERVER_NAME") = "192.168.1.44" THEN
'	' ## LOCAL SERVER
'	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\Data\webadmin.mdb")
'ELSE
'	' ## WEBSERVER
'	Conn.Open "webadmin", "", ""
'END IF

---
Förlåt, vad jag menar är att du lägger denna kod i filen open.asp som du sen inkluderar på varje sida <!-- #INCLUDE VIRTUAL="/open.asp" -->

Vi har diskuterat detta relativt mycket tidigare men eftersom du kanske inte varit med så länge postar jag detta i alla fall.

Medlem sedan jan. 2002307 inlägg
#13

tackar, ska kolla på det senare när jag löst detta.
Och ja, jag fattar precis vad jag skriver.

Medlem sedan juli 20003 825 inlägg
#14

OK. Då är allt i sin ordning. Tänk på att utomstående läser din kod oftare än du tror, till exempel varje gång du postar ett inlägg i forumet! :-)

PS. Skeria rockar fett.

Medlem sedan jan. 2002307 inlägg
#15

hehe jo jag vet, fast jag hade som inget val :/
Du vet inte varför det inte funkar då?
Jag börjar misstänka att MySQL inte stödjer det eller nått.

Medlem sedan juli 20003 825 inlägg
#16

MySQL??

Det noterade jag inte. Jag liksom utgick från att du körde Access som majoriteten av oss andra.

Testa att ha hakar:
SQL = "SELECT * FROM [posts] Where [Till] = '" & Request.QueryString("Nick") & "' Order By [ID] DESC"

Du kan nog inte döpa ett fält till ID då det kan vara reserverat. intID är ett förslag.

Sen tror jag inte att du ska ha enkelfjumpar runt namn i MySQL men det vet jag inte.

Kolla gärna i PHP forumet. Dom är lite vassare på just MySQL där. Det är inte så vanligt att köra MySQL under ASP så man hamnar liksom mitt emellan på ett litet halvdumt sätt.

Medlem sedan juli 20003 825 inlägg
#17

Testa att skriva enbart Request("Nick").

Jag i vissa lägen fått oförklarliga felmeddelanden med den längre varianten trots att den har varit rättstavad och rent teoretiskt borde fungera.

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)