特殊监管区域物流货物:asp编程:老是提示语法错误,怎么解决?

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 19:41:16
<%sub gopp()
sql="update review set ifpass=0 where id="&cstr(request("reviewid"))
conn.execute(sql)
response.redirect (referer)
call upyx()
end sub%>

<%sub upyx()
int avgyx
int sid

set rs5=server.createobject("adodb.recordset")
sql5="select siteid from review where id="&cstr(request("reviewid"))
rs5.open sql5,conn,1,1
stid=rs5("siteid")
Set rs5=Nothing

set rs5=server.createobject("adodb.recordset")
sql5="select avg(preyx) as avgpj from review where siteid="&stid&" and ifpass=1"
rs5.open sql5,conn,3,2
avgyx=rs5("avgpj")
set rs5=Nothing

sql="update site set pstar="&avgyx&" where id="&stid&""
conn.execute(sql)
end sub%>

老师提示倒数第二行出现update语法错误
不知道哪里错了......
感谢雁鸣,supercomputer的热心解答,
检查发现估计是avgyx的类型有问题,如果sql="update site set pstar="&avgyx&" where id="&stid&"" 中的"&avgyx&"换成数字,如5,没有错误。
估计是数据类型的错误。。。
现在还没弄清楚,继续查资料
发现问题是因为preyx一项数据全部为空,导致错误
假如PREYX全为空,如何避免错误了?

sql="update site set pstar="&avgyx&" where id="&stid&"" 改为:
sql="update site set pstar='"&avgyx&"' where id="&stid&""
或(如果你的ID也是字符型):
sql="update site set pstar=;"&avgyx&"; where id=‘"&stid&"’"

sql="update review set ifpass=0 where id='"&cstr(request("reviewid")) &"'"
字符型要在字符串前后加上单引号的

sql="update site set pstar="&avgyx&" where id="&stid&"" 改为:
sql="update site set pstar='"&avgyx&"' where id="&stid&""
或(如果你的ID也是字符型):
sql="update site set pstar=;"&avgyx&"; where id=‘"&stid&"’"

sql="update review set ifpass=0 where id='"&cstr(request("reviewid")) &"'"
字符型要在字符串前后加上单引号的