Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

Discussione: Campi vuoti database

  1. #1

    Campi vuoti database

    Salve a tutti,

    la mia è una domanda piuttosto semplice e mi scuso in anticipo per la banalità ma:

    - supponendo di avere un database ed una piattaforma di gestione poniamo di eliminare tramite questa alcuni records

    Il risultato che ne viene fuori e che rimagono dei campi vuoti nel db, cioè quei campi realtivi ai records eliminati.

    E' possibile risolvere questo problema compattando il database? Intendo dire che non devono esistere campi vuoti. Se è possibile, si puo' fare in maniera automatizzata tramite del codice nella pagina oppure è necessario farlo manualmente?

    Vi ringrazio in anticipo per l'attenzione.

  2. #2

  3. #3
    Vediamo un po'! ... tu vorresti sapere se è possibile compattare il database dalla piattaforma (pagina) di gestione tramite un pulsante.
    Oppure vorresti sapere se è possibile compattare il database subito dopo aver eliminato i records e in automatico?
    Se è così la risposta è sì in entrambi i casi.

  4. #4
    Bene, ti ringrazio per la risposta, sapresti dirmi come si fà?

    Come si compatta un db via codice?

  5. #5
    Io per esempio uso questo script preso da quì :
    codice:
     <%
    'compatta il database dbname
    Function CompactDB(dbname, password)
      Dim dbpath
      dbpath = Server.MapPath(dbname)
    
      Dim cnfrom, cnto
      cnfrom = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath
      cnto = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath&".temp"
    
      'se il db è protetto da password...
      If password<>"" Then
        cnfrom = cnfrom&";Jet OLEDB:Database Password="&password
        cnto = cnto&";Jet OLEDB:Database Password="&password
      End If
    
      Dim engine
      Set engine = Server.CreateObject("JRO.JetEngine")
      'compatta il database
      engine.CompactDatabase cnfrom, cnto
    
      Dim fso
      Set fso = Server.CreateObject("Scripting.FileSystemObject")
      'il db originale viene eliminato
       fso.DeleteFile dbpath
      'il db appena compresso viene rinominato col nome del db originale
      fso.MoveFile dbpath&".temp", dbpath
    
      Set fso = nothing
      Set engine = nothing
    End Function
    
    'chiamo la funzione per la compressione del database
    Call CompactDB("nome_del_tuo_database.mdb", "")
    
    
    Response.redirect "tuapagina.asp"
    %>

  6. #6
    Grazie, ora me lo guardo per bene.

  7. #7

  8. #8
    Sai che mi è utilissimo questo script? Grazie davvero michele, compattando il db ad ogni operazione di eliminazione si elimina un sacco di codice relativo alla visualizzazione dei record.
    Basta compattare il db, e niente più query che fanno sort per vedere se il campo è vuoto o pieno.

    Grazie davvero, Ciao

  9. #9
    Posso aggiungerti una domandina?

    Ho fatto da poco un sistema di news che vengono inserite sempre dalla piattaforma di gestione all'interno di una tabella del db. Inoltre, ho messo anche la paginazione delle stesse per l'eventuale cancellazione/modifica.
    Dici che potrei mettere la procedura di compattamento del db in automatico, cioè non legata alla pressione di un tasto ma che si esegue direttamente se viene effettuata la cancellazione di un record?

    Ciao

  10. #10
    Originariamente inviato da FxAndrea
    Sai che mi è utilissimo questo script? Grazie davvero michele, compattando il db ad ogni operazione di eliminazione si elimina un sacco di codice relativo alla visualizzazione dei record.
    Basta compattare il db, e niente più query che fanno sort per vedere se il campo è vuoto o pieno.

    Grazie davvero, Ciao
    non capisco la correlazione tra la compattazione e il fatto che un *campo* sia vuoto.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.