2011-05-09 1 views
2
string sql2 = "SELECT SUM(fyringsolje) FROM Informasjon WHERE fyringsolje='Kull: 2,42 kg';"; 
     SqlCommand myCommand2 = new SqlCommand(sql2, conn); 
     kullTotaltLabel.Text = "" + (int)myCommand2.ExecuteScalar(); 

ラベルのテキストが変更されていないと表示されていますが、クエリが正しく表示されないことがあります。私は、クエリが正しいことを確認したい!このSUM()クエリは正しいですか?

+1

SQL環境でテストしましたか?クエリに何か問題がある場合は、通常それらが通知されます。 –

+0

SQLコンソールで実行してみましたか?そこに戻ってきた値を確認してください。私はまたあなたのテーブルがどのように見えるか分からないので、私は本当にそれを助けません。おそらく、あなたのwhere節は気が利いていませんか? – Atticus

+1

あなたはSUMではなくCOUNTにすることができますか? –

答えて

3

質問の最後に;が必要だとは思っていませんが、ラベルが変わるのを見ていないのは、何かがうまくいかない場合、スローされている例外を飲み込んでいるということです。

クエリを修正する前に、エラーが発生したときにそれらについて調べるように設計を修正します。そうしないと、何が起こったのか分からないでしょう。

私も最後の行を変更したい:それは正しいかもカント

kullTotaltLabel.Text = myCommand2.ExecuteScalar().ToString(); 
+0

あなたが正しいところでは、try catchブロックは私に間違いを見せてくれませんでした。私はintの代わりにStringを呼び出していました。私はノルウェー語を知らないので混乱してしまったので、そのコラムが何だったのか分からなかった。ありがとうございました! – sfrj

6

。同じselect文でfyringsoljeフィールドとTextを比較して、値がテキストフィールドであり、その上に合計を適用できないようにします。

0

英数字列のSUM()が原因である可能性があります。私はそれがテキスト列であると仮定します。

デバッグモードで実行し、2行目にブレークポイントを設定し、sql変数を調べます。

関連する問題