从 SqlCommand.ExecuteScalar() 调用返回非空值后,我是否需要在转换为字符串后检查空字符串
本文关键字:字符串 是否 转换 检查 ExecuteScalar SqlCommand 调用 空值 返回 | 更新日期: 2023-09-27 18:26:18
object check;
string q = "query details";
using (SqlCommand cmd = new SqlCommand(q, sc))
{
try
{
sc.Open();
check = cmd.ExecuteScalar();
sc.Close();
}
catch (Exception e)
{
// Alert user, continue execution;
CloseConnectionIfOpen(sc);
return s;
}
if (check == null)
{
// Alert user, continue execution;
return s;
}
else
{
stringvariable = check.ToString();
}
}
我现在是否需要检查stringvariable
是否为空字符串,或者我可以保证它至少有 1 个字符吗?
如果我能保证字符串不为空,那么继续尝试从ExecuteScalar()
强制转换返回并捕获异常是否更有意义?
来自 :https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.80(.aspx
返回值
结果集中第一行的第一列,或 null 如果结果集为空,则引用。
因此,无需检查字符串变量中的空字符串。
关于第二个问题。您不应该期待例外。异常是意想不到的事情。如果您知道 SQL 查询可能会失败,那么您应该主动并显式测试检查 != 是否为 null。