strSQL = "SELECT AVG(rate) AS avgRate FROM rating WHERE produkt='" & pid & "'" set rs = Conn.Execute(strSQL) if not rs.eof then rating = rs("avgRate") end if rs.close
ahh du siger det med formatnumber, det er vel så den laver det den modtager om til et tal. Men hvordan skal jeg så skrive denne linie --> rating = rs("avgRate")
<% strSQL = "select * from rating WHERE produkt='" & Pid & "'" set rs = Conn.execute(strSQL) if NOT rs.EOF then count=0 'er flyttet rating=0 ' er flyttet do until rs.EOF
Nej, rating er et tal når det kommer fra databasen, så formatNumber sørger blot for at tallet bliver omformet til noget præsentabelt (med komma osv.).
Du kan f.eks. skrive koden således:
strSQL = "SELECT AVG(rate) AS avgRate FROM rating WHERE produkt='" & pid & "'" set rs = Conn.Execute(strSQL) if not rs.eof then rating = formatNumber(rs("avgRate"),0,0) else rating = "0,00" end if rs.close Response.write rating
strSQL = "SELECT AVG(rate) AS avgRate FROM rating WHERE produkt='" & pid & "'" set rs = Conn.Execute(strSQL) if not rs.eof then rating = formatNumber(cdbl(rs("avgRate")),0,0) else rating = "0,00" end if rs.close Response.write rating
<% strSQL = "select * from rating WHERE produkt='" & Pid & "'" set rs = Conn.execute(strSQL) do while NOT rs.EOF then count=0 'er flyttet rating=0 ' er flyttet do until rs.EOF
<% strSQL = "select * from rating WHERE produkt='" & Pid & "'" set rs = Conn.execute(strSQL) do while NOT rs.EOF then count=0 'er flyttet rating=0 ' er flyttet do until rs.EOF
Fejl : Der opstod en Microsoft VBScript-kørselsfejl (0x800A005E) Null er brugt ugyldigt: 'cdbl'
Den her bruger jeg: <% strSQL = "SELECT AVG(rate) AS avgRate FROM rating WHERE produkt='" & pid & "'" set rs = Conn.Execute(strSQL) if not rs.eof then rating = formatNumber(cdbl(rs("avgRate")),0,0) else rating = "0,00" end if rs.close Response.write rating %>
Den her henter indholdet
<%="" & rating & ""%>
Det her er lidt længere nede, kan det forstyrre ?
<% end if rs.Close set rs=nothing
rsP.MoveNext Loop end if rsP.Close set rsP=nothing
Hmmm... det sidste burde ikke forstyrre, men det kommer an på hvordan koden ser ud omkring udtrækket af gennemsnittet, for løkker skal jo lukkes korrekt af osv.
Det eneste jeg kan garantere er at den kode jeg har vist skal erstatte al den kode du startede med at vise. I øvrigt kan vi lige prøve at håndtere den der null-fejl du får. Det kan du måske klare på denne måde:
<% strSQL = "SELECT AVG(rate) AS avgRate FROM rating WHERE produkt='" & pid & "'" set rs = Conn.Execute(strSQL) if not rs.eof then if not isnull(rs("avgRate")) then rating = formatNumber(cdbl(rs("avgRate")),0,0) else rating = "0" end if else rating = "0" end if rs.close Response.write rating %>
Godt du kom igennem! Jeg kunne ikke rigtig se hvad der skulle være galt, for AVG burde returnere et tal, men NULL-værdien må have kommet fordi der ikke var nogen rækker der matchede din WHERE-clause...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.