1

我创建了一个数据库并在网格视图中显示数据。我正在尝试启用一种搜索员工姓名并返回结果的方法。

输入 EXACT NAME 时,以下 SQL 将显示正确的行。-

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);
4

3 回答 3

6

修改您LIKE的关键字和%

SELECT...
FROM...
WHERE name LIKE @name + '%'
于 2012-10-24T06:25:43.693 回答
1

你能尝试像这样进行 LIKE 查询吗

    SqlCommand cmd = new SqlCommand("SELECT personID, name, address, phoneNumber, age FROM dbo.person WHERE name Like @name");
    cmd.Parameters.AddWithValue("@name", name + "%");
于 2012-10-24T06:39:55.087 回答
0

我认为您将使用文本框或类似的东西来获取用户正在搜索的名称。当你阅读它时,你可能会使用这样的东西:

string _Name = "%" + searchTextBox.Text + "%";

然后将字符串变量传递给您的脚本。

    SELECT personID, name, address, phoneNumber, age FROM dbo.person WHERE name Like @name 

希望这会有所帮助,它适用于我。

于 2012-10-24T09:52:05.543 回答