[求助]AC数据库转SQL数据库,更新不了数据库数据....
下面是我写的一段程序代码:起初我是用AC数据库写的...
运行很正常...也可以更新记录..
但换成SQL数据库后...
不能执行更新数据那段代码...只能插入新数据代码可用...
我想问一下高手们,下面的什么错了...要怎么改?
set rst=server.createobject("adodb.recordset")
sql="select count(*) as rstnum from vote where v_rstid='" & rstid & "'"
rst.open sql,conn,1,1
if rst("rstnum")>0 then
rst.open "select * from vote where v_rstid="&rstid,conn,1,3
dim t,e,s,p
t=request.form("VoteOption1")
e=request.form("VoteOption2")
s=request.form("VoteOption3")
p=request.form("VoteOption4")
rst("v_1")=int((rst("v_1")*rst("v_total")+t)/(rst("v_total")+1))
rst("v_2")=int((rst("v_2")*rst("v_total")+e)/(rst("v_total")+1))
rst("v_3")=int((rst("v_3")*rst("v_total")+s)/(rst("v_total")+1))
rst("v_4")=int((rst("v_4")*rst("v_total")+p)/(rst("v_total")+1))
rst("v_total")=rst("v_total")+1
rst.update
rst.close
else
sql="insert into vote(v_rstid,v_1,v_2,v_3,v_4,v_total) values('"&rstid&"','"&request.form("VoteOption1")&"','"&request.form("VoteOption2")&"','" & request.Form("VoteOption3") & "','" & request.Form("VoteOption4") & "',1)"
conn.execute sql
end if
rst.close
set rst=nothing
备注:AC时,数据库各字段数据类型均为"数字"
SQL时,v_rstid,v_total两字段数据类型为"bigint",v_1,v_2,v_3,v_4四个字段数据类型为"int"
我之前用AC数据库,这段代码是没错的...执行的都好好的...
后来我换成SQL时,红色的代码就是更新数据这段代码就不起作用了...
后来我想可能是查询语句出错了,rstid参数设置有问题...
试了一下,如果是rstid参数有问题的话,那么应该是整个都不能用的...
可当数据库记录为0时,即执行"紫色"的代码,可以执行...所以排除了rstid有问题,也排除了查询语句问题...
还有我把红色里的rst都改成rst1,就是用不同的名字,也试过了...也是不行....
那么问题就是"红色"的代码里了...
我不是很了解SQL的数据类型...所以想可能的原因会不会是类型问题?
请大家指点指点...
[此贴子已经被作者于2007-10-19 20:43:03编辑过]