请看看这段代码在access转到sql后order by部分为什么出错?
请看看这段代码在access转到sql后order by部分为什么出错?
楼主fsyxb()2004-01-18 10:06:11 在 Web 开发 / ASP 提问 sql="SELECT cixv,acct FROM paiku where (queren=0 and acct<>0) order by acct desc"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
i=1
if not(Rs.Bof OR Rs.Eof) then
do while not rs.eof
rs("cixv")=i
i=i+1
rs.update
rs.movenext
loop
rs.close
else
response.end
end if
以上代码在access中用没有问题,但转到sql后,执行此代码时提示出错:
ADODB.Recordset 错误 "800a0cb3"
Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
但只要把“order by acct desc”部分去掉就能正常执行了,后来试了几次,发现如果在select中使用order by,当要写入数据时就会出错,不写入就没问题。如果要写入数据,就不能使用order by,请问是什么缘故? 问题点数:0、回复次数:11Top
1 楼jumpnew929()回复于 2004-01-18 10:10:13 得分 0
mssql不支持"<>"的哦,。用"!="试试吧Top
2 楼xieyj(如果有一天...)回复于 2004-01-18 10:11:00 得分 0
acct 转换后是什么类型Top
3 楼fsyxb()回复于 2004-01-18 10:28:58 得分 0
如果把order by部分去掉就能正常执行,没有报<>出错啊!
acct转换后是intTop
4 楼Purpleendurer(Purplenendurer)回复于 2004-01-18 10:42:13 得分 0
关注...Top
5 楼fsyxb()回复于 2004-01-18 15:52:49 得分 0
等待中Top
6 楼chnj1981(怡红公子)回复于 2004-01-18 16:00:24 得分 0
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据Top
7 楼lctsy123(小虾)回复于 2004-01-19 07:51:29 得分 0
rs.open sql,conn,3,3Top
8 楼fsyxb()回复于 2004-01-29 10:56:31 得分 0
还是不行,请问在sql中,是否凡是要用order by排序的字段都要在表中设置些什么才行?否则为什么不用order by排序时就能写入,用了就会“数据库以只读方式打开,无法更新数据”?Top
9 楼TrueAndFalse(彩旗飘飘)回复于 2004-01-29 12:40:10 得分 0
会不会是你在别的地方打一了数据库没有关闭呢?Top
10 楼fsyxb()回复于 2004-01-29 15:43:29 得分 0
查过程序没有!Top
11 楼fsyxb()回复于 2004-02-02 10:20:53 得分 0
难道在sql数据库中,使用了order by对数据进行排序后就会锁定数据为只读?
我把我的程序简单说明一下,请高手帮忙看看。
表paiku的设置如下:
id int(自动增值)
cixv int
acct int
queren bit
其中acct的值由另一程序的控制增加,我上面的程序实现的就是根据acct的值对queren的值不为0的数据进行升值排序,并把对应的顺序值赋予cixv。Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn
