Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Peso tabelle

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    Peso tabelle

    Ciao a tutti
    ho trovato uno script molto interessante
    che mi fa vedere i nomi ed il peso del mio db sql server


    lo script è in asp


    codice:
    
    SQLConn = "' stringa di conn
    
    
     set conn = server.createobject("ADODB.Connection")
     conn.open sqlconn
    
    
    ' informazioni sul database
     set rs = conn.OpenSchema(adSchemaTables)
     
    
    
     Do while not rs.eof
       if rs("table_type") = "TABLE" then
    
    
         response.write "<tr><td>" & rs("table_name") & "</td>"
       
     ' calcolo spazio occupato
     set rsC = conn.Execute("EXEC sp_spaceused " & rs("table_name"))
    
    
         
         response.write "<td>" & rsC("data") & "</td>"
         response.write "<td>" & rsC("rows") & "</td></tr>"
     
     
     rsC.Close
     set rsC = Nothing
    
    
        end if
        rs.movenext
     loop
     
    
    
    
    
     rs.close
     set rs = Nothing
     conn.close
     set conn = Nothing



    La mia domanda è:
    come faccio a sommare il peso delle tabelle?
    Perchè cosi me le fa vedere col peso singolo....e se volessi sommarle?


    Grazie
    victor
    ----------------------

  2. #2
    una normale addizione all'interno del ciclo -- ma è una domanda trabocchetto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    forse mi sono spiegato male
    con lo script sopra riportato


    response.write "<td>" & rsC("data") & "</td>"

    io riesco a vedere il peso (una ad una) delle tabelle del mio db

    pero' vorrei una somma finale del peso di tutte le tabelle.

    ci ho provato in diversi modi .....ma nulla
    grazie
    victor
    ----------------------

  4. #4
    la risposta te l'ho data

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da victor8872 Visualizza il messaggio
    forse mi sono spiegato male

    ci ho provato in diversi modi .....ma nulla
    ti sei spiegato bene

    in che modi? un addizione ciclata in questo contesto è abbastanza semplice...
    intanto fai vedere il valore di rsC("data") che magari ci capiamo meglio

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    per quanto riguarda il valore totale delle righe ce l ho fatta
    ho fatto cosi

    pippo=0


    Do while not rs.eof
    if rs("table_type") = "TABLE" then


    response.write "<tr><td>" & rs("table_name") & "</td>"

    ' calcolo spazio occupato
    set rsC = conn.Execute("EXEC sp_spaceused " & rs("table_name"))



    response.write "<td>" & rsC("data") & "</td>"
    response.write "<td>" & rsC("rows") & "</td></tr>"


    pippo=pippo+rsC("rows")

    rsC.Close
    set rsC = Nothing


    end if
    rs.movenext
    loop
    response.Write(pippo)
    victor
    ----------------------

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    ma se la stessa cosa la faccio con data
    mi da questo errore

    Type mismatch: '[string: "32 KB"]'

    probabilmente perche' ce il kb e lo vede come stringa
    victor
    ----------------------

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    prima di fare l'addizione ripulisci il valore dai dati non numerici;
    puoi farlo con un semplice replace

    edit: sarebbe da verificare se il peso te lo fornisce solo in KB, per sicurezza farei il replace anche di altre unità di misura
    Ultima modifica di Vincent.Zeno; 06-05-2019 a 13:47

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    si ce l'ho fatta in questo modo
    con replace ho tolto la scritta kb

    pippo=0

    Do while not rs.eof
    if rs("table_type") = "TABLE" then


    response.write "<tr><td>" & rs("table_name") & "</td>"

    ' calcolo spazio occupato
    set rsC = conn.Execute("EXEC sp_spaceused " & rs("table_name"))



    response.write "<td>" & rsC("data") & "</td>"
    response.write "<td>" & rsC("rows") & "</td></tr>"

    newvar=replace(rsC("data"),"KB","")
    pippo=pippo+newvar
    victor
    ----------------------

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    grazie a tutti
    victor
    ----------------------

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.