ASP.NET Webプロジェクトで小さなSQLサーバー検索を実行したいのですが、データベースが大きくないため、全文検索を使用しない方が良いと思います。 実行したいこのような単純な検索:SQLサーバーでLIKEワイルドカードを使用したクエリ
select * from mytable where columnA='"+myVariable+"'
が、どのように私はLIKE句に代わり%something%
の変数を使用することができます。
select * from mytable where columnA LIKE '%something%'
私は次のように=使用することができますか? は正しいですか? LIKE '"+%myVariable%+"'
???
var query = "SELECT * FROM MyTable WHERE columnA LIKE '%" + myVariable + "%'";
正解ですが、非常に悪いです。 SQL文を作成するために文字列を連結すると、SQLインジェクションを広く利用できます。 myVariableに値 ''; drop table mytable;があるとします。パラメータ化されたクエリまたはDBとの対話のためのLinqのバリエーションの1つを見てください – spender
@spender:クエリの実行前にセキュリティの検証を実行する必要がありますので、これはクエリ自体の問題ではありません – sll
@sll私はそれを購入しません。 SQL文に混在する文字列を「セキュリティで保護する」ことは困難です。それは単にそれをしない方が良いです。 – spender