我试图计算一列中所有数字的总和。一列中所有字段的总和
列名是'Units'类型的整数。
这应该有效吗?
cmd3 = New OleDbCommand("SELECT SUM(Units) FROM tblJobs WHERE BookedOut = NULL AND HoldDate = NULL ", con)
lblLiveUnits.Text = cmd3.ExecuteNonQuery()
谢谢
我试图计算一列中所有数字的总和。一列中所有字段的总和
列名是'Units'类型的整数。
这应该有效吗?
cmd3 = New OleDbCommand("SELECT SUM(Units) FROM tblJobs WHERE BookedOut = NULL AND HoldDate = NULL ", con)
lblLiveUnits.Text = cmd3.ExecuteNonQuery()
谢谢
您的查询不正确,你不想做的东西=NULL
你应该使用IS NULL
:
SELECT SUM(Units) As TotalUnits
FROM tblJobs
WHERE BookedOut IS NULL
AND HoldDate IS NULL
然后在你的代码,你将使用ExecuteScalar
:
Int32 lblLiveUnits = 0;
cmd3 = New OleDbCommand("SELECT SUM(Units) As TotalUnits FROM tblJobs WHERE BookedOut IS NULL AND HoldDate IS NULL ", con);
lblLiveUnits = cmd3.ExecuteScalar()
你甚至尝试过吗? – Sajeetharan
ExecuteNonQuery将返回受影响的行数,而不是结果。如果您只想从查询返回一项数据,请使用ExecuteScalar:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx – GrandMasterFlush