Vadå visar rätt antal om du lägger den i body?
Meddelandet säger ju att det inte finns något fält i recordsetet count som heter Antal.
10 svar · 436 visningar · startad av WebbisNet
När jag använder
Du har <%=count("Antal")%> bilder uppladdade av max <%If bildRS("vip") = 1 then%>100 <%else%>50<%End If%>
så får jag ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/gallery/Default.asp, line 119
Men om jag bara lägger <%=count("Antal")%> i bodyn så visar den rätt antal, jag vet att det är denna som strular eftersom jag får
Du har bilder uppladdade av max 100
när jag kommenterar bort den
Vadå visar rätt antal om du lägger den i body?
Meddelandet säger ju att det inte finns något fält i recordsetet count som heter Antal.
när jag lägger den så här <body <%=count("Antal")%>> så står det 12 längst uppe till vänster i webläsaren (i title-fältet) och jag har 12 bilder inlagda. Men när jag lägger den där den ska vara på sidan å får jag felmeddelandet med samma kod som funkade bra i body
Så här ser min count ut
count=objConn.Execute("select agare, Count(bildID) as Antal from tblUsers_Galleri where agare="& varUID &" group by agare")
Hmmm...
<%
intVIP = cint( bildRS( "vip" ) )
intCount = cint( count( "Antal" ) )
if( 1 = intVIP ) then
intVIP = 100
else
intVIP = 50
end if
strText = "Du har " & intCount & " bilder uppladdade av max " & intVIP
%>
<body>
<%=strText%>
</body>
Tycker det borde visa vad som är galet om det dyker upp ett felmeddelande.
Din kod funkade Engine,men varför gick inte min count????
Försöker med lite felhantering för de som inte har bilder uppladdade, när jag skriver
intVIP = cint( bildRS( "vip" ) )
intCount = cint( count( "Antal" ) )
if( 1 = intVIP ) then
intVIP = 100
else
intVIP = 50
end if
[B]if intCount = 0 then
strText = "Du har " & intCount & " bilder uppladdade av max " & intVIP
else
Response.Write " "
end if[/B]
så får jag
error '80020009'
/Gallery/Default.asp, line 33
line 33 är intVIP = cint( bildRS( "vip" ) )
Jag gissar att det beror på att bildRS( "vip" ) är NULL i det fallet, så det går ju att lägga till en felkontroll för sådant.
if( not isnull( bildRS( "vip" ) ) ) then
intVIP = cint( bildRS( "vip" ) )
else
intVIP = 0
end if
Eller om du kör med MSSQL, så kan du använda dig av COALESCE när du väljer ut kolumnen...
select coalesce( [i]kolumn[/i], [i]värde_eller_kolumn_om_första_är_null[/i] ) ...
red.
Bytte isnumeric mot not isnull
Använder MySQL
Detta funkade inte iaf
if( isnumeric( bildRS( "vip" ) ) ) then
intVIP = cint( bildRS( "vip" ) )
else
intVIP = 0
end if
if( isnumeric(intCount = cint( count( "Antal" ) ) ) ) then
strText = "Du har " & intCount & " bilder uppladdade av max " & intVIP
else
intCount = 0
end if
if( 1 = intVIP ) then
intVIP = 100
else
intVIP = 50
end if
Hur ska jag skriva?
if( isnumeric( bildRS( "vip" ) ) ) then
intVIP = cint( bildRS( "vip" ) )
else
intVIP = 0
end if
if( isnumeric( count( "Antal" ) ) ) then
intCount = cint( count( "Antal" ) )
else
intCount = 0
end if
if( 1 = intVIP ) then
intVIP = 100
else
intVIP = 50
end if
strText = "Du har " & intCount & " bilder uppladdade av max " & intVIP
Engine^ skrev:
if( isnumeric( bildRS( "vip" ) ) ) then intVIP = cint( bildRS( "vip" ) ) else intVIP = 0 end if if( isnumeric( count( "Antal" ) ) ) then intCount = cint( count( "Antal" ) ) else intCount = 0 end if if( 1 = intVIP ) then intVIP = 100 else intVIP = 50 end if strText = "Du har " & intCount & " bilder uppladdade av max " & intVIP
TACK Engine, du är guld värd :-)
Varsågod :)