2011-05-09 156 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变量。