0

因此,在我正在制作的应用程序中,我有一个 selectCommand,它应该在单击按钮时读取文本框中的文本,并根据该值过滤搜索结果。

选择命令是。

SelectCommand="SELECT (bunch of columns) WHERE members.LastName LIKE '%@Ln%';

@Ln 的值是从后面的代码中检索到的:

public void searchButtonClick(object sender, EventArgs e)
    {
        SqlDataSource1.SelectParameters.Clear();
        SqlDataSource1.SelectParameters.Add("Ln", inputLastName.Text);        
    }

我的目标是选择所有姓氏的记录,其中包含在姓氏文本框中输入的任何内容。例如,我想要“Mar”、“Martinez”或空白文本框来选择姓 Martinez 的人。空白文本框应选择所有姓氏。

但我相信我的问题在于 SelectCommand 的语法。我已经在没有单引号的情况下对其进行了测试,并且它的许多其他变体都无济于事。如果我只留下“WHERE members.LastName LIKE @Ln”,它会选择姓氏是 inputLastName.Text 的确切值的记录,但正如我所提到的,这不是我想要的。:(

我是编码新手,所以请尽量解释清楚,如果我的问题没有以最好的方式表达,我很抱歉。先感谢您!

4

1 回答 1

1

不要忘记"@"in SqlDataSource1.SelectParameters.Add("@Ln",... 并将您的更改SelectCommand为:

SelectCommand="SELECT (bunch of column) WHERE members.LastName LIKE @Ln";

SqlDataSource1.SelectParameters.Add("@Ln", '%' +  inputLastName.Text + '%');

所以它应该工作。

于 2014-09-08T12:43:18.283 回答