0
我有一個存儲過程返回單個記錄,或者null
或數據(如果存在)。無法讀取從存儲過程返回的空值
在我的代碼中,我需要檢查該過程返回的內容。什麼是正確的做法?
現在,當運行代碼時,我有一個異常說:「無數據存在時嘗試讀取無效。」我使用Visual Studio 2005
這裏是我的方法:
public static String GetRegionBasedOnIso(String isoNum)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString);
String region = null;
try
{
using (SqlCommand cmd = new SqlCommand("MyProc", conn))
{
conn.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@isoNum", isoNum);
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.IsDBNull(0))
{
return null;
}
else
{
region = (String)dr["region"];
}
}
}
}
catch (Exception e)
{
throw new System.Exception(e.Message.ToString());
}
finally
{
conn.Close();
}
return region;
}
我能做些什麼來解決這個問題?謝謝