SQL查询抛出错误C#

时间:2012-10-24 06:23:29

标签: c# sql visual-studio-2010 methods

我创建了一个数据库并在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);

3 个答案:

答案 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 

希望这有帮助,它对我很好。