我喜歡VS2010中內置的DataSet設計器提供的許多內置功能,如果可能的話,不想改變爲完全不同的東西。問題是,要有可選的參數,我需要爲每個參數組合創建完全獨立的函數。所以對於6個參數,我需要63個不同的功能。這顯然完全無法管理。VS2010中的DataSet設計器是否支持可選參數?
有沒有辦法有一個功能,只是增加了一個參數,我的SQL如果它有一個價值的產生WHERE子句,否則,它會忽略?
我喜歡VS2010中內置的DataSet設計器提供的許多內置功能,如果可能的話,不想改變爲完全不同的東西。問題是,要有可選的參數,我需要爲每個參數組合創建完全獨立的函數。所以對於6個參數,我需要63個不同的功能。這顯然完全無法管理。VS2010中的DataSet設計器是否支持可選參數?
有沒有辦法有一個功能,只是增加了一個參數,我的SQL如果它有一個價值的產生WHERE子句,否則,它會忽略?
你可以添加這些可選paremeters到WHERE子句與ISNULL:
WHERE (YourTable.Column = ISNULL(@Column, YourTable.Column))
在這樣的SQL工作帶或不帶參數(可選)。如果該值爲空,則不會影響結果。 您只需將所有參數添加到DataAdapter的參數集合中(可選AllowDbNull
= true)。但我很確定他們會自動添加正確。
如何將此添加到自動生成的DataSet設計器代碼(xsd)? –
你爲什麼要添加一些東西?參數應該在「Where-Clause」中自動創建。 –
太棒了!我不知何故誤解了你第一次提出的建議。你對使用如此多的ISNULL和真理(即Table.Column = Table.Column)的性能影響有任何想法嗎? –
你不能使用參數集合並創建你的WHERE子句嗎? –
@Rhhound你能提供一個如何做到這一點的例子嗎? –