使用SelectCommand在SQL数据库(C#)中选择值时遇到问题

本文关键字:选择 问题 遇到 SelectCommand SQL 数据库 使用 | 更新日期: 2023-09-27 18:21:07

因此,在我正在制作的应用程序中,我有一个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的值完全相同的记录,但正如我所提到的,这不是我想要的。:(

我是编码新手,所以请尽可能清楚地解释,如果我的问题没有以最好的方式表达出来,我很抱歉。提前谢谢!

使用SelectCommand在SQL数据库(C#)中选择值时遇到问题

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

SelectCommand="SELECT (bunch of column) WHERE members.LastName LIKE @Ln";
SqlDataSource1.SelectParameters.Add("@Ln", '%' +  inputLastName.Text + '%');

所以它应该起作用。