webForumDet fria alternativet

Objekt krävs

22 svar · 502 visningar · startad av Mika3l

Mika3lMedlem sedan nov. 20018 492 inlägg
#1

Har följande SQL-sats på en asp-sida:

NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM t1.tblNews, t2.tblPages WHERE t2.f_PID = " & t1.f_readmore & " ORDER BY t1.f_NID DESC LIMIT 0,6"

Får detta felmeddelandet:

Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''

Det jag vill göra är alltså att hämta ut nyheten samt kategori-idt till den ev sidan som det ska länkas till (det är inte alltid det finns någon sida att länka till).

cyprysMedlem sedan dec. 20003 563 inlägg
#2

Visa mer kod. Felet ligger i asp-koden.

Mika3lMedlem sedan nov. 20018 492 inlägg
#3
Set rsNews = Server.CreateObject("ADODB.Recordset")
NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM t1.tblNews, t2.tblPages WHERE t2.f_PID = " & t1.f_readmore & " ORDER BY t1.f_NID DESC LIMIT 0,6"
'Response.Write(NewsSQL)
rsNews.Open NewsSQL, Connection
If rsNews.EOF Then
Response.Write("<tr><td>Inga nyheter är för tillfället tillgängliga.</td></tr>")
Else

Dim arrBgcolor,i
arrBgcolor = Array("#BFBFBF","#F9F9F9")
i = 0

Do Until rsNews.EOF

