Toon posts:

[ASP] EOF en BOF op True??!!?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%
Dim cnDB
Dim ID
Dim rsQuery

ID = Request.QueryString("ID")

Set cnDB = Server.CreateObject("ADODB.Connection")
cnDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data source=D:\Accounts\DSAccounts\creepsworld\creepsworld.com\db\database.mdb"
cnDB.Open

Set rsQuery = Server.CreateObject("ADODB.Recordset")
rsQuery.Open "SELECT * FROM reviews WHERE ReviewID = " & ID & " ", cnDB

While Not rsQuery.EOF

Wend
%>

en dan krijg ik een error iets over dat EOF en BOF True zijn, of dat er geen records zijn, er zijn 2 records en voor de rest, snap ik 't niet meer.

wie kan me helpen??????

Verwijderd

Lesje Debuggen:

Verander dit eerst ff:

Set rsQuery = Server.CreateObject("ADODB.Recordset")
sSQL = "SELECT * FROM reviews WHERE ReviewID = " & int(ID) & ""
response.write sSQL
rsQuery.Open sSQL, cnDB

Ok, nu ff runnen en dan de string die je output ff copien en in Access in Query's plakken. Kijk nu eens wat er geoutput word. En uh.. doe ff een INT om je id in je string. Je kan namelijk meerdere statemets runnen achter elkaar en dan ben je dus de klos.

Kijk ff wat ie doet en laat ff weten!

Succes

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Zet er ook ff een .movenext bij.

Verwijderd

:) ook wel makkelijk, ik had hem nog niet gezien

Verwijderd

Topicstarter
Ik geloof niet dat ik helemaal begrepen ben.
Dit moet namelijk een detail page worden, van het ReviewID.
Ik heb nu dus dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<html>
<head>
<title>Creeps Svencoop - An Unofficial Fansite</title>
</head>
<style>
<!--
A:link {text-decoration: none ; color: #99CCFF}
A:visited {text-decoration: none ; color: #99CCFF}
A:active {text-decoration: none ; color: #99CCFF}
A:hover {text-decoration: none; color: #FFFFFF}
-->
</style>
<body text="#CCCCCC" bgcolor="#000000" style="font-family: Verdana">

<div align="center">
<center>
<table border="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000"
width="750" id="AutoNumber1" cellpadding="0" bgcolor="#001637" height="1">
<tr>
<td width="750" valign="top" height="121" colspan="2" bgcolor="#000000">
<p align="center">[img]"logo.jpg"[/img]</td>
</tr>
<tr>
<td width="750" valign="top" height="1" colspan="2" bgcolor="#000000" style="font-size: 8pt">
&nbsp;</td>
</tr>
<tr>
<td width="150" valign="top" height="341" rowspan="2" bgcolor="#000000">
<% Server.Execute("menu.inc") %>
</td>
<td width="600" bgcolor="#000000" height="21" valign="top">
[img]'title_reviews.jpg'[/img]</td>
</tr>
<tr>
<td width="600" bgcolor="#000000" height="335" valign="top">
<p align="left">
<%
Dim cnDB
Dim ID
Dim rsQuery

ID = Request.QueryString("ID")

Set cnDB = Server.CreateObject("ADODB.Connection")
cnDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data source=D:\Accounts\DSAccounts\creepsworld\creepsworld.com\db\database.mdb"
cnDB.Open

Set rsQuery = Server.CreateObject("ADODB.Recordset")
rsQuery.Open "SELECT * FROM reviews WHERE ReviewID = " & ID & " ", cnDB

While Not rsQuery.EOF

Wend
%>
<h3><%=rsQuery("MapName")%></h3>
<font size="2">
<b>Review Author:</b> <%=rsQuery("Author")%> <br>
<b>Writing Date:</b> <%=rsQuery("Date")%> <br>
<b>Screenshots:</b><br>
<table border="0">
<tr>
<td align="center">[img]"<%=rsQuery("Screenshot1")%>"></td>
<td[/img][img]"<%=rsQuery("Screenshot2")%>"></td>
</tr>
</table>
</font>
<hr>
<font[/img]
<table border="0" width="100%">
<tr>
<td>
<%=rsQuery("Review")%>
</td>
</tr>
</table>
<br>
<b>Ups:</b><br>
<li><%=rsQuery("Ups1")%></li>
<li><%=rsQuery("Ups2")%></li>
<li><%=rsQuery("Ups3")%></li>
<li><%=rsQuery("Ups4")%></li>
<li><%=rsQuery("Ups5")%></li>
<br><br>
<b>Downs:</b><br>
<li><%=rsQuery("Downs1")%></li>
<li><%=rsQuery("Downs2")%></li>
<li><%=rsQuery("Downs3")%></li>
<li><%=rsQuery("Downs4")%></li>
<li><%=rsQuery("Downs5")%></li>
</font>
<hr>
<font size="2">
<b>Overal Rating:</b><br></font>
<font color="red" size="5"><b><%=rsQuery("Overal")%>%</b></font>
</td>
</tr>
</table>
</center>
</div>
<p align="center"><font size="1">© Copyright 2002 CreepsWorld.com. All rights 
Reserved. Click <a href="default.asp?page=copyright">here</a> for more copyright 
information.</font></p>
</body>
</html>

Het wordt gebruikt op http://www.creepsworld.com/svencoop/?page=reviews

als je daar naar een review gaat, krijg ik dus die error. en ik gebruik daarbij dus de bovenstaande code.
edit:
Ik heb inmiddels de volgende error:

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'ReviewID ='.

/svencoop/review.asp, line 50
-------------------------------

Ik heb geloof ik toch echt alles goed gedaan hoor!

Verwijderd

En in jouw geval zou ik gewoon het volgende doen:

If objRs.EOF then
'Nu ga ik fout
Else
'Gegevens
End if

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

Op donderdag 28 maart 2002 16:46 schreef Wiegje het volgende:
er moet geen movenext komen.
dit is een detail page, dus alleen maar 1 record moet er worden weergeveven, die gelijk staat aan de ID. snappie?? :)
mja, dan moet je ook geen while gebruiken...
overigens is het probleem waarschijnlijk dat je iets uit de recordset opvraagt terwijl die leeg is...

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Topicstarter
zie ff de ge-editen post :)
ik begrijp er geen donder meer van :'(

Verwijderd

Ja sorrie, had niet helemaal goed gelezen, vandaar de edit. Ik heb wel een advies voor je.

Goed Boek:

Unleashed Active Server Pages
Isbn: 0-672-31613-7

Te bestellen bij oa Wristers kost 160 piek maar ja dan heb je wel wat.

Succes ;) Hier staat echt alles in wat je als programmeur nodig hebt.

Verwijderd

Topicstarter
ik heb het boek 'Active Server Pages' door Eric A. Smith

Verwijderd

Dit is echt het beste boek wat je kunt krijgen, of je moet van onbegrijpelijke code houden die Wrox en andere je voorschotelen.

Maar ff over je probleem. Je bent nu een loop aan het bouwen om record 1 voor 1 uit te lezen, en als je 1 record wil uitlezen hoe je dus niet te loopen. Wat ik hierboven schreef is alleen fout afhandling om te kijken of je record bestaat!

Verwijderd

Topicstarter
aha, maar of m'n record bestaat dat weet ik wel..
maar nu dat ie ook echt het ene, juist, record laat zien, met volledige details, zoals je kan zien op de code daar..
======================

In middels is geloof ik mijn Acces databaseje zo groot geworden dat ie niet meer te bereiken is.... lol :)
offff is dat niet mogelijk?

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

