4

文字列を SQL コマンドに挿入する必要があります

search.CommandText = "SELECT * FROM Contacts WHERE Name like ' + @person + % + '";

LIKEコマンドで使用する正しい方法は何ですか?

4

10 に答える 10

5

次のようにする必要があります。

SELECT * FROM Contacts WHERE Name like @person + '%'

@personパラメータです - 一重引用符で囲む必要はありません。と連結するだけで%よく、引用符が必要です。

次の点に注意してください。

  • あなたはそれを保持し"SELECT * FROM Contacts WHERE Name like @person"、パラメータ値を含むことができ%ました(C#での連結は理解しやすいです)。
  • また、文字列にすでに含まれている他のワイルドカード文字をエスケープすることもできます: %_[および].
于 2012-09-13T05:04:31.870 に答える
3

使用構文:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

"%"記号を使用して、パターンの前後にワイルドカード (パターン内の欠落文字) を定義できます。

例えば:

  • LIKE '%xy'「xy」で終わるものは何でも得られます
  • LIKE '%xy%'「xy」を含むものは何でも取得できます
  • LIKE 'xy%'「xy」で始まるものは何でも得られます
于 2012-09-13T05:03:25.563 に答える
2

これはあなたが意味するものですか?

searchPerson.CommandText = "SELECT * FROM Contacts WHERE Name LIKE '"+person+"%'";
于 2012-09-13T05:03:40.953 に答える
1
searchPerson.CommandText =  
   "SELECT * FROM Contacts WHERE Name like @person + '%'"
于 2012-09-13T05:05:36.713 に答える
0
select * from Contacts WHERE Name like '%' + '"+@person+"' + '%' 
select * from Contacts WHERE Name like '%' + '"+@person+"' 
select * from Contacts WHERE Name like '"+@person+"' + '%'
于 2013-08-29T05:10:42.183 に答える
0

フィールド タイプが Nvarchar の場合、次のコードを使用します。

   "select * from Contacts where name like N'%"+person+"%'"
于 2016-01-05T19:13:15.143 に答える
0
searchPerson.CommmandText = "SELECT * FROM Contacts WHERE Name like '" + @person + "%'";
于 2012-09-13T05:05:37.470 に答える
0

これはうまくいくはずです

"Select *  from customer where FirstName LIKE '"+TextBox1.Text + '%'+ "'   ";
于 2015-03-12T08:17:20.970 に答える
-1

"SELECT * FROM table_name like concat(@persons,'%')"

使いました。

于 2016-05-18T13:32:24.640 に答える