对数据表中的字段求和。我用了 “select sum(Amt) as al from Order where UID = rs('ID')” , 可是反馈的内容一直是空的, 各位谁能指点一下?
order 是关键字 order by desc 表示排序;你这里是表吧,用`Order`,单引号包括下
Order 表有Amt 和UID 的前提下执行下面的语句
select sum(Amt) as al from `Order` where UID = '123';
rs('ID') 你想表达啥意思
rs('ID')需要转换一下,不能直接用,改成
“select sum(Amt) as al from Order where UID = “ + rs('ID')
我改成这样,
<%
strsql="select sum(Amt) as al from 'Order' where UID = " + rs("ID")
%>
<% = al %>
结果:
Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: '[string: "select sum(Amt) as a"]'
是不是Amt字段类型有限定?
Order的单引号是键盘【1】左边那个键,tab上面那个键,类型不匹配应该是rs那个类型,估计是个数字类型,你得加个toString()
strsql="select sum(Amt) as al from `Order` where UID = " + rs("ID").toString()
改成这样:
1、Order需要使用反引号`` 就是英文输入法下,1左边的那个键。
2、uid字段应该是varchar类型,匹配的字符串需要加引号。
strsql="select sum(Amt) as al from `Order` where UID ='" + rs("ID") + "'"
Microsoft VBScript 运行时错误 错误 '800a01b6'
对象不支持此属性或方法: 'toString'
其实Order加不加引号没多大影响,我在其它页面也多次使用“from order 都是正常的
类型不匹配: '[string: "select sum(Amt) as a"]'
Amt是什么类型,是不是这个类型不能sum
q聊:275442185
应该不会,我试了下别的字面也是一样
uid字段应该是varchar类型,匹配的字符串需要加引号。
strsql="select sum(Amt) as al from `Order` where UID ='" + rs("ID") + "'"
都试了
你的UID字段是varchar类型吗?
最好把表结构贴出来,看一下。
这些在其它页面都是常用的参数,应该不是问题
表结构是指字段的类型,Amt和uid的类型,不是要数据的
应该是text,提交数据时没类型,怎么分辩,
试试这样
strsql="select sum(Amt) as al from `Order` where UID = '" & rs("ID")&"'"
看看可以吗
表名最好改一下,order by 是数据库的关键字, 改为tb_order 这样的,以免产生歧义
我要改网站上几十个页面都改,那工作量大了
语句可以吗
若报错,报什么错,贴一下
什么错没有,就是空的
实际上这些早上都试过
可以看一下表的所有字段名吗
order加不加引号也无所谓,问题不在这
你的rs("ID") 有值吗,输出看一下
rs("ID")有的
把他先换为217,执行一下语句,看看
把where 后面的一删掉执行结果也一样
我觉得问题可能在于,整个句式对不对,
你看看是不是这样也不行:
strsql="select UID from `Order`
如果是where后面删掉都有问题,那就是
要么Amt是个关键字,要么就是Amt的类型不支持sum
先给Amt加个`Amt`
Amt是啥类型?
单独查一下UID ,看看可以吗
首先查UID没意义,这是用户的ID号,我汇总它有什么意义,再就是Amt的类型,我刚才说了,我试过用这代码换别的字段做统计,结果是一样的,所以应该Amt的类型也不成问题
你是说换成其他字段可以查出来数据是吗
不是,查不出
UID我也试了一样没有
那就不是字段的问题
你其他页面的查询是什么样子的,贴一下,看看
试试 strsql="select sum(Amt) as al from Order where UID = " & cstr(rs("ID"))
结果还是一样
现在你查其他表,可以查出数据吗,可以看一下,查出数据的,写的是什么代码吗
单查uid都查不出来
strsql="select UID from `Order`"
1 可能是表名的问题
2 你的语句根本没有执行
一直是【Microsoft VBScript 运行时错误 错误 '800a000d' 类型不匹配: '[string: "select sum(Amt) as a"]'】这个错误吗?
真不是表名的问题,这表名一直在用
不是的,现在是空的,啥也没有
一步步来,你现在是空的话,能把sqlstr的内容打印出来吗?
先确认你的sqlstr是对的再说别的。
不明白
在body里面加个输出,看看你的Sqlstr是不是你想要的
<body>
<%
Response.Write(sqlstr)
%>
</body>
没反应
换成
Response.Write('hello')
能在页面上看到hello吗?
如果不能,需要检查一下其他地方,如果可以,就是你的sqlstr出问题了,得解决了才干别的。
那当然
"select sum(Amt) as 'al' from order where UID = '"+rs("ID")+"'"
类型不匹配: '[string: "select sum(Amt) as '"]'