我有以下查询:
public static string GetCustomerName(string customerNo)
{
string query = "query to get customer";
var myConn= new MYConnection();
using (SqlConnection con = new SqlConnection(myConn.MYConnectionString))
{
con.Open();
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add("@customerNo", SqlDbType.NVarChar).Value = customerNo;
object result = cmd.ExecuteScalar();
return result == DBNull.Value ? String.Empty : (string)result;
}
}
我这样调用上面的方法:
string customerName = GetCustomerName(CustomerID);
if (customerName.Contains(Constants.Company.CompanyName))
{
Additional Logic...
}
但是,如果我的方法没有返回客户名称,我会收到 Object Reference Null 错误。我认为 GetCustomer 方法会返回一个空字符串。
如果我将调用更改为将 CustomerName 更改为下面,它会完美运行。
string customerName = GetCustomerName(emailAndSTCodeInfo.CustomerID);
if (String.IsNullOrEmpty(customerName))
{
customerName = "";
}
if (customerName.Contains(Constants.Chase.ACCOUNT_NAME))
{
Additional Logic
}
所以,我的问题是,如果我的 GetCustomer 方法没有找到记录并返回 null,那么处理这个问题的正确方法是什么。我目前正在使用上面的工作代码,但它似乎是一个黑客或其他东西。
任何帮助将不胜感激。