SQL Alle Spalten die NULL Werte enthalten anzeigen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von caesar94.

    SQL Alle Spalten die NULL Werte enthalten anzeigen

    Hallo Boardies,



    ich schreibe im Moment ein Tool, welches alle Tabellen die NULL
    Werte erlauben und alle Spalten welche tatsächlich NULL Werte enthalten
    in einer Grid anzeigen soll.



    Bis jetzt funktioniert die Anzeige der NULL_ABLE Tabellen. Habe das
    mit Hilfe von SQL realisiert. Diese Daten habe ich in ein Datatable
    geladen. Nun möchte ich jede Row des Datatables durchgehen und schauen
    ob sie auch tatsächlich NULL Werte enthält. Habe an eine For Each
    Schleife gedacht, google und probiere nun auch schon eine Weile herum,
    aber ich schaffe es leider nicht.



    Wie gesagt im Endeffekt sollen alle NULL_ABLE Tabellen und alle
    Spalten die tatsächlich NULL Werte enthalten im Datatable stehen.

    Quellcode

    1. SQL.Appendline("SELECT DISTINCT TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLLATION_NAME")
    2. SQL.AppendLine("FROM INFORMATION_SCHEMA.COLUMNS")
    3. SQL.AppendLine("WHERE IS_NULLABLE = 'YES'")
    4. SQL.AppendLine("AND TABLE_SCHEMA = 'dbo'")



    Kann mir jemand von euch weiterhelfen?



    Vielen vielen Dank!

    caesar94 schrieb:

    im Endeffekt sollen alle NULL_ABLE Tabellen und alle
    Spalten die tatsächlich NULL Werte enthalten im Datatable stehen.

    wie willst du verschiedene Tabellen in dieselbe DataTable stellen?

    die eine Tabelle hat vlt. 2 Spalten, eine annere mag 10 Spalten haben - wie soll das in einer DataTable dargestellt werden?

    Zumal die beiden Tabellen ja auch unterschiedliche SpaltenNamen haben.
    @Dodo:

    Danke so funktionierts. Allerdings funktioniert deine Methode nur immer mit einer Tabelle und einer Spalte. Ich habe aber hunderte Tabellen und Tausende Spalten in meinem Datatable.
    Ich möchte jetzt, dass das Tool durch das Datatable geht und für jede Spalte in jeder Tabelle ein solches Statement schreibt. Könnt ihr mir einen kleinen Tip geben, wie genau ich das realisiere? Auf jeden Fall mit einer For Each Schleife, weiß aber trotzdem nicht genau wie ich das machen soll.

    Vielen Dank!