EOF & BOF fel

ASP

12 svar · 284 visningar · startad av Method

Medlem sedan apr. 2001357 inlägg
Trådstart#1

Jag använder denna koden för att hämta alternativ efter användraförfrågningar
från 2 dropdownmenyer.


<%
kontorID = request.form("kontorID")
jobbID = request.form("jobbID")

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "DSN=upload1;UID=;PWD="

if jobbID = "" then
SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = '" & kontorID & "'"
else
SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = '" & kontorID & " AND jobbID = " & jobbID & "'"
end if	

rs.Open SQL, MinCon
		
%>

<%
If RS.EOF AND RS.BOF Then

%>

Tyvärr inget fanns i databasen

<%
ELSE
%>

Detta finns:<BR>
<BR>
<% Do Until RS.EOF %>
<%=rs("Kontorid")%>
<%=rs("Jobbid")%>
<%
RS.MoveNext
loop
end If
%>

men när jag har valt alternativ ur drop downer och skickar det till denna sidan så får jag

"Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record."

då la jag till if satsen och nu får jag att "Tyvärr inget fanns i databasen"

men det finns i databasen .-)

Varför fungerar det inte?

Tack på förhand!

Medlem sedan dec. 19998 577 inlägg
#2

Om dina fält är integrar så skall det se ut såhär:

if jobbID = "" then
SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = " & kontorID
else
SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = " & kontorID & " AND jobbID = " & jobbID
end if
Medlem sedan juni 200032 967 inlägg
#3

och om det är text-fält, så kan det vara bra att man avslutar med ' när man påbörjat, och påbörjar där man avslutat...

SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = '" & kontorID & "[b]'[/b] AND jobbID = [b]'[/b]" & jobbID & "'"
Medlem sedan dec. 19998 577 inlägg
#4

Sedan kan man ju också undra varför du har öppnat databasen med ett Recordset när du bara skall hämta data???

Medlem sedan apr. 2001357 inlägg
#5

Vilka rader skall jag ta bort i koden.

Medlem sedan dec. 19998 577 inlägg
#6

Som sagt, det beror på hur fälten ser ut i databasen...

Medlem sedan apr. 2001357 inlägg
#7

jag har följande fält:

ID
Fornamn
Efternamn
Adress
Postnr
Postadress
Telefon
Mobil
Epost
Kommentar
JobbID
Ip
KontorID
Datum

Medlem sedan dec. 19998 577 inlägg
#8

...och vad har kontorID och jobbID för datatyp?

Medlem sedan apr. 2001357 inlägg
#9

Text på båda

Medlem sedan dec. 19998 577 inlägg
#10

Kolla då detta inlägg i denna tråden: http://cgi.webforum.nu/wf/Forum11/HTML/004503.html#2

Medlem sedan apr. 2001357 inlägg
#11

Sedan kan man ju också undra varför du har öppnat databasen med ett Recordset när du bara skall hämta data???

Det var på ditt inlägg jag undra på vad man skall ändra i koden för att öppna på "rätt sätt" med eller utan Recordset

mvh

Medlem sedan dec. 19998 577 inlägg
#12

Ah... :)

Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "DSN=upload1"

if jobbID = "" then
SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = '" & kontorID & "'"
else
SQL = "SELECT kontorid, jobbid FROM ansokan WHERE kontorID = '" & kontorID & " AND jobbID = " & jobbID & "'"
end if 

Set rs = MinCon.Execute(SQL)
Medlem sedan apr. 2001357 inlägg
#13

Tackar & bockar Vide rockar ;)

276 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)