Announcement

Collapse
No announcement yet.

NULL-Werte in Datatable ersetzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • NULL-Werte in Datatable ersetzen

    hi,

    wie im Titel schon steht, muss ich alle NULL-Werte in meinem Datatable mit 0 ersetzen. Ich will aber nicht alle Werte einzeln über schleifen Prüfen, das würde wahrscheinlich zu lange dauert...

    gibt es eine Funktion die das erledigt?

  • #2
    Warum nicht gleich im SQL Kommando?

    Für Oracle z.B.:

    [highlight=sql]
    SELECT NVL(spalte1, 0)
    FROM ...
    [/highlight]

    Hast Du ein DataSet? Dann könntest Du auch bei der jeweiligen Spalte die Property 'NullValue' auf Empty setzen.
    Zuletzt editiert von fanderlf; 08.03.2010, 11:39.

    Comment


    • #3
      gute idee
      funktioniert das auch in SQL? Am besten dann so:
      Code:
      SELECT NVL(*, 0) FROM ...
      *EDIT

      ja sowas gibt es

      NVL = Oracle
      ISNULL = SQL
      IFNULL = MySQL

      und mit * scheint es nicht zu funktionieren
      Zuletzt editiert von emerel; 08.03.2010, 12:00.

      Comment


      • #4
        Also funktioniert nicht wirklich

        Code:
        SqlConnection myConn = new SqlConnection("Server=RECHNER35\\SQL2008_SL;Initial Catalog=MyDatabase;Integrated Security=SSPI");
        string str = "Select ARTVARI_ID, Typ, ISNULL(Artikelnummer, 0), IdMerkmal, IdAuspraegung, TS FROM TSArtvari";
        SqlDataAdapter da = new SqlDataAdapter(str, myConn);
        DataTable data = new DataTable();
        da.AcceptChangesDuringFill = false;
        da.Fill(data);
        myConn.Close();
        //weiter unten füll ich dann die Zieltabelle wieder
        bekomm aber folgene Fehlermeldung
        DataColumn 'Artikelnummer' für SourceColumn 'Artikelnummer' ist nicht vorhanden

        das blöde is ja mit * funktionierts ja einwandfrei

        Comment


        • #5
          Die Spalte Artikelnummer heisst nicht Artikelnummer, sondern 'ISNULL(Artikelnummer, 0)'. Führ das mal auf der Konsole aus. Du musst der Spalte den Namen Artikelnummer geben.

          So sollte es funktionieren:

          Code:
          string str = "Select ARTVARI_ID, Typ, ISNULL(Artikelnummer, 0) Artikelnummer, IdMerkmal, IdAuspraegung, TS FROM TSArtvari";
          Allerdings weiss ich leider nicht wie man bei SQL Server die Spalten einer Abfrage umbenennt. Das Beispiel ist Oracle.
          Zuletzt editiert von fanderlf; 08.03.2010, 12:35.

          Comment


          • #6
            Wunderbar du hast mir grad die Vorverteidigung gerettet

            ich liebe dieses Forum

            Comment

            Working...
            X