Forums Neueste Beiträge
 

DBNull in gespeicherter Prozedur auswerten.

28/08/2009 - 15:28 von Bernd Hass | Report spam
Hallo,

ich gebe ein Object DBNull.Value in ASP.NET an eine gespeichert Procedure
(SQL-Server).

oParameterList.Add(new Database.SQLParameter("@top", SqlDbType.SmallInt, 0,
ParameterDirection.Input, DBNull.Value));

Die Procedure soll dann diesen Parameter (@top) auf null prüfen.
Leider springt er nie in die IF-Bedingung.

ALTER PROCEDURE [dbo].[sp_news_read_daten]
(
@id INT,
@sprache_id INT,
@kategorie_id INT,
@status BIT,
@top SMALLINT,
@archiv BIT
)
AS
BEGIN

declare @SqlString VARCHAR(5000)

If (@top = null )


Wie werte ich den übergeben Wert DBNull.Value in der Procedure aus?

Viele Grüße aus Berlin
 

Lesen sie die antworten

#1 Elmar Boye
28/08/2009 - 16:13 | Warnen spam
Hallo Bernd,

Bernd Hass schrieb:
ich gebe ein Object DBNull.Value in ASP.NET an eine gespeichert Procedure
(SQL-Server).



DBNull wandelt der Provider automatisch in NULL um.

oParameterList.Add(new Database.SQLParameter("@top", SqlDbType.SmallInt, 0,
ParameterDirection.Input, DBNull.Value));

Die Procedure soll dann diesen Parameter (@top) auf null prüfen.
Leider springt er nie in die IF-Bedingung.

ALTER PROCEDURE [dbo].[sp_news_read_daten]
(
...
@top SMALLINT,
...
)
AS
BEGIN

If (@top = null )



wàre
IF @top IS NULL

<URL:http://msdn.microsoft.com/de-de/lib...5.aspx>
"IS [NOT] NULL (Transact-SQL)"

In dem Zusammenhang kann hilfreich sein ISNULL
<URL:http://msdn.microsoft.com/de-de/lib...5.aspx>
respektive (ANSI-SQL) COALESCE:
<URL:http://msdn.microsoft.com/de-de/lib...9.aspx>

Gruß Elmar

Ähnliche fragen