2012-04-11 94 views
0

你好的人:)我有一个空的结果麻烦,当我比较查询它说我不能把它给下面的错误“序列不包含任何元素”空结果在LINQ vb.net

Dim existe = (
    From p In abc.Ventadetalles 
    Where p.idarticulo = txtArticulo.Text 
    And p.idventa = IdventaTextBox.Text 
    Select p).Single 

这里使用的SingleOrDefault代码

+0

也许你正常化的字符串 – Joe 2012-04-11 18:16:40

+0

显然,你甚至没有谷歌的答案。 – usr 2012-04-11 18:18:06

+0

以及我谷歌它,但他们甚至没有说他们说修复错误 – 2012-04-11 19:32:11

回答

0

下面的工作:

Dim existe = (
    From p In abc.Ventadetalles 
    Where p.idarticulo = txtArticulo.Text 
    And p.idventa = IdventaTextBox.Text 
    Select p).SingleOrDefault() 

If existe Is Not Nothing Then 
    '' here you can use existe 
End If 
+0

thanx它现在起作用:D – 2012-04-11 20:21:07

2

尝试。这应该工作。

另外,您可以用任何(),因为它看起来像你正试图测试存在与否。

2

错误是正确的:序列没有元素!您正在使用Single(),所以空序列会产生错误。如果您想返回默认值,请使用SingleOrDefault()

如果你希望那里实际上是序列中的元素,然后再仔细检查你的条件和原始数据。

+0

mmm好吧好吧我尝试它,它的工作原理...但仍然在下一行我有一个if语句,它说是空... PS:怎么做我将空结果更改为0 thnx作为回复 – 2012-04-11 19:33:18