2013-10-31 61 views
0

在where語句中使用&或& &?它似乎不工作。什麼是SQLite中的正確AND運算符,其中語句

任何人都可以幫助我在Sqlite查詢語句上的Lambda表達式。

謝謝。

 
var existingItemUoM = db2.Table().Where(c => c.UoM == ItemNo & c.ItemNo == CodeforUoM).SingleOrDefault() 

+0

這是什麼框架/語言? [tag:sqlite]是一個SQL引擎,但你的問題不是[tag:SQL]! –

+0

我試圖在SQLite上使用Lambda,我不確定在查詢語句中使用AND或&或&&。 – MilkBottle

回答

1

既然你似乎是使用LINQ,爲AND正確的操作是

&& 

一個很好的參考這裏是101 LINQ Samples
單個&是一個非短路和運營商。這意味着即使第一個條件的計算結果爲真,第二個條件也會被檢查(當使用&&,短路和運算符時不是這種情況)。

此外,在實際的SQLite語句中,布爾和運算符的正確表達式爲and,請參閱the expressions of SQLite

+0

Single ['&'](http://msdn.microsoft.com/zh-cn/library/sbf85k1c(v = vs.90).aspx)應用於非短路AND中的布爾值,而不是二元運算符。 –

+0

@DStanley謝謝你的評論,你是對的......我寫答案時爲時過早。 –

0

爲正確的運營商,也是& &,具有下列檢查,其中類

變種existingItemUoM = db2.Table()。其中​​C => c.UoM)& &(c.UoM ==貨號(( )& &(c.ItemNo == CodeforUoM)).SingleOrDefault()