- 締切済み
言語はC#です。検索形式で、完全一致と中間一致のソースの書き方を教えてください。
言語はC#です。 今オーダーシステムのプログラミングの勉強をしています。 検索ボタンを押下時処理で、 ・商品コード(完全一致) ・商品名(中間一致) でプログラムを組みたいのですが、 そのようにすれば、中間一致検索ができすのか 分かりません。 ソースの書き方を教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nfushi
- ベストアンサー率31% (39/122)
私なら言語で解決せず、SQLで解決しますね。 完全一致なら WHERE 商品コード= @商品コード 中間一致なら WHERE 商品名 like %@商品名% となります。 言語で解決しようとしたら全件取ってきて、結果セットから検索するのでしょうか。数十件のデータならそれで良いかもしれませんが、数万件のデータとなるとパフォーマンスが落ちるでしょうね。
- pu--n
- ベストアンサー率56% (32/57)
こんにちわ。 趣旨は解りますが、具体的に何をどのようにされたいのかよくわかりませんので、勝手に解釈させていただきました。 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")とした方が楽) 全く見当違いでしたら、失礼いたしました。