om toch maar even sportief te doen:
1 kijk eens of ID wel een waarde heeft

2 als je while not .eof wend doet met een recordset zonder movenext, crasht IIS

3 IIS crasht niet, dus je recordset is leeg

4 als je nu <%=rsQuery("Author")%> doet(bij een lege recordset), terwijl de recordset leeg is, krijg je foutmelding: rs either eof or BOF, de fout waarmee je begon.

;)

edit:
ga nu niet .movenext tussen die while wend zetten, want dan is je RS altijd eof als je bij het wegschrijven van de HTML aan komt.
laat die loop dus helemaal weg, en vervang het door het voorbeeld van voetenzalf

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Topicstarter
hmmmmmz....ok, dat verklaart wrom m'n site iedere keer crasht :)
anyway, over die error. ik zal eens even kijken of ie alles wel invult...
###EDIT###

Ben erachter dan 'ie de velden Screenshot1 en Screenshot2 niet invult...
zou dat 't kunnen zijn?

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

Op donderdag 28 maart 2002 17:06 schreef Wiegje het volgende:

Ben erachter dan 'ie de velden Screenshot1 en Screenshot2 niet invult...
zou dat 't kunnen zijn?
nope

hij crasht hierop neem ik aan:
rsQuery.Open "SELECT * FROM reviews WHERE ReviewID = " & ID & " ", cnDB
lees nu eens wat ik bij punt 1 had staan :)

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Topicstarter
KRIJG NOU TIETEN!!!
HET WERKT GEWOON!! WHAAA! :P
DANK JULLIE WEL!! *deelt bier uit aan iedereen*
Dit is de uiteindelijke detaul page dus:
http://www.creepsworld.com/svencoop/review.asp?ID=8

  • Tommel
  • Registratie: November 2000
  • Niet online
code:
1
ID = Request.QueryString("ID")

Haal die ID even door een replace functie heen, is wel net zo veilig.
code:
1
2
3
4
5
6
function check(tekst)   
  tekst = Replace(tekst, "'","''")       
End function

ID = Request.QueryString("ID")
check ID

Kunnen er geen rare SQL query's uitgevoerd worden dmv de querystring.
Pagina: 1