我在一个非常简单的应用程序中使用 SqlDataSource。我允许用户通过 TextBoxes 为 SDS 的选择命令设置几个搜索参数,每个参数一个 TextBox(想想 txtFirstName、txtLastName 等)。我计划使用按钮单击事件处理程序来设置 SqlDataSource 的 SelectCommand 属性,默认情况下将返回所有记录(出于我的目的)。我想根据用户是否在我的任何文本框中输入搜索条件来优化此选择命令以添加一个或多个 WHERE 子句。
如果我不清楚,例如:
默认情况下,我的 SqlDataSource 的 SelectCommand 属性将是这样的:
SELECT * FROM MyTable
如果用户在 txtFirstName 中输入“Bob”,我希望 SelectCommand 属性看起来像这样:
SELECT * FROM MyTable WHERE [FirstName]='Bob'
如果用户在 txtLastName 中输入“Jones”,我希望 SelectCommand 属性看起来像这样:
SELECT * FROM MyTable WHERE [FirstName]='Bob' AND [LastName]='Jones'
我的问题:
有没有一种方法可以动态创建这些 WHERE 子句,而我不必测试空的 TextBox 并手动构建 WHERE 子句?
我的小应用程序只有三个参数,所以强行通过它不会很痛苦,但我想知道是否有更简单的方法可以做到这一点,而且将来我可能需要添加更多参数。另外,我可能想添加通配符搜索。