/ 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
Vedr. sammenligning
Fra : Kenneth


Dato : 11-02-03 16:32

Hejsa!

Jeg kunne ikke få dette simple stykke til at virke!
Session("medlemID") og rs("medlemID") indeholder samme værdi og skal derfor
udskrive linket, men det gjorde den ikke!

<% If(Session("medlemID")=rs("medlemID")) then
%>
<a href="slet.asp?id=<%=rs.Fields("id")%>">Slet</a>
<%
end if
%>

Men så prøvede jeg dette, og fik det til at virke:

<% If(Session("medlemID")&"")=(rs("medlemID")&"") then
%>
<a href="slet.asp?id=<%=rs.Fields("id")%>">Slet</a>
<%
end if
%>

Blev klar over at jeg sammenlignede med et tal og en streng. Men er
ovenstående den mest korrekte måde at gøre det på?

Kenneth



 
 
Jakob Andersen (11-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 11-02-03 16:45

"Kenneth" wrote
> Men så prøvede jeg dette, og fik det til at virke:
> If(Session("medlemID")&"")=(rs("medlemID")&"") then
> [snip]
> Blev klar over at jeg sammenlignede med et tal og en streng. Men er
> ovenstående den mest korrekte måde at gøre det på?

Hvis du er sikker på at begge værdier skal være af en type skal du bruge
VBScripts konverteringsfunktioner, f.eks. hvis det er integers:

If CInt(Session( "medlemID" )) = CInt(rs( "medlemID" )) Then
....

--
Jakob Andersen




Jens Gyldenkærne Cla~ (11-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-02-03 16:54

Jakob Andersen skrev:

> Hvis du er sikker på at begge værdier skal være af en type
> skal du bruge VBScripts konverteringsfunktioner, f.eks. hvis
> det er integers:
>
> If CInt(Session( "medlemID" )) = CInt(rs( "medlemID" )) Then

Typen af et felt i et postsæt er givet på forhånd (af
databasedefinitionen), så det bør ikke være nødvendigt at
konvertere på højresiden.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jakob Andersen (11-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 11-02-03 16:57

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote
> Jakob Andersen skrev:
> > If CInt(Session( "medlemID" )) = CInt(rs( "medlemID" )) Then
>
> Typen af et felt i et postsæt er givet på forhånd (af
> databasedefinitionen), så det bør ikke være nødvendigt at
> konvertere på højresiden.

Det kan du selvfølgelig have ret i[1]... Det skal aldrig ske igen

[1]: Hvis ellers at medlemID ikke er en streng i databasen
--
Jakob Andersen



Jens Gyldenkærne Cla~ (11-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-02-03 16:45

Kenneth skrev:

> Men så prøvede jeg dette, og fik det til at virke:
>
> <% If(Session("medlemID")&"")=(rs("medlemID")&"") then

> Blev klar over at jeg sammenlignede med et tal og en streng.
> Men er ovenstående den mest korrekte måde at gøre det på?

Normalt vil man bruge et typecast til at få session-variablen
evalueret i den ønskede datatype.

Det vil sige:

   If( CInt(Session("medlemID")) = rs("medlemID") ) Then

Du kan formentlig også klare det ved at benytte CInt der hvor du
sætter din session-variabel.

Din kode ovenfor virker o.k. - men hvis Session-variablen ikke er
sat og rs("medlemID") samtidig er null vil testen være sand - det
er måske ikke så heldigt.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Kenneth (11-02-2003)
Kommentar
Fra : Kenneth


Dato : 11-02-03 17:20

Jeg siger mange tak for svarene!



Carsten Suurland (12-02-2003)
Kommentar
Fra : Carsten Suurland


Dato : 12-02-03 00:01

Hej Kenneth

Skal du gøre det syntaxmæssigt korrekt, så skal du gøre følgende:

If CInt(Session("medlemID")) = rs("medlemID").Value Then

Hvis du undlader .Value spørger du egentligt om en integerværdi er lig med
et objekt af typen ADODB.Field...
VBScript fortolker det sikkert korrekt for dig, men det er noget gris at
undlade at skrive det man faktisk mener.

/Carsten Suurland



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

Månedens bedste
Årets bedste
Sidste års bedste