请帮忙看看这个asp代码为什么报错"UPDATE 语句的语法错误。"

<%'初始值赋为0fori=1to8sql="updatetjjgsetb"&i&"=0,k"&i&"=0"conn.execute(sql)next'12个被评部门fo... <%
'初始值赋为0
for i=1 to 8
sql="update tjjg set b" & i & "=0,k" & i & "=0"
conn.execute(sql)
next

'12个被评部门
for i=1 to 12
'每个部门计算8个指标分
set rs1=server.createobject("adodb.recordset")
set rs2=server.createobject("adodb.recordset")
for z=1 to 8
rs1.Open "SELECT avg(fen) as vvb" & z & " FROM vote WHERE dep_id=" & i & " and role='b' and zb=" & z & "",conn,1,1
rs2.Open "SELECT avg(fen) as vvk" & z & " FROM vote WHERE dep_id=" & i & " and role='k' and zb=" & z & "",conn,1,1

vvb=(rs1(0))
vvk=(rs2(0))
vvp=vvb*0.5+vvk*0.5

'response.write vvb
'response.write "//"
'response.write vvk
'response.write "//"
'response.write vvp
'response.write "//"

sql_upd="update tjjg set b" & z & "=" & vvb & ",k" & z & "=" & vvk &",p" & z & "=" & vvp & " where dep_id=" & i
'response.write sql_upd
'response.write "//"
'response.end
conn.execute(sql_upd)

rs1.Close
rs2.Close
next
Set rs1=nothing
Set rs2=nothing
next
%>

运行时保错"UPDATE 语句的语法错误",保错行是"conn.execute sql_upd) ", 第五行的"conn.execute(sql)"倒是执行正常.

把vvb vvk vvp 和 sql_upd打印到页面上没发现错误,
sql_upd放到access数据库执行也是正常.字段都是数字类型的,不知道到底什么原因update失败
如果把response的注释去掉,我打印到页面上的结果是
1.5//5//3.25//update tjjg set b1=1.5,k1=5,p1=3.25 where dep_id=1//

把那个sql语句直接放到access里执行是成功的.

谢谢kefanmail 的回答,按你说的加了,运行出来的结果是
"UPDATE 语句的语法错误。
update tjjg set b1=1,k1=,p1= where dep_id=2"
还是想不同这个sql有什么错,我用的字段也不是关键字啊
展开
 我来答
kefanmail
2008-11-21 · TA获得超过690个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:391万
展开全部
第一行加上一个:
On Error Resume Next

conn.execute(sql_upd)

下面加上:

If Err.number<>0 then
Response.write(Err.Description)
Response.write("<br />" & sql_upd)
Response.end
End If

然后运行程序,看详细错误提示信息,应该能找出问题所在。呵。。

--------------------------------------------------------------

update tjjg set b1=1,k1=,p1= where dep_id=2"

这个UPDATE 的 K1,P1都没值呀,当然出错了。呵。。
psurdf
2008-11-21 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:27.6万
展开全部
update tjjg set b1=1,k1=,p1= where dep_id=2
不是语法错误吗?
k1、P1不是没有赋值吗?
这句sql语句直接放到access里执行能成功吗?

update tjjg set b1=1,k1=2,p1=3 where dep_id=2
不就可以了吗

你看看低要给k1,p1赋什么值

祝你好运
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式