我正在使用SQL Server 2000和经典ASP来使用表格显示结果,即HTML格式。 我正在尝试获取SQL表中存在的列记录的值的总和。 为此,我尝试了这个。
Balance Leave =<%
sql= "select SUM('no_of_leave_taken') from emp_leave_details where emp_no='"&request.QueryString("id")&"'"
rs.open sql,con,1,2
response.Write(con.execute sql)
rs.close
%>
浏览器中显示的错误是
总和或平均聚合操作不能采用varchar数据类型 作为一个论点。
答案 0 :(得分:2)
这看起来像是一个SQL错误 - 如果在SQL Server企业管理器中运行该查询会发生什么? emp_details.no_of_leave_taken
是数字字段吗?
我将添加另一件事 - 请不要使用无法解决的查询价值 - 请阅读this ASP-friendly explanation of SQL Injection attacks以获取有关原因的一些解释。
答案 1 :(得分:1)
我尝试了这一点,自己想出来<% sql= "select SUM(no_of_leave_taken) as total from emp_leave_details where emp_name='"&request.QueryString("name")&"'" rs.open sql,con,1,2 response.Write(31- rs("total")) %>
这对我来说是一个新的知识...我很困惑,因为上面的查询中的“total”表达式对我起作用并且作为一个新列调用使用rs("total")
感谢@glenatron提供帮助