Avatar billede vtl Nybegynder
20. juni 2003 - 22:44 Der er 11 kommentarer og
1 løsning

ingen indlæg eller vis indlæg

tjek dette http://www.javacoder.dk:56400/fileupload/index.asp

virker fint indtil man støder på en af de små fejl som jeg er stødt på !

lige nu viser den nogle indlæg på show.asp siden !
men prøv at slet alle indlæg !  og vis siden igen !
ja så kommer der en fejl og den skulle vise at der ikke findes nogle indlæg i databasen !

jeg ved at det er den funktion som jeg har bygget på som optæller den aktuelle fil str !

som går ind og siger 0 / 1024 og det kan man jo ikke !

det jeg gerne vil have hjælp til eller lavet er at der før denne udregning bliver fortager en forspørgsel på hvor mange indlæg der er i databasen !

hvis dette er > 0 så ved den hvad den skal gøre men hvis det er 0 så ved den det ikke og da skal den vise den omtalte tekst !

jeg har 2 sider som er inkluderet i en sidste !

side 1 optæller bare SUM FilStr så den har den total str !

den anden inklude er den der laver tallet om til det format der nu skal vises !  og jeg tror det er den I skal se !  kan I lave en funktion der sider if 0 then do nothing og hvis det ikke er 0 så skal scriptet køre som det nu engang gør nu !?

Count1.asp
<%
Function FileSize(nSize)
Dim aUnits, nUnit
aUnits = Array("B", "Kb", "Mb", "Gb", "Tb")
nUnit = 0
Do Until (nSize <= 1024) OR (nUnit = UBound(aUnits))
  nSize = nSize / 1024
  nUnit = nUnit + 1
Loop
FileSize = FormatNumber(nSize, 2) & " " & aUnits(nUnit)
End Function
%>

disse 2 sider er inkluderet på show.asp og tallet bliver vist med denne funktion    & intTotalSize &

show.asp
<!-- #INCLUDE FILE="count2.asp" -->
<!-- #INCLUDE FILE="count1.asp" -->
<%
  Response.Buffer = True
 
  ' Connection String
  Dim connStr
      connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
        Server.MapPath("FileDB.mdb")
%>
<html>
<head>
  <title>Inserts Images into Database</title>
  <LINK  href=style.css type=text/css rel=stylesheet>
</head>
<body>
  <p align="center">
      <b>Showing Binary Data from the Database</b><br>
      <a href="index.asp">To insert data click here</a>
  </p>
 
  <table width="700" border="0" align="center">
<%
  ' Recordset Object
  Dim rs
      Set rs = Server.CreateObject("ADODB.Recordset")
     
      ' opening connection
      rs.Open "select [ID],[FilName],[FilStr],[Type]," & _
        "[FirstName],[LastName],[Profession],[iname] from Files " & _
        "order by [ID] desc", connStr, 3, 4

      If Not rs.EOF Then
        Response.Write "<tr><td class=tdnewssub colspan=""9"" align=""center""><i><div class=infotext>"
        Response.Write "No. of records : " & rs.RecordCount
        Response.Write ", Table : Files and have a Total filesize "& intTotalSize &"</div></i><br>"
        Response.Write "</td></tr>"
        response.write "<form name=""deliting"" action=""delete2.asp"" method=""post"">"

        Do While Not rs.EOF
            Response.Write "<tr><td class=tdnewshead><div class=text>"
            Response.Write rs("ID") & "</div></td><td>"
            Response.Write "<a href=""file.asp?ID=" & rs("ID") & """>"
            Response.Write rs("iname") & "</a></td><td><div class=text>"
            Response.Write rs("FilName") & "</div></td><td><div class=text>"
            Response.Write rs("FilStr") & "</div></td><td><div class=text>"
            Response.Write rs("Type") & "</div></td><td><div class=text>"
            Response.Write rs("FirstName") & "</div></td><td><div class=text>"
            Response.Write rs("LastName") & "</div></td><td><div class=text>"
            Response.Write rs("Profession") & "</div></td><td>"
            Response.Write "<input type=""checkbox"" name=""ids"" value=" & rs("ID") & ">"
            response.Write "</td></tr>"
            rs.MoveNext
        Loop
        Response.Write "<tr><td class=tdnewssub colspan=""9"" height=3 align=""center"">"
        Response.Write "</td></tr><tr><td colspan=""9"" align=""right"">"
        Response.Write "<input type=""submit"" name=""btnDelete"" value=""Delete Selected Records""></form>"
        Response.Write "</td></tr>"
        Response.Write "</table>"

      Else
        Response.Write "No Record Found"
      End If
     
      rs.Close
      Set rs = Nothing
%>
  </table>
</body>
</html>

og som i kan se har jeg en  Else
        Response.Write "No Record Found"  som skal vises hvis der ikke er nogle indlæg !

men tror bare det er min count1.asp som skal vide at hvis summen er 0 så skal den intet fortage i omregningen !

håber I vil hjælpe !
Avatar billede psyclown Nybegynder
20. juni 2003 - 23:07 #1
prøv med:

If Not (rs.BOF or rs.EOF) Then
Avatar billede vtl Nybegynder
20. juni 2003 - 23:12 #2
alts¨å i min SHOW.ASP site !??
Avatar billede psyclown Nybegynder
20. juni 2003 - 23:14 #3
ja istedet for If Not rs.EOF Then
Avatar billede vtl Nybegynder
20. juni 2003 - 23:17 #4
MANGE GANGE UNDSKYLD kom til at se jeg havde en link fejl på siden så man kunne ikke slette rigtigt !!!!

Men nu virker det !!!!
hvis du får en fejl på show.asp er det fordi at databasen er tom !!!!
og fordi den prøver et sige 0 / 1024 og det kan man ikke !!!!
Avatar billede vtl Nybegynder
20. juni 2003 - 23:18 #5
nej virker ikke !!!
Avatar billede vtl Nybegynder
20. juni 2003 - 23:21 #6
men tror det er noget på denne side

Count1.asp
<%
Function FileSize(nSize)
Dim aUnits, nUnit
aUnits = Array("B", "Kb", "Mb", "Gb", "Tb")
nUnit = 0
Do Until (nSize <= 1024) OR (nUnit = UBound(aUnits))
  nSize = nSize / 1024
  nUnit = nUnit + 1
Loop
FileSize = FormatNumber(nSize, 2) & " " & aUnits(nUnit)
End Function
%>


og der vil jeg så kunne lave noget der kan lave en forspørgsel på om der er nogle indlæg i min database hvis der ikke er nogle altså så SUM = 0 så skal den ikke udføre det som det overover gør !!! men hvis der er nogle indlæg så er SUM ligepladselig et tal som skal igennem overstående så det omregnes til B, Kb, Mb, Gb eller Tb og det kan den bare ikke det med 0 !
Avatar billede psyclown Nybegynder
20. juni 2003 - 23:30 #7
du kan jo bare tælle antal indlæg via SQL f.eks.

SQL = "SELECT COUNT(ID) AS Antal From Files"
rstemp = connStr.Execute(SQL)

også koden for at checke om tallet er nul eller ikke:

If rstemp("Antal") <> "" Then
  Din funktion her
End If

Noget alla det her:

Function FileSize(nSize)
  Din connection skal så ind her

  SQL = "SELECT COUNT(ID) AS Antal From Files"
  rstemp = connStr.Execute(SQL) 
  If rstemp("Antal") <> "" Then
    Dim aUnits, nUnit
    aUnits = Array("B", "Kb", "Mb", "Gb", "Tb")
    nUnit = 0
    Do Until (nSize <= 1024) OR (nUnit = UBound(aUnits))
      nSize = nSize / 1024
      nUnit = nUnit + 1
    Loop
    FileSize = FormatNumber(nSize, 2) & " " & aUnits(nUnit)
  End If
End Function
Avatar billede vtl Nybegynder
20. juni 2003 - 23:44 #8
virker ikke !!!!  kommer med samme fejl !!!
Avatar billede eagleeye Praktikant
21. juni 2003 - 00:06 #9
Kan du ikke tilføje denne if som sikre at nSize bliver 0 hvis den er tom inde i functionen:

if nSize = "" then nSize = 0



Function FileSize(nSize)
Dim aUnits, nUnit
aUnits = Array("B", "Kb", "Mb", "Gb", "Tb")
if nSize = "" then nSize = 0
nUnit = 0
Do Until (nSize <= 1024) OR (nUnit = UBound(aUnits))
  nSize = nSize / 1024
  nUnit = nUnit + 1
Loop
FileSize = FormatNumber(nSize, 2) & " " & aUnits(nUnit)
End Function
Avatar billede eagleeye Praktikant
21. juni 2003 - 00:09 #10
Det kan enda være den skal se sådan her ud, hvis nSize kommer fra et recordset da den så kan være Null og ikke ""

if (""&nSize) = "" then nSize = 0
Avatar billede vtl Nybegynder
21. juni 2003 - 00:14 #11
jammen det var jo 2 i træk EAGLEEYE

jeg siger tak brugte dit sidste eks !!!!

mange tak det virker nu !!!!
Avatar billede eagleeye Praktikant
21. juni 2003 - 00:15 #12
;)  Ok ja for Null er ikke lig "" og et recordset hvis kolonnen er tom giver Null ud.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester