我有以下代码
_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经验,无法提供有关此代码的更多背景信息。
答案 0 :(得分:1)
_Bar
没有行,因为没有值等于数据表中“Column”(a.k.a“Property”)中的_varValue。
*即使属性是数字,我怀疑用单引号包装它也很重要。 *
提示:F8(VB.Net)或F11(C#)将代码控制(黄线)分步到第二行代码。然后将鼠标悬停在问题中显示的第二行上的viewInvoice
字词上,您将看到ObjectBrowser工具提示出现,其中将显示带下拉列表的放大镜。单击它(下拉列表)并选择DataTable View以帮助您调试此问题。
您可以在运行/调试时更改Select(...)
条件,然后(通过将行号边距中的黄色箭头向上拖动一行)查看不同Select
条件的效果出了什么问题。