我喜欢内置的DataSet设计器在VS2010中提供的许多内置功能,并且不希望在必要时更改为完全不同的内容。问题是,要获得可选参数,我需要为每个参数组合创建完全独立的函数。所以对于6个参数,我需要63个不同的功能。这显然是完全无法管理的。
有没有办法让一个函数只在我的SQL生成的WHERE子句中添加一个参数,如果它有一个值,否则它会忽略它?
答案 0 :(得分:2)
您可以使用ISNULL
将这些可选参数添加到WHERE-Clause中WHERE (YourTable.Column = ISNULL(@Column, YourTable.Column))
通过这种方式,SQL可以使用或不使用(可选)参数。如果该值为null,则不会影响结果。
您只需将所有参数添加到DataAdapter的参数集合中(可选AllowDbNull
= true)。但我相当确定它们会自动正确添加。