2016-04-28 15 views
0

誰でも特定の日付の列を持つレコードをフェッチできるクエリを書くことができます。以下のこのクエリは、特定の値を持つレコードを提供しますが、日付をフィルタリングしません。Sql特定の日付の特定の値を持つレコードをフェッチするクエリ

sql = "Select * from solarleads where Phone = '" + c_id.Text + "' OR AgentName Like '" + c_id.Text + "%' OR CallStatus Like '%" + c_id.Text + "%' OR CenterId = '" + c_id.Text + "' And Date >= '" + date1.Text + "' AND Date <='" + date2.Text + "' ORDER BY Id DESC ;"; 

答えて

0

OR条件のセットをブラケットする必要があります。

sql = "Select * from solarleads 
where (Phone = '" + c_id.Text + "' OR AgentName Like '" + c_id.Text + "%' 
OR CallStatus Like '%" + c_id.Text + "%' 
OR CenterId = '" + c_id.Text + "') 
And Date >= '" + date1.Text + "' AND Date <='" + date2.Text + "' 
ORDER BY Id DESC ;" 
+1

あなたは、上記のサンプルを記入してくださいできますか? –

+0

その完成した男。助けてくれてありがとう(y) –

+0

あなたはSQLインジェクションを行い、それを使うのは非常に危険です。アプリケーションでSQL文字列を作成するために '+'を使用しないでください! –

-1

のような、括弧で区切りと条件 -

sql = "Select * from solarleads where " + 
"(Phone = '" + c_id.Text + "' " + 
    "OR AgentName Like '" + c_id.Text + "%' " + 
    "OR CallStatus Like '%" + c_id.Text + "%' " + 
    "OR CenterId = '" + c_id.Text + "') " + 
"(And Date >= '" + date1.Text + "' AND Date <='" + date2.Text + "')" + 
"ORDER BY Id DESC ;"; 

またチェック - Mysql or/and precedence?

+0

done dear.thanks alot –

+0

あなたはSQLインジェクションを行い、それを使用することは非常に安全です。アプリケーションでSQL文字列を作成するために '+'を使用しないでください! –

+0

私はなぜ否定的な投票があるのか​​分かりません。 OPは、ロジックが正しくないSQLクエリを提供し、修正しました。これは私が提案した解決策ではありません。彼が注射を使用したい場合は、彼に投票してください、なぜ私。私が心配している限り、それは彼の問題を正確に解決します。 – dibakar

関連する問題