2011-05-09 133 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環境嗎?那些通常會告訴你,如果查詢有問題。 – 2011-05-09 12:30:32

+0

您是否嘗試在SQL控制檯中運行它?檢查它在那裏返回的值。我也不知道你的桌子是什麼樣的,所以我不能真正幫助你。也許你的where子句是不真實的? – Atticus 2011-05-09 12:31:05

+1

有可能你想COUNT而不是SUM? – 2011-05-09 12:32:06

回答

3

我懷疑你想要;在查詢結束時......但只是沒有看到標籤變化表明如果出現問題,你正在吞嚥正在被拋出的異常。

在修復查詢之前,請修復設計,以便在發生錯誤時查找關於它們的信息 - 否則您將無法確定發生了什麼。

我也想改變最終行:

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

你說的對,try catch塊不允許我看到我的錯誤。我正在調用一個字符串而不是int。我感到困惑,因爲我不知道挪威,所以我不知道列是什麼。謝謝! – sfrj 2011-05-09 13:05:11

6

它不能是正確的。在同一個select語句中,您將fyringsolje字段與Text進行比較,以便建議該值爲文本字段,並且不能對其應用總和

0

我懷疑字母數字列上的SUM()可能是罪魁禍首。我認爲它是文本列,因爲選擇條件。

在調試模式下運行它,在第二行設置一個斷點並檢查sql變量。