/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ElseIf problemer!
Fra : treg


Dato : 25-10-01 21:22

Hej alle!

Hvordan finder jeg ud af om en given record findes i en tabel f.eks, hvis
jeg har en tabel med indhold (sider) til min hjemmeside (hver side har en
uniq ID) og jeg så vil Request.Querystring("sideid") f.eks. hvis der er en
der kommer til at skrive www.minside.dk/default.asp?sideid=20000 . så kommer
der jo en fej fordi siden ikke findesl.. hvordan afhjælper jeg dette ????

Hvordan får jeg min Elseif sætning til at virke her??? (der mangler lidt)


Her er koden:
..........
strSQLRS = "SELECT * FROM SIDER"
Set rs = Server.CreateObject("ADODB.RecordSet")

rs.Open strSQLRS, DSN
EBOF = (rs.EOF And rs.BOF)
' SQL forespørgsel

If Request.QueryString("sideid") = "" Then
strSQL = "Select * from sider where ID = 1"
Set rs = Conn.Execute(strSQL)
Response.Write rs("side")

Elseif (rs.EOF And rs.BOF) Then
response.write "Siden findes ikke"

Else
strSQL = "Select * From sider Where Id = " & Request.Querystring("sideid")
Set rs = Conn.Execute(strSQL)
Response.Write rs("side")
Response.write EBOF
End If
......

/GKN




 
 
Rune Baess (26-10-2001)
Kommentar
Fra : Rune Baess


Dato : 26-10-01 01:15


"treg" <gkn23@hotmail.com> wrote in message news:9r9s6m$22$1@sunsite.dk...
> Hej alle!
>
> Hvordan finder jeg ud af om en given record findes i en tabel f.eks, hvis
> jeg har en tabel med indhold (sider) til min hjemmeside (hver side har en
> uniq ID) og jeg så vil Request.Querystring("sideid") f.eks. hvis der er en
> der kommer til at skrive www.minside.dk/default.asp?sideid=20000 . så
kommer
> der jo en fej fordi siden ikke findesl.. hvordan afhjælper jeg dette ????
>
> Hvordan får jeg min Elseif sætning til at virke her??? (der mangler lidt)
>

Som udgangspunkt vil jeg foreslå dig at lave noget menusovs som fungerer
godt uden videre, og ikke tvinger brugerne til selv at indtaste
Querystrings...

Men ellers prøv med noget á la:

<%
inputID = Request.QueryString("sideid")

'find det høeste id i tabellen
checkSQL="SELECT MAX(Id) AS hojestID FROM sider"
Set Conn ... ' Forbindelse
Set Checkrs = Conn.Execute(checkSQL)
strhojest = Checkrs("hojestID")

if inputID > strhojest then 'hvis id er større end i tabellen
...
elseif inputID = "" then 'hvis der ikke er noget input
...
end if
%>


hvis du skal lave mange checks og trække flere poster ud, kan det gøres
smartere vha. "Getrows" og "ubound()" Læs fx. her:
http://activeserverpages.dk/locator.asp?guid=001000000176

Rune



Martin Kruse (27-10-2001)
Kommentar
Fra : Martin Kruse


Dato : 27-10-01 21:06

"treg" <gkn23@hotmail.com> skrev i en meddelelse
news:9r9s6m$22$1@sunsite.dk...
> Hej alle!
>
> Hvordan finder jeg ud af om en given record findes i en tabel f.eks, hvis
> jeg har en tabel med indhold (sider) til min hjemmeside (hver side har en
> uniq ID) og jeg så vil Request.Querystring("sideid") f.eks. hvis der er en
> der kommer til at skrive www.minside.dk/default.asp?sideid=20000 . så
kommer
> der jo en fej fordi siden ikke findesl.. hvordan afhjælper jeg dette ????
>
> Hvordan får jeg min Elseif sætning til at virke her??? (der mangler lidt)
>
>
> Her er koden:
> .........
> strSQLRS = "SELECT * FROM SIDER"
> Set rs = Server.CreateObject("ADODB.RecordSet")
>
> rs.Open strSQLRS, DSN
> EBOF = (rs.EOF And rs.BOF)
> ' SQL forespørgsel
>
> If Request.QueryString("sideid") = "" Then
> strSQL = "Select * from sider where ID = 1"
> Set rs = Conn.Execute(strSQL)
> Response.Write rs("side")
>
> Elseif (rs.EOF And rs.BOF) Then
> response.write "Siden findes ikke"
>
> Else
> strSQL = "Select * From sider Where Id = " & Request.Querystring("sideid")
> Set rs = Conn.Execute(strSQL)
> Response.Write rs("side")
> Response.write EBOF
> End If
> .....
>
> /GKN

Det jeg vil anbefale er at bruge Count-funktionen i SQL:

Din kode ska så cirka se sådan her ud:

***********
.........
Else
strSQL = "Select COUNT(*) AS antal From sider Where Id = " &
Request.Querystring("sideid")
Set rs = Conn.Execute(strSQL)
If rs("antal") = 0 Then
Response.Write "Der er ingen records med dette idnr."
Else
strSQL = "Select * From sider Where Id = " &
Request.Querystring("sideid")
Set rs = Conn.Execute(strSQL)
Response.Write rs("side")
Response.write EBOF
End if
End If
***********

--

MK
http://www.msdesign.dk
Professionelt webdesign til fornuftige priser



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste