【发布时间】:2022-01-16 16:09:47
【问题描述】:
只是有点卡住了,我似乎无法在 google 上找到我要找的东西。
由于某种原因,这个If 语句会产生行并继续运行代码,即使我知道存储过程不会产生任何结果。
我什么都试过了
(rp.Rows[0] != null) / (rp.Rows.Count > 0)
和 && 语句的组合没有运气。我的印象是所有这些语句只有在存储过程返回一行时才会触发?
对于我想在 Microsoft 文档中找到的确切内容,我也有点迷茫,感谢有人可能提供的回复和指导。
var rp = DataHelper.ExecuteStoredProcedure("[dbo].[Report]", newSqlParameter("@reportId", id));
if (rp.Rows.Any())
{
// code
}
【问题讨论】:
-
当您调试时 -
rp.Rows是否包含任何内容?如果你运行int count = rp.Rows.Count- 你会得到什么价值?很难对外面的任何人说,因为DataHelper看起来不像一个标准的 .NET 类 - 所以我们不可能知道该类内部发生了什么以及它返回什么...... -
它只是一个保存DataTable的类,我会看看我是否可以让程序在VS中运行 - 调试。很高兴确认我可能应该已经问过这个问题了。