2017-01-18 8 views
0

私は値がある各日付からデータベースからいくつかの乗算された値を取得しようとしています。ループ内のSQLからのSELECT

var sumKG = 0; 
DateTime nextDay; 
//Just a random date for test purposes. 
var inputDate = "2016-12-27"; 

for (int i = 1; i < 5; i++) 
{ 

    var getData = "SELECT * FROM Test WHERE date = '" + inputDate + "'"; 

    foreach (var c in db.Query(getData)) 
    { 
     //This is the calculation that I want. 
     var total = c.kg * c.rep * c.sett; 

     //These three rows are date related and add 1 day to 
     //inputDate which is used above in the SQL query line. 
     DateTime thisDay = c.date; 
     nextDay = thisDay.AddDays(1); 
     inputDate = nextDay.ToString("dd/MM/yy"); 

     //This gives the total of the calculations done in each foreach loop. 
     sumKG += total; 
    } 
    @sumKG <br /> 
} 

それでは、私はこれから希望するforeach、この場合には、それは、その後2016」にinputDateを変更する必要があり、「2016年12月27日」の日付であることをデータベースにその事各行を行っているときということです-12-28 "と入力し、その新しい日付の日付が付いた行ごとにforeachを再度実行します。

The data type is not valid for the boolean operation.

イムわからないが、このことについて何を行うには:SQLクエリが、これは動作しませんfor loop内部にある間、

はしかし、私はエラーを取得しますか?私の考えでは、SQLクエリはinputDateの新しい値を得ることができないfor loopの中になければならないのですか?

提案がありますか? (MVCないプロジェクト)

+0

がinputDate = nextDay.ToString( "YYYY-MM-DD")を変更してみてください。 –

+0

くそー!本当に何かをするとは思っていませんでしたが、実際には働きました!ありがとう! –

答えて

1

次のことを試すことができますし、私は動作するはずです。..

inputDate = nextDay.ToString("yyyy-MM-dd"); 
関連する問題