文字列を SQL コマンドに挿入する必要があります
search.CommandText = "SELECT * FROM Contacts WHERE Name like ' + @person + % + '";
LIKE
コマンドで使用する正しい方法は何ですか?
次のようにする必要があります。
SELECT * FROM Contacts WHERE Name like @person + '%'
@person
パラメータです - 一重引用符で囲む必要はありません。と連結するだけで%
よく、引用符が必要です。
次の点に注意してください。
"SELECT * FROM Contacts WHERE Name like @person"
、パラメータ値を含むことができ%
ました(C#での連結は理解しやすいです)。%
、_
、[
および]
.使用構文:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
"%"
記号を使用して、パターンの前後にワイルドカード (パターン内の欠落文字) を定義できます。
例えば:
LIKE '%xy'
「xy」で終わるものは何でも得られますLIKE '%xy%'
「xy」を含むものは何でも取得できますLIKE 'xy%'
「xy」で始まるものは何でも得られますこれはあなたが意味するものですか?
searchPerson.CommandText = "SELECT * FROM Contacts WHERE Name LIKE '"+person+"%'";
searchPerson.CommandText =
"SELECT * FROM Contacts WHERE Name like @person + '%'"
select * from Contacts WHERE Name like '%' + '"+@person+"' + '%'
select * from Contacts WHERE Name like '%' + '"+@person+"'
select * from Contacts WHERE Name like '"+@person+"' + '%'
フィールド タイプが Nvarchar の場合、次のコードを使用します。
"select * from Contacts where name like N'%"+person+"%'"
searchPerson.CommmandText = "SELECT * FROM Contacts WHERE Name like '" + @person + "%'";
これはうまくいくはずです
"Select * from customer where FirstName LIKE '"+TextBox1.Text + '%'+ "' ";
"SELECT * FROM table_name like concat(@persons,'%')"
使いました。