Tag: sqldatasource dynamicquery

SqlDataSource中的动态WHERE子句

我在一个非常简单的应用程序中使用SqlDataSource。 我允许用户通过TextBoxes为SDS的select命令设置几个搜索参数,每个参数一个TextBox(想想txtFirstName,txtLastName等)。 我打算使用按钮单击事件处理程序来设置SqlDataSource的SelectCommand属性,默认情况下它将返回所有记录(出于我的目的)。 我想改进这个select命令,可能会添加一个或多个WHERE子句,具体取决于用户是否在我的任何TextBox中输入搜索条件。 我不清楚的例子: 默认情况下,我的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子句? 我的小应用程序只有三个参数,因此粗暴强行通过这不会很痛苦,但我想知道是否有更简单的方法来做到这一点加上我可能需要在将来添加更多参数。 另外,我可能想要添加通配符搜索。