Per Drown-Down-List einem SELECT-Parameter NULL übergeben

Maximus

Erfahrenes Mitglied
Hallo,

ich habe einen SELECT-COMMAND der anhand der SelectedValue.Eigenschaft einer Drop-Down-List gefiltert wird.
Diese Drop-Down-List wird aus einem DataSet gefüllt und es wird noch ein weiteres Item "Alles anzeigen" hinzugefügt. Dieses Item soll den Wert NULL bekommen damit der SELECT-COMMAND nichts filtert.
Der SELECT-COMMAND füllt per SQLDataSource ein GridView.

Zum Verständnis:
SELECT .......
FROM........
WHERE (a IS NULL OR a=@parametera);

Wenn die Drop-Down-List jetzt einen Wert übermittelt klappt alles; aber wenn ich dem Item "Alles anzeigen" keinen Value geben, kommt die Fehlermeldung "Die Eingabezeichenfolge hat das falsche Format.".

Wie kann ich den Value der Drop-Down-List auf NULL setzen?
DropDownList1.Items[0].Value = Null oder DropDownList1.Items[0].Value = "" oder ähnliches bringt leider alles nix.

Bin für jeden Tip dankbar.
Gruß Maximus!
 

mage

Erfahrenes Mitglied
Vielleicht würd ich nicht das Item auf Null setzen, sondern das ausgewählte Item.
So in der Art:
DropDownList1.SelectedItem = null;

gruß mage
 

Maximus

Erfahrenes Mitglied
Hallo Mage,

das ging so leider nicht, aber das hier scheint der richtige Weg zu sein:
Code:
ddl_FilterSpieltage.Items[0].Value = DBNull.Value.ToString();

Hier erstmal mein SELECT-COMMAND:
PHP:
ALTER PROCEDURE dbo.ErmittelSpiele
	
	(
		@filter_spieltag int,
		@filter_heimteam int,
		@filter_gastteam int
	)
	
AS
	        SELECT A.spiel_id, A.spieltag_id, B.mannschafts_name, C.mannschafts_name, D.spieltag_datum, D.spieltag_name, D.spieltag_id
	        FROM Spiele A, Mannschaften B, Mannschaften C, Spieltage D
	        WHERE A.mannschaft_a = B.mannschafts_id AND A.mannschaft_b = C.mannschafts_id AND A.spieltag_id = D.spieltag_id AND (@filter_spieltag IS NULL OR D.spieltag_id=@filter_spieltag) AND (@filter_heimteam IS NULL OR B.mannschafts_id=@filter_heimteam) AND (@filter_gastteam IS NULL OR C.mannschafts_id=@filter_gastteam);

Obwohl jetzt die DropDownList ja den Wert DB.NULL übergibt scheint die Datenbank diesen Wert nicht als NULL zu akzeptieren und gibt keine Zeile zurück, obwohl ja eigentlich jetzt alle Werte angezeigt werden müssten.

Hast Du da eine Idee?

Gruß Maximus!
 

Neue Beiträge