Visul basic

di il
3 risposte

Visul basic

Ciao, scusate l'ignoranza ma come is fa a ricercare e farsi stamare i nomi dei cmapi che ci sono in tutto il database... devo cercarrne alcuni specifici... evedere se sono vuoti o meno


grazie

Eleonora

3 Risposte

  • Re: Visul basic

    Allora precisamente dvo selezionare utti i cmapi deldel database che hanno valore diverso da 0. cioè se il database è costuituito da 10 tabelle devo scorrerle tutte. se la tabella è così non restituisce nulla perchè i campi sono vuoti:

    Nome|Cognome|
    -------------
    | |
    -------------

    Eleonora
  • Re: Visul basic

    Devi lavorare con le select.

    esempio:

    SELECT * FROM clienti WHERE citta =''

    certo tu fai una particolare richiesta quindi dovresti ripetere la select per tutte le tabelle e per tutti i campi

    http://sosan1.interfree.it
  • Re: Visul basic

    Ci sarebbero vari modi per risolvere la questione, l'ideale sarebbe usare stored procedure se tu sai scrivere codice T-SQL o PLSQL, comunque in linea di massima dovresti crearti innanzitutto una lista di tutti i campi del tuo DB che non siano di sistema, poi potresti eseguire delle select su ciascuno di essi:

    ipotizzo che tu stia usando sqlserver 2005 e che tu abbia raggruppato le tue tabelle sotto lo schema_table = 'Prodotti'

    allora un modo per avere la lista di tutti i campi di tutte le tabelle raggruppate sotto lo schema_table = 'Prodotti' è:

    SELECT Table_name, Column_name
    FROM INFORMATION_SCHEMA.Columns
    WHERE TABLE_SCHEMA = 'Prodotti'

    quindi fai un ciclo (se il risultato precedente lo memorizzi in una tab temporanea è meglio) sui risultati ottenuti dove eseguirai la query:

    DECLARE @NumElem INT
    SELECT @NumElem = COUNT(Prodotti.Table_name.Column_name)
    FROM Prodotti.Table_name

    IF @NumElem > 0 -- vuol dire che il campo è vuoto e
    BEGIN
    --lo memorizzo
    END
    ELSE
    BEGIN
    -- lo scarto e ti puoi anche risparmiare questo ELSE
    END

    in linea di massima questo è un procedimento abbastanza generico,
    il tutto ovviamente può essere ottimizzato lanciando una stored procedure che ti ritorna automaticamente una tabella contenente il nome del campo vuoto e della tabella a cui appartiene.



    Ciao e buon lavoro

    Leonardo Miglietta
Devi accedere o registrarti per scrivere nel forum
3 risposte