Response.Write("<tr><td style=""background: " & arrBgcolor(i Mod 2) & ";""><strong>" & rsNews("f_date") & "</strong>")
Response.Write("<br><br style=""line-height: 2px;"">")
Response.Write(rsNews("f_text") & "<br><br style=""line-height: 3px;"">")
If rsNews("f_readmore") <> "" Then
Response.Write("<a href=""index.asp?cat=" & rsNews("f_cat") & "&page=" & rsNews("f_readmore") & """ class=""smalllink"">Läs mer</a>")
End If
Response.Write("</td></tr>")

i = i+1

rsNews.MoveNext
Loop

End If

rsNews.Close : Set rsNews = Nothing
cyprysMedlem sedan dec. 20003 563 inlägg
#4

Och hur ser connection ut och på vilken rad får du felet?

Mika3lMedlem sedan nov. 20018 492 inlägg
#5
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DRIVER={MySQL};SERVER=localhost;DATABASE=databas;USER=mikael;PASSWORD=test;"

Får felmeddelande på NewsSQL = ".....".

SebbeMedlem sedan jan. 20032 285 inlägg
#6

Jag tror väl inte att t1 är ett objekt du har skapat?

NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM t1.tblNews, t2.tblPages WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6"
Mika3lMedlem sedan nov. 20018 492 inlägg
#7

Det har du så rätt i Sebbe! Men jag får detta felmeddelandet istället (samma rad):

ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.

SebbeMedlem sedan jan. 20032 285 inlägg
#8

Är t2.f_PID och t1.f_readmore av samma datatyp?

Mika3lMedlem sedan nov. 20018 492 inlägg
#9

Dom ska vara det iaf, men det är bäst jag kollar. Man vet ju aldrig...

SebbeMedlem sedan jan. 20032 285 inlägg
#10

Nu såg jag nog vad som var felet! Tycker du inte att det fetmarkerade ser lite knasigt ut?

NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM [b]t1.tblNews, t2.tblPages[/b] WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6"
Mika3lMedlem sedan nov. 20018 492 inlägg
#11

Nej, är jag blind om jag inte ser något fel? ;)

Fälten är f.ö av samma typ (int).

SebbeMedlem sedan jan. 20032 285 inlägg
#12
NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM [b]tblNews t1, tblPages t2[/b] WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6"
Mika3lMedlem sedan nov. 20018 492 inlägg
#13

Haha, ibland är man bra blind! ;)
Men det vill inte riktigt fungera ändå! :o

Får det här när jag skriver ut SQL-satsen:

SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM tblNews t1, tblPages t2 WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6

Felmeddelandet är:

ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.

NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM tblNews t1, tblPages t2 WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6"
rsNews.Open NewsSQL, Connection
cyprysMedlem sedan dec. 20003 563 inlägg
#14
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open " DRIVER={MySQL};SERVER=localhost;DATABASE=databas;USER=mikael;PASSWORD=test;"

NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM tblNews t1, tblPages t2 WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6"

Set rsNews = Connection.Execute(NewsSql)

If rsNews.EOF Then
	Response.Write("<tr><td>Inga nyheter är för tillfället tillgängliga.</td></tr>")
Else

Dim arrBgcolor,i
arrBgcolor = Array("#BFBFBF","#F9F9F9")
i = 0

Do Until rsNews.EOF

	Response.Write("<tr><td style=""background: " & arrBgcolor(i Mod 2) & ";""><strong>" & rsNews("f_date") & "</strong>")
	Response.Write("<br><br style=""line-height: 2px;"">")
	Response.Write(rsNews("f_text") & "<br><br style=""line-height: 3px;"">")
	If rsNews("f_readmore") <> "" Then
		Response.Write("<a href=""index.asp?cat=" & rsNews("f_cat") & "&page=" & rsNews("f_readmore") & """ class=""smalllink"">Läs mer</a>")
	End If
	Response.Write("</td></tr>")

	i = i+1

rsNews.MoveNext
Loop

End If

rsNews.Close : Set rsNews = Nothing
Mika3lMedlem sedan nov. 20018 492 inlägg
#15

Får objekt krävs-fel på Set rsNews-raden. Fattar fan inte vad som är fel! :x

yohpopsMedlem sedan feb. 20011 198 inlägg
#16

Prova med enklast möjliga SQL-fråga.

Mika3lMedlem sedan nov. 20018 492 inlägg
#17

Testade med NewsSQL = "SELECT * FROM tblNews" men jag får fortfarande Objekt krävs. Ibland undrar man varför man håller på med sånt här... :x :OO

@ndersMedlem sedan juni 200032 969 inlägg
#18

Visa hur koden ser ut nu, exakt.

mvh

Mika3lMedlem sedan nov. 20018 492 inlägg
#19
NewsSQL = "SELECT t1.f_date, t1.f_text, t1.f_readmore, t2.f_cat FROM tblNews t1, tblPages t2 WHERE t2.f_PID = t1.f_readmore ORDER BY t1.f_NID DESC LIMIT 0,6"

Set rsNews = Connection.Execute(NewsSQL)

If rsNews.EOF Then
	Response.Write("<tr><td>Inga nyheter är för tillfället tillgängliga.</td></tr>")
Else

Dim arrBgcolor,i
arrBgcolor = Array("#BFBFBF","#F9F9F9")
i = 0

Do Until rsNews.EOF

	Response.Write("<tr><td style=""background: " & arrBgcolor(i Mod 2) & ";""><strong>" & rsNews("f_date") & "</strong>")
	Response.Write("<br><br style=""line-height: 2px;"">")
	Response.Write(rsNews("f_text") & "<br><br style=""line-height: 3px;"">")
	If rsNews("f_readmore") <> "" Then
		Response.Write("<a href=""index.asp?cat=" & rsNews("f_cat") & "&page=" & rsNews("f_readmore") & """ class=""smalllink"">Läs mer</a>")
	End If
	Response.Write("</td></tr>")

	i = i+1

rsNews.MoveNext
Loop

End If

rsNews.Close : Set rsNews = Nothing

Sidan är inkluderad i en annan fil som skapar kopplingen till databasen.

cyprysMedlem sedan dec. 20003 563 inlägg
#20

Hur har du initierat Connection?
Det verkar som att du gömt den någonstans.

135 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)