2011-08-09 38 views
0

什麼是在.NET WinForms應用程序中實現可選查詢參數的標準方法?處理可選的.NET數據源參數

換句話說,如果相應控件的值不爲null,則只在字段上進行查詢。

注:不想回答VB.NET(C#好太)

編輯:我用FillBy方法,它調用在我的Access數據庫的查詢。在TableAdapter查詢編輯器中,我只使用WHERE (field1 = ?) AND (field2 = ?) ...我只是找不到將窗體控件綁定到表適配器查詢參數的「鉤子」,因此如果表單使用默認值不查詢它。

+0

大大取決於你如何訪問您的數據庫。你使用存儲過程嗎?你如何從應用程序中調用這些存儲過程? –

+0

看到主要帖子編輯 – Steven

回答

1

您可以多次應用LINQ Where子句。
如果您使用的是DataSet,則可以撥打AsEnumerable(自.NET 3.5起可用)對其執行LINQ查詢。

+0

我有一個DataGridView綁定到Access查詢的BindingSource。我可以只使用設計師來做到這一點嗎? – Steven

+0

不,我不這麼認爲。這很容易通過代碼完成(並且比設計師的拖放ouch更好)。 –

+0

使用LINQ方法......我是否在沒有任何條件的情況下填充'TableAdapter'?然後,使用LINQ查詢並將這些結果放入我的'DataGridView'中? – Steven

2

我訪問語法是生鏽,所以你可能需要調整它,但你可以嘗試這樣的事:

WHERE (@Field1 IS NOT NULL AND Field1 = @Field1) AND (@Field2 IS NOT NULL AND Field2 = @Field2)