使用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的值完全相同的记录,但正如我所提到的,这不是我想要的。:(
我是编码新手,所以请尽可能清楚地解释,如果我的问题没有以最好的方式表达出来,我很抱歉。提前谢谢!
不要忘记SqlDataSource1.SelectParameters.Add("@Ln",
中的"@"
。。。并将您的SelectCommand
更改为:
SelectCommand="SELECT (bunch of column) WHERE members.LastName LIKE @Ln";
SqlDataSource1.SelectParameters.Add("@Ln", '%' + inputLastName.Text + '%');
所以它应该起作用。