webForumDet fria alternativet

EOF & BOF fel

ASP

12 svar · 240 visningar · startad av Method

Medlem sedan apr. 2001357 inlägg
Frågan#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!

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

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

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

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 & "'"

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

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???

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan apr. 2001357 inlägg
#5

Vilka rader skall jag ta bort i koden.

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

Medlem sedan dec. 19998 577 inlägg
#6

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

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

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

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

Medlem sedan dec. 19998 577 inlägg
#8

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

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

[Redigerat av Vide den 31 maj 2001]

Medlem sedan apr. 2001357 inlägg
#9

Text på båda

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

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

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

[Redigerat av Vide den 31 maj 2001]

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

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

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)

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan apr. 2001357 inlägg
#13

Tackar & bockar Vide rockar ;)

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

[Redigerat av Method den 31 maj 2001]

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)