2013-07-09 52 views
1

我試圖創建與兩個值檢查,但檢查一個用空select語句,我創造了這個迄今爲止,SQL SELECT語句混亂

string selectStatement 
    = string.Format(@"SELECT a, b, c 
         FROM Table1 
         WHERE c IS NOT NULL AND a = {0} AND b = {1}", 
        aValue, bValue); 

但我敢肯定它不會因爲我們的工作在選擇語句中不能有2個,並且有任何想法;請嗎?

+3

你可以有許多正如您需要: )..它看起來很好我 – Zaki

+0

你得到一個!你會得到一個AND!每個人都得到一個! – Jonesopolis

+0

忘記了A和B值的引號? –

回答

2

只要您願意,您可以在您的WHERE條款中擁有儘可能多的AND

如果ab是字符串值,則需要引號的價值觀 - 儘管它要好得多使用參數化查詢,避免Sql Injection vulnerability

SELECT a, b, c 
FROM Table1 
WHERE c IS NOT NULL 
AND a = @p0 
AND b = @p1 
+3

...除非OP使用參數化查詢來防止SQL注入 –

+0

@MichaelBray:你怎麼知道? –

+0

,因爲參數不需要類型分隔符...你可以說'WHERE Email = @ email'沒有引號,把一個字符串傳給'@ email',它工作正常 –

1

沒有理由爲不工作,你在用什麼數據庫?

如果有疑問,你也可以添加parenthasis:

(C IS NOT NULL)AND((A =值)和(B =值))

+0

我正在使用SQL 2000 – Mathematics

+0

當您運行它時會返回任何錯誤嗎? – s1cart3r