我需要幫助完成參數化查詢。幫助C#參數化SQL查詢,並設置空值
SELECT *
FROM greatTable
WHERE field1 = @field1
AND field2 = @field2
用戶應該能夠搜索任何2個字段,用戶也應該能夠搜索field2是否有空值。
var query = "theQuery";
var cm = new SqlCommand(cn, query);
cm.AddParameter("@field1", "352515");
cm.AddParameter("@field2", DBNull.Value);
// my DataTable here is having 0 records
var dt = GetTable(cm);
[編輯]
什麼是最好的選擇嗎?
保持的CommandText恆定,從而在SQL計劃被重用
WHERE(FIELD2 = @ FIELD2 OR @ FIELD2 IS NULL)
變化的CommandText動態基於由用戶引入的值。
WHERE場2 IS NULL
我不只是想在一個領域,它可能是不同的。
@ field2 IS NULL允許返回所有結果......所以你可能想要小心這個結果。在null上搜索是非常棘手的。 – Zielyn 2010-06-03 22:22:22