1

データベースを作成し、データをグリッドビューに表示しました。従業員の名前を検索して結果を返すメソッドを有効にしようとしています。

次の 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);
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 に答える