22. august 2003 - 17:22
Der er
23 kommentarer og 2 løsninger
BOF eller EOF - fejl ved request.form
Hej med jer. Jeg modtager følgende fejl: "ADODB.Field error '800a0bcd' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /html/shop/shop.asp, line 23" Fejlen opstår så snart jeg ændrer følgende kode: strSQL = "Select * from QryProdukter" til: strSQL = "Select * From qryProdukter WHERE kategori='" & request("kat") & "'" - hvorfor går den fejl? Jeg har ikke sat nogen BOF eller EOF nogen steder - skal den stå nogen steder?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
22. august 2003 - 17:25
#1
Det fordi din database tabel er tom og du bør sætte en if sætning ind som tjekker på det: strSQL = "Select * From qryProdukter WHERE kategori='" & request("kat") & "'" Set rs =conn.execute(strSQL) if rs.EOF then Reponse.Write "Ingen data fundet" else 'Udskive end if
22. august 2003 - 17:25
#2
er du sikker på der kommer en værdi med i din request ? Prøv at ændre request("kat") til request.querystring("kat") Hvis der kommer noget med i din request er der så et nummer i kategori der passer på det tal der kommer fra request ?
22. august 2003 - 17:26
#3
Sagt på en anden måde du har ikke en kategori i databasen som du søger efter.
22. august 2003 - 17:26
#4
det er sandsynlig hvis fordi du prøver at udskrive et felt med rs("feltnavn") så ikke findes(sikkert bare stavet forkert) tjeck for stavefejl :o)
22. august 2003 - 17:27
#5
så=som :o)
22. august 2003 - 17:33
#6
hm... der er en enkelt post i databasen, som den gerne skulle hente?
22. august 2003 - 17:34
#7
eagleeye - ahh, du er inde på noget af det rigtige, for jeg har kun et produkt i en kategori... jeg prøver lige at sætte din EOF ind.
22. august 2003 - 17:37
#8
arh - hvor skal jeg sætte den kode ind? min kode er lige nu: <% Dim rst Dim strSQL strSQL = "Select * From qryProdukter WHERE kategori='" & request.querystring("kat") & "'" Set rst = Server.CreateObject("ADODB.Recordset") %> <% rst.Open strSQL, con, 3, 1, 1 %>
22. august 2003 - 17:37
#9
den der EOF kode?
22. august 2003 - 17:38
#10
Sådan her: <% Dim rst Dim strSQL strSQL = "Select * From qryProdukter WHERE kategori='" & request.querystring("kat") & "'" Set rst = Server.CreateObject("ADODB.Recordset") %> <% rst.Open strSQL, con, 3, 1, 1 if rst.EOF then Reponse.Write "Ingen data fundet" else 'Udskive fra dit recordet do while not rst.EOF rst.movenext loop end if %>
22. august 2003 - 17:45
#11
hæ - du skriver reponse - jeg formoder det er reSponse :o) Men - eagleeye- hvor du skriver "udskrive fra dit recordset" - hvad skal der stå her? For jeg har en table der bliver fyldt ud med tekst og billede fra databasen.. skal den ind i mellem den?
22. august 2003 - 17:46
#12
Det med loop var et eksemple. Du skal skrive du som du havde til at stå neden uder rst.Open og gav feljen med BOF or EOF fejl.
22. august 2003 - 17:48
#13
ok - nu er jeg kommet så langt at jeg har sat mine data ind i mellem den hvor du skriver 'udskrive fra dit recordset'. men - nu skriver siden konstant at der ingen data findes......?
22. august 2003 - 17:50
#14
Prøv at udskrive din SQL så du/vi kan se om du får den rigtige kategori med: Så du lige før linjen med denne: rst.Open strSQL, con, 3, 1, 1 Skriver: Response.Write strSQL
22. august 2003 - 17:51
#15
prøver prøver (meget ihærdig)
22. august 2003 - 17:51
#16
den skriver følgende: Select * From qryProdukter WHERE kategori=''Ingen data fundet
22. august 2003 - 17:53
#17
Ok, så får du ikke fat i kategorien via linket, request("kat") Står der i linket noget med xxx.asp?kat=visdenne
22. august 2003 - 17:56
#18
hmm.. den kommer slet ikke så langt.. når jeg vil starte siden op, skriver den med det samme "ingen data fundet", og viser intet andet.
22. august 2003 - 18:01
#19
Ikke forstået?? Hvis du ikke anger noget i linket (QueryString) vil den skrive "ingen data fundet". Du skal angive den kategorien du vil havde vis i linket ved at skriv: xxx.asp?kat=DENNE kat fordi du skriver Request("kat") det hendet det tekst som står efter = tegnet.
22. august 2003 - 18:14
#21
skal den skrive &submit=v%E6lg ?
22. august 2003 - 18:14
#22
[ps - takker for din tålmodighed]
22. august 2003 - 18:16
#23
Ok, Du skal havde kun havde det som har med udskrift fra rst ind i Else delen på den if sætning og ikke hele resten af koden, if rst.EOF then Reponse.Write "Ingen data fundet" else 'Kode som 'udskive fra rst end if 'ny SQL som finden noget andet rs2.Open SQL,conn
22. august 2003 - 19:04
#24
ok - jeg takker mange gange for hjælpen - jeg har forstået hvordan det virker, og vil nu tilrette hjemmesiden.
22. august 2003 - 19:05
#25
håber fordelingen er ok med jer.
Kurser inden for grundlæggende programmering