2013-07-26 81 views
-6

我想能夠在WinForms應用程序中寫入一個查詢在C#Visual Studio 2012將不會顯示匹配的記錄。說我有一個記錄在一個Access數據庫,上面寫着查詢擺脫匹配記錄C#

JOHN SMITH MALE 19 
JANE DOE FEMALE 19 
JOHN SMITH MALE 19 

和查詢像這樣

SELECT a.NAME FROM [NAME] a WHERE a.NAME = JOHN SMITH 
//but returns both records in the table 

我怎麼能夠只從表中返回一個單一的記錄?任何幫助將非常感激。

+0

你對你的表的主鍵:

如果您正在使用,或在某些時候決定在C#中使用LINQ,有越來越一行時,像這樣的一個FirstOrDefault()選項? –

+5

獨特關鍵字 – MrFox

+0

嘗試使用NOT IN statment中的子查詢。 http://www.techonthenet.com/sql/in.php –

回答

5

您可以直接在SQL中執行此操作。
使用distinct得到的只有那沒有重複

SELECT DISTINCT a.NAME 
FROM your_table a 
WHERE a.NAME = 'JOHN SMITH' 

或使用top只得到一定數額或紀錄結果

SELECT top 1 a.NAME 
FROM your_table a 
WHERE a.NAME = 'JOHN SMITH' 
+1

他說在** C#** – dtsg

+2

他還說*我想能夠在C#*中編寫查詢,這是.. –

+2

我建議直接在SQL中執行此操作。 –

-3

使用組通過在SQL語句[引用刪除的記錄造成業障的原因]或不同的[參考刪除'壞業力的原因]

+2

免責聲明:我沒有降低你的評價,但我們通常認爲w3schools是[不良資源](http://www.w3fools.com/)。此外,更好的答案包括代碼示例以及外部資源的鏈接。 – jwiscarson

+1

jajaja還行。我知道很多人都有衝突,因爲w3cschool不屬於w3c;沒問題...很高興知道... – mtzaldo

1

如果我理解正確,你想修改你提供的查詢,而不是返回

John Smith 
John Smith 

它只返回

John Smith 


如果是這樣的話,那麼你想

SELECT DISTINCT a.NAME FROM [NAME] a WHERE a.NAME = "JOHN SMITH" 

如果這不是你想做的事,那麼也許你可以更新你的問題,以更好地解釋你的問題是什麼?

0

這是不是很清楚,如果你想在C#或SQL中做到這一點。 Juergen的答案很好。

return db.NameTable.Where(q => q.name == "John Smith").FirstOrDefault();