数据集为空时,它最初不为空

时间:2015-04-24 09:48:42

标签: vb.net

我有以下代码

_Foo = String.Concat(_Foo, " Var = '", _varValue, "' ")
_Bar = DsInvoice.viewInvoice.Select(_Foo, _Order)
If _Bar.Count > 0 Then

当我放置调试行时,数据集实际上是返回行,而_Bar的计数是116.但是当它在第3行(if语句)时_Bar为空且计数返回0.没有任何理由我刚丢失了数据。

如果您需要更多信息,请告诉我(我实际上是一名PHP程序员,而且我必须修复一些遗留代码:(。我缺乏VB经验,无法提供有关此代码的更多背景信息。

1 个答案:

答案 0 :(得分:1)

_Bar没有行,因为没有值等于数据表中“Column”(a.k.a“Property”)中的_varValue。

*即使属性是数字,我怀疑用单引号包装它也很重要。 *

提示:F8(VB.Net)或F11(C#)将代码控制(黄线)分步到第二行代码。然后将鼠标悬停在问题中显示的第二行上的viewInvoice字词上,您将看到ObjectBrowser工具提示出现,其中将显示带下拉列表的放大镜。单击它(下拉列表)并选择DataTable View以帮助您调试此问题。

您可以在运行/调试时更改Select(...)条件,然后(通过将行号边距中的黄色箭头向上拖动一行)查看不同Select条件的效果出了什么问题。