leere Spalten in DatanBank anzeigen mittels Filter

Beantwortet leere Spalten in DatanBank anzeigen mittels Filter

  • Donnerstag, 7. März 2013 15:34
     
     

    Hallo zusammen,

    ich habe eine DatenBank und eine DataView.

    Dort verwende ich den Filter. RowFilter = ....

    Nun möchte ich in einer DatenBank eine Spalte auswählen, in der keine Werte stehen

    Die Spalte ist Type Sring

    DefaulValue <DBNull>

    Wie kann ich nun mit Hilfe des Filters alle Rows anzeigen lassen, die in der Spalte "SpaltenName" nicht stehen haben.

    RowFilter = "FeldName = " & ??? (DbNull)

    Ich möchte alle Zeilen haben in der noch nichts steht.
    Die wo was drin steht hole ich ja über die entsprechenden Filter.

    viele dank

    NetFrameWork 3,5

Alle Antworten

  • Donnerstag, 7. März 2013 16:25
     
      Enthält Code

    Hallo,

    ohne jetzt den RowFilter genauer zu kennen (und damit Gefahr zu laufen eine unqualifizierte Antwort zu geben) würde das normale SQL-Statement lauten:

    SELECT * FROM T WHERE SpaltenName IS NULL
    --bzw
    SELECT * FROM T WHERE SpaltenName IS NOT NULL

    Im Rowfilter müsste das analog gehen?

    EDIT: erster Treffer auf Google sagt:

    Verwenden Sie den folgenden Ausdruck, wenn nur die Spalten mit NULL-Werten zurückgegeben werden sollen: 
    "Isnull(Col1,'Null Column') = 'Null Column'" 

    • Bearbeitet Flux1989 Donnerstag, 7. März 2013 16:28
    •  
  • Donnerstag, 7. März 2013 19:21
    Beantworter
     
     Beantwortet Enthält Code

    Hallo Bernd,

    verwende

    view.RowFilter = "[Spaltename] IS NULL";

    denn auch wenn nicht dokumentiert, versteht der DataView RowFilter Standard-SQL.

    Bei der RowFilter-Eigenschaft steht als Alternative
    "Isnull(Col1,'Null Column') = 'Null Column'" 
    Das ist für Nullwerte alleine nicht notwendig, ausgenommen Du wolltest Null Werte und leere Zeichenfolgen finden, dann ginge:

    view.RowFilter = "IsNull([Spaltename], '') = ''";

    Gruß Elmar

  • Freitag, 8. März 2013 05:24
     
     

    Hallo Elmar,

    vielen dank. wie gewohnt eine super schnelle Antwort.
    Ich liebe es.

    Hallo Flux,

    ja ich habe Google bemüht. Mehrere Stunden. Jedoch war ich auf "DB.NULL.Value" fixiert. Und darunter habe ich leider nichts gefunden.

    liebe grüße und vielen dank aus Kerpen

  • Freitag, 8. März 2013 13:22
     
      Enthält Code

    Für diejenigen die es auch suchen. 

    Bringt alle Zeilen mit DB.Null

    String.Format("[{0}] IS NULL", ColumnName)

    Bringt alle Zeilen mit DB.Null und leere

    "IsNull([" & ColumnName & "], '') = ''"

    Bringt alle Zeilen die nicht DB.Null sind

    String.Format("[{0}] IS Not NULL", ColumnName)

    Bringt alle Zeilen die nicht DB.Null oder Empty sind.

    "Not IsNull([" & ColumnName & "], '') = ''"