我创建了一个数据库并在gridview中显示数据。我正在尝试启用一个搜索员工姓名并返回结果的方法。
以下SQL在输入EXACT NAME时显示正确的行。 -
SELECT personID, name, address, phoneNumber, age FROM dbo.person WHERE name Like @name
我希望能够显示名称正确且部分正确的行。
我尝试过以下SQL -
SELECT personID, name, address, phoneNumber, age FROM dbo.person WHERE name Like @name%
但是它会抛出错误“方法'没有重载'searchName'需要2个参数”。
单击“搜索”按钮时,将执行以下代码:
this.personTableAdapter.searchName(this.personDataSet.person,
searchTextBox.Text);
答案 0 :(得分:6)
将您的LIKE
修改为关键字和%
SELECT...
FROM...
WHERE name LIKE @name + '%'
答案 1 :(得分:1)
你能尝试像这样做
的LIKE查询吗? SqlCommand cmd = new SqlCommand("SELECT personID, name, address, phoneNumber, age FROM dbo.person WHERE name Like @name");
cmd.Parameters.AddWithValue("@name", name + "%");
答案 2 :(得分:0)
我认为您将使用文本框或类似的东西来获取用户正在搜索的名称。 当你阅读它时,你可以使用类似的东西:
string _Name = "%" + searchTextBox.Text + "%";
然后将字符串变量传递给您的脚本。
SELECT personID, name, address, phoneNumber, age FROM dbo.person WHERE name Like @name
希望这有帮助,它对我很好。