を照会するパラメータを追加私はこのクエリ(重要ではありません自体を)持っている:C#&SQL Serverの:
SqlCommand sqlCmd = new SqlCommand("SELECT * FROM Table1 WHERE " +
"CONTAINS((col1, col2, col3), " + "'\"*m*\"')" +
"ORDER BY(SELECT null) " +
"OFFSET(1) ROWS FETCH NEXT(100) ROWS ONLY", conn);
それが必要としてそれは、指定した列に「M」を持つすべての行を返します。 'm'はアスタリスク(ワイルド文字)のペアの中にあり、次に引用符で囲まれ、アポストロフィであることに注意してください。
私はそれをパラメータ化したい、つまりクエリに任意の文字列を入れたいと思っていました。
私はこれを書いた:
SqlCommand sqlCmd = new SqlCommand("SELECT * FROM Table1 WHERE "+ "CONTAINS((col1, col2, col3), " + "'\"*@searchText*\"')" +
"ORDER BY(SELECT null) "+
"OFFSET(1) ROWS FETCH NEXT(100) ROWS ONLY", conn);
sqlCmd.Parameters.AddWithValue("@searchText", textToSearch);
をしかし、その代わりにSqlCommand
にtextToSearch
文字列の内容を置くこと、このコードは@searchText
自体を置きます。
私はここで同様の投稿を見てきましたが、動作しませんでした。おそらくアポストロフィと引用符とアスタリスクが書式に含まれているためです。
私は間違っていますか?
このコマンドはどのように指定する必要がありますか?
なぜ '*'に '@ searchText'をラップしていますか?申し訳ありませんが、これが明らかな場合、私はすべてを知っていると主張していません。 – GibralterTop
あなたの文字列に 'CONTAINS((col1、col2、col3)、" "* @ searchText *" ')と言っています。 – GibralterTop
これはどのように動作するのですか、SQL Management Studioでテストしました – user1523271