2017-07-09 9 views
-1

C#でWindowsFormでプログラムを作成しています。ユーザーがクライアントの一覧を検索できる検索ボックスがあります。 私がしたいことは、ユーザーが「検索」を押すと、名前列にユーザーが書いたテキストを含む行をすべてクライアント表から選択することです。 Like:ここには、テキストの一部が含まれている列のSQL Server Search

私はAlanとMarkをクライアントテーブルに登録しており、ユーザーは検索ボックスに「a」と書いてあります.AlanとMarkは名前に「a」という文字が含まれています。

+0

は、まあ、これは良い計画です。あなたはそれを達成するためのコードを書くのを始めましたか?あなたにコードを書く人々に尋ねるためにここに来ないことを忘れないでください。投稿する前に[ヘルプ]をお読みください。 – Steve

+0

申し訳ありませんが、私が望むのは実際にはSQLコードであり、C#/ winformコードではないので、ここにコードを入れませんでした。 –

+0

私は 'SELECT * FROM table WHERE column LIKE text'を試しました。 しかし、テキストは 'Alan'または 'Mark'でなければならず、文字や名前の一部でもありませんでした。 私も 'CONTAINS'を試しましたが、同じ効果がありました:/ –

答えて

-1

簡単なように解決する問題:

Select * from yourtable where [name] like '%a%' 
+0

それにパラメータを使うことはできますか?私は試していますが、それは私に何も戻って来ません。 ''%a% ''で試してみると、正常に動作します。 –

+0

はい@AlanFelipeとgoogleが大量の例を再現します。がんばろう!! – scsimon

+0

SQLインジェクション攻撃について聞いたことがありますか? – Enigmativity

1
​​
  • は今、あなたはそのクエリを使用することができます。

[SECURITY FOR EDIT]

cmd.CommandText = "select* from client where name like @Name;"; 
cmd.Parameters.AddWithValue("@Name", "%" + userInput + "%"); 
+0

SQLインジェクション攻撃について聞いたことがありますか? – Enigmativity

+0

あなたはOPだけでなく、コミュニティに答えを与えています。あなたがそのような大きなセキュリティ問題を持つソリューションを提案しているなら、あなたの答えにそれを指摘しておくべきです。 – Enigmativity

関連する問題