| 

.NET C# Java Javascript Exception

2
Hallo zusammen,

ich hoffe hier kann mir geholfen werden ;-)

Über eine SQL-Anweisung bekomme ich einen DataTable mit Folgenden Spalten
(Produkt, Bestand, Menge1, Menge2)

Dann habe ich eine neue Spalte wie folgt definiert

taTitel.columns.add("Frei", gettype(Integer))
tatitel.columns("Frei").Expression = "Bestand - Menge1 - Menge2"


Sind alle drei Spalten (Bestand, menge1 und Menge2) mit Werten gefühlt, wird die Formel korrekt berechnet und ich bekomme die berechnete Spalte.

Und nun mein Problem:
ist eine Spalte NULL, dann bekomme ich auch kein Ergebnis.

Und hat wer eine Idee?

Bin für jeden Hilfe dankbar
Karline
News:
30.11.2011
Karline 3 3
3 Antworten
1
Wenn du in der Framework-Dokumentation nachschaust, wirst du sehen, dass die Expression-Syntax auch Funktionen wie z.B. IsNull unterstützt (siehe Expression Property).

Wenn du die Daten nicht manipulieren musst, kannst du natürlich auch eine View in der Datenbank definieren, welche in den numerischen Spalten "Null" durch "0" ersetzt und die Berechnung durchführt.

Gruß
Klaus
30.11.2011
luedi 2,2k 1 9
1
Du kannst beim Auslesen deiner Felder (Bestand, Menge1, Menge2) Null-Werte vermeiden, indem du in deinem select COALESCE verwendest, z.B. coalesce(Bestand, 0).
30.11.2011
Jürgen Luhr 7,1k 2 9
0
Oh, Besten Dank!

Beide Hinweise sind sehr interessant.

Die Daten müssen nicht manipuliert werden, aber die Anzeige erfolgt in einem Datagridview und dort werden dann nur die Werte ungleich NULL angezeigt, das macht es sehr übersichtlich.
Die IsNull - Funktion ist optimal, Danke für den link zur Hilfe. Ich hatte gestern auch gesucht, aber nichts passendes gefunden.

COALESCE habe ich so nicht zum Laufen gebracht, vielelicht liegt es daran, das die Werte aus Unterabfragen stammen. Aber ich kannte die Funktion noch nicht und ich finde sie sehr interessant.

Viele Grüße
Karline
30.11.2011
Karline 3 3
Ich vermute mal, dass es bei COALESCE um eine MS-SQL Server spezifische Methode bzw. Funktion handelt. Auf welche Datenbank bzw. Datenquelle fragst du ab?

viele Grüße

Michael
BITsoft_Michael 02.12.2011
Wie kommst du darauf?
http://en.wikipedia.org/wiki/Null_%28SQL%29#COALESCE
Jürgen Luhr 02.12.2011
es ist ein MS SQL-Server
Karline 02.12.2011
Und hier noch zum COALESCE als Standard in der ISO/IEC 9075:1992
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
Jürgen Luhr 02.12.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH