簡體   English   中英

如何檢查存儲過程返回的NULL?

[英]how to check for NULL returned from stored procedure?

我需要檢查存儲過程是否返回空值。 目前,我有以下代碼:

public static bool MyMethod(String isoNum)
{
    SqlConnection conn = null;
    bool regionExists = true;
    try
    {
        using (conn = new SqlConnection(ConfigurationManager.ConnectionStrings["String"].ConnectionString))
        {
            using (SqlCommand cmd = new SqlCommand("SPU_GetRegionBasedOnIso", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@isoNum", isoNum);
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                **<<Here I need to check for NULL value>>** 
                }

            }
        }
    }
    catch (Exception e)
    {
        throw new System.Exception(e.Message.ToString());
    }
    return regionExists;
}

在這里檢查NULL的最佳方法是什么?

謝謝

使用ExecuteScalar而不是ExecuteReader並與DBNull.Value進行比較。

object result = cmd.ExecuteScalar();
if (result == DBNull.Value)
{
    ....
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM