• 締切済み

言語はC#です。検索形式で、完全一致と中間一致のソースの書き方を教えてください。

言語はC#です。 今オーダーシステムのプログラミングの勉強をしています。 検索ボタンを押下時処理で、 ・商品コード(完全一致) ・商品名(中間一致) でプログラムを組みたいのですが、 そのようにすれば、中間一致検索ができすのか 分かりません。 ソースの書き方を教えてください。

みんなの回答

  • nfushi
  • ベストアンサー率31% (39/122)
回答No.2

私なら言語で解決せず、SQLで解決しますね。 完全一致なら WHERE 商品コード= @商品コード 中間一致なら WHERE 商品名 like %@商品名% となります。 言語で解決しようとしたら全件取ってきて、結果セットから検索するのでしょうか。数十件のデータならそれで良いかもしれませんが、数万件のデータとなるとパフォーマンスが落ちるでしょうね。

  • pu--n
  • ベストアンサー率56% (32/57)
回答No.1

こんにちわ。 趣旨は解りますが、具体的に何をどのようにされたいのかよくわかりませんので、勝手に解釈させていただきました。 C#ということなので、C#のコード記述でよろしいのでしょうか?。データベースからの検索となるとSQL文になるのですが・・・。 C#のコード記述でよろしければ以下を参考にしてください。 //--------------------------------------- int i1; //文字列の検索結果 bool i2; //一致結果 //--------------------------------------- i1 = textBox1.Text.IndexOf("123"); //文字列中に”123”が含まれているか // i1 != -1 検索された相対位置 // i1 == -1 検索されず                   if (i1 != -1) {   MessageBox.Show("123 があります"); } else {   MessageBox.Show("123 がありません"); } //--------------------------------------- i2 = textBox1.Text.Equals("123"); //文字列が同一か // i2 == true 一致 // i2 == false 不一致 if (i2 == true) {   MessageBox.Show("123 と一致"); } else {   MessageBox.Show("123 と不一致"); }   (この場合は単純に if (textBox1.Text == "123")とした方が楽) 全く見当違いでしたら、失礼いたしました。

関連するQ&A