日期:2014-05-17  浏览次数:20860 次

sql2000下数据不能更新操作
近期将acc升级为sql2000
把主键这些都手动设置了,增量三主键ID改为int,增量设为1
其他一些常见的地方都作了修改,acc转为sql2000,数据库文件增大了大概30多M,原来为70多M

目前运行速度明显慢于acc.
还有一些常见的操作不能操作,比如
VBScript code
Set Rs = server.createobject("ADODB.Recordset") 
Sql = "select top 50 EditDate from Tbl where 
ValidityDate > '"& TodayDate &"' and IsPause = '0'
order by EditDate desc"    
Rs.Open Sql , Conn , 3 , 2
If  Rs.Eof and Rs.Bof Then
    Response.Write("无符合条件的信息!")
    Response.End()
else
    do while not rs.eof
    Rs("EditDate")=Qsite.FormatDate(Now())'出错在这行
        
    Rs.update
    rs.movenext
    loop
End If
Rs.Close    

其中EditDate,ValidityDate均为nvarchar
出错行错误为当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。
将Conn , 3 , 2改为Conn , 1 , 3仍然相同错误。

另外,程序加载慢与sql语句中多字段没有严格按照表中顺序写有关吗?以前acc有些地方写的很随意。

------解决方案--------------------
Rs("EditDate")=Qsite.FormatDate(Now())'出错在这行
改成:
Rs("EditDate")=Now()
试试