webForumDet fria alternativet

Visa lista

15 svar · 412 visningar · startad av diablo

diabloMedlem sedan aug. 2000113 inlägg
#1

Tjena! ..
Vill lista upp spel ur en db som jag har, men det vägrar fungera som det ska!

<%

	Set Connect = Server.CreateObject("ADODB.Connection")
	ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")
	Connect.Open ConnectString

	Set game = Request.QueryString("show")

	showGames = "SELECT * FROM "& game &" "
	Set RS = Connect.Execute(showGames)

	countGames = "SELECT COUNT(id) AS antal FROM "& game &" "
	Set RS_C = Connect.Execute(countGames)

%>

Så ser koden ut som jag använder mig av när jag ska hämta spelen ur databasen!
När jag öppnar sidan, så skickar jag med en sträng typ: "games.asp?show=flipper", men ibland så blir det felet:

Microsoft JET Database Engine fel '80040e14' 

Syntaxfel i FROM-instruktion. 

/test/games.asp, rad 12

eller också så blir det:

ADODB.Field fel '80020009' 

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats; åtgärden som programmet begärt kräver en aktuell post. 

?

Varför blir det så?

Vissa kategorier som jag vill lista upp funkar. Alltså, jag tycker att om det är nåt som är knas så borde det ju bli samma fel hela tiden men det blir det inte! Vissa funkar juh till och med!

------------------
"I have a problem solver and his name is revolver!"

[Redigerat av diablo den 22 mar 2001]

RossifumiMedlem sedan okt. 20001 558 inlägg
#2

Det finns alltså inga poster i de kolumnerna...

Du får köra:

if rs.eof then
Response.Write "Inga poster"
Else
'Loopa ut
End If

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

[Redigerat av Rossifumi den 22 mar 2001]

diabloMedlem sedan aug. 2000113 inlägg
#3

Jo jag har gjort så här:

<% If RS_C("antal") = 0 Then %>

<font face="verdana" size="1">
<strong> Kategori: </strong> <%= RS("category") %>  <br />
<strong> Antal: </strong> 0 </font> <br /><br />

	<br />

	<%
		RS.Close
		Set RS = Nothing
		RS_C.Close
		Set RS_C = Nothing
		Connect.Close
		Set Connect = Nothing
	%>

<% Else %>

Men det hjälper juh inte!
Det blir i alla fall samma fel!

------------------
"I have a problem solver and his name is revolver!"

RossifumiMedlem sedan okt. 20001 558 inlägg
#4

Vet ju inte riktigt ifall det är samma sak men jag är ju ingen expert...

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

diabloMedlem sedan aug. 2000113 inlägg
#5

Jag vet inte heller, men om jag gör på ditt sätt så kommer den ju till slut att skriva ut "Inga poster", eftersom när jag loopat igenom hela databasen så blir den ju EOF. eller tänker jag fel?

------------------
"I have a problem solver and his name is revolver!"

RossifumiMedlem sedan okt. 20001 558 inlägg
#6

Den kollar ju ifall det finns några poster... Gör det inte det så skriver den "Det finns..." annars så börjar den ju loopa tills det tar slut!

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

diabloMedlem sedan aug. 2000113 inlägg
#7

Ja just det, jag som tänkte fel! ..
Ska testa det! :)

------------------
"I have a problem solver and his name is revolver!"

diabloMedlem sedan aug. 2000113 inlägg
#8

Får det fortfarande inte att fungera! Det känns ju som att det är väldigt simpelt att kolla om det är tomt i db:n, men jag kommer inte på nåt mer att testa! hjäälp! :)

------------------
"I have a problem solver and his name is revolver!"

@ndersMedlem sedan juni 200032 969 inlägg
#9

får du alltså syntax-fel?

skriv ut sql-frågan då med response.write så kan man kanske se vad som är paj.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

diabloMedlem sedan aug. 2000113 inlägg
#10

Nää då, syntax felet ordnade sig, de verkade som om man inte fick ha en tabell som heter "action", bytte bara namn på den så funkade det! ..

Problemet nu är om det är helt tomt i databasen så vill jag skriva ut det, som det är nu så står det:

ADODB.Field fel '80020009' 
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats; åtgärden som programmet begärt kräver en aktuell post. 

?

------------------
"I have a problem solver and his name is revolver!"

@ndersMedlem sedan juni 200032 969 inlägg
#11

då har du inte gjort som rossi menade.

släng upp hela koden så ska vi se till att det lirar.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

diabloMedlem sedan aug. 2000113 inlägg
#12

hehe, okej! :)


<%

	Set Connect = Server.CreateObject("ADODB.Connection")
	ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")
	Connect.Open ConnectString

	Set game = Request.QueryString("show")

	showGames = "SELECT * FROM "& game &" "
	Set RS = Connect.Execute(showGames)

	countGames = "SELECT COUNT(id) AS antal FROM "& game &" "
	Set RS_C = Connect.Execute(countGames)

%>

<html>
<head>

</head>
<body bgcolor="#FFFFFF" background="pics/bgbig.gif">

<% If RS_C("antal") = 0 Then %>

<font face="verdana" size="1">
<strong> Kategori: </strong> <%= RS("category") %>  <br />
<strong> Antal: </strong> 0 </font> <br /><br />

	<br />

	<%
		RS.Close
		Set RS = Nothing
		RS_C.Close
		Set RS_C = Nothing
		Connect.Close
		Set Connect = Nothing
	%>

<% Else %>

<font face="verdana" size="1">
<strong> Kategori: </strong> <%= RS("category") %>  <br />
<strong> Antal: </strong> <%= RS_C("antal") %> </font> <br /><br />

<div align="center">

<table border="0" cellspacing="0" cellpadding="0">

<% Do until RS.EOF

	counter = counter + 1
	If counter Mod 2 = 0 then
	   color = "#FCFCF3"
	Else
	   color = ""
	End If

%>

<tr>
	<td width="120" bgcolor="<%= color %>"><font face="verdana" size="1"><a href="<%= RS("path") %>"><%= RS("name") %></a></font></td>
	<td width="50" bgcolor="<%= color %>" align="right"><font face="verdana" size="1" color="#606060"><%= RS("size") %></font></td>
	<td width="20" bgcolor="<%= color %>">&nbsp;</td>
	<td width="170" bgcolor="<%= color %>" align="right"><a href="<%= RS("path") %>">Info</a></td>
</tr>

<% RS.MoveNext
   Loop
%>

</table>
</div>

<br />

<% End If %>

</td>
</tr>
</table>

</body>
</html>

<%
	RS.Close
	Set RS = Nothing
	RS_C.Close
	Set RS_C = Nothing
	Connect.Close
	Set Connect = Nothing
%>

------------------
"I have a problem solver and his name is revolver!"

@ndersMedlem sedan juni 200032 969 inlägg
#13

då får inte veta vilken rad i koden som levererar felmeddelandet?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

LarsGMedlem sedan dec. 200012 464 inlägg
#14

<% If RS_C("antal") = 0 Then %>

<font face="verdana" size="1">
<strong> Kategori: </strong> <%= RS("category") %> <br />
<strong> Antal: </strong> 0 </font> <br /><br />

<br />

Om RS_C("antal") är 0 så är ju RS tomt, men du försöker ändå skriva ut RS("category") inom detta if-block.

------------------
essentitia preter non sans multiplicandum

@ndersMedlem sedan juni 200032 969 inlägg
#15

bra där, LarsG!

jag är ett blindstyre... ;)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

diabloMedlem sedan aug. 2000113 inlägg
#16

hehe, ja du ser!
Tack så mycket! :)

------------------
"I have a problem solver and his name is revolver!"

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