2017-04-20 5 views
0

SQLクエリ文字列のwhere句で条件を削除する必要があります。SQLクエリでWhere句の条件を削除します。

私のクエリは、その後除去した後に、それは

Select * 
from table1 
where column2 = 10 

とした後、その後、私のSQLクエリは

Select * 
from table1 
where column1 = @c1 

ある場合でなければなりません

Select * 
from table1 
where column1 = @c1 and column2 = 10 

である場合には、この除去は、次のように動作するはずです削除する必要があります

Select * 
from table1 

C#でこれを行うにはどのような方法が最適ですか?私はRegexを使うことができますか、それとも良い方法がありますか?

+0

他の方法を実行します。 '(column1 = @ c1または@ c1がヌル)および(column2 = 10)'です。 – jarlh

+0

だからどこで 'where column1 = @ c1'を削除したいのですか? – WhatsThePoint

+0

「はい」が@WhatsThePoint質問の答えである場合:それは常に最初の文ですか? –

答えて

0

これは最善の方法ではありませんが、これはあなたの場合のトリックを行います。

return query.Replace((query.IndexOf(" and ") != -1 ? "column1 = @c1 and " : " where column1 = @c1"), string.Empty); 
関連する問題