简单修改点代码(有关数据库)

mysite365 2009-09-12 05:01:46

set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation "
rsexd.open sqlexd,conn,1,3
if not rsexd.eof then
do while not rsexd.eof
if rsexd("EndDate")<>"" then
if rsexd("EndDate")>date() then
rsexd("exd")=0 '修改表exd字段的值
else
rsexd("exd")=1 '修改表exd字段的值
end if
else
rsexd("exd")=0 '修改表exd字段的值
end if
rsexd.movenext
loop
rsexd.close
end if


说明:
exd 为int 类型,上面应该没错
以上代码,在access没错,现在我用sql server数据库出问题,提示“服务部不可用”
请大家帮忙改为在sql server下可以使用的代码。


我如下修改


set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation "
rsexd.open sqlexd,conn,1,3
if not rsexd.eof then
do while not rsexd.eof
if rsexd("EndDate")<>"" then
if rsexd("EndDate")>date() then
rsexd("exd")=0 '修改表exd字段的值
else
rsexd("exd")=1 '修改表exd字段的值
end if
else
rsexd("exd")=0 '修改表exd字段的值
end if
rsexd.update ’这里修改了,还是不可以
rsexd.movenext
loop
rsexd.close
end if

...全文
80 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysite365 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hookee 的回复:]
改一下
VBScript code<%set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation"
rsexd.open sqlexd,conn,1,4'批量递交ifnot (rsexd.eofand rsexd.bof)thendowhilenot rsexd.eofif rsexd("EndDate").value<>""AndNotIsNull(rsexd("EndDate").value)thenifDateDiff('d',rsexd("EndDate").value,date())<0 then rsexd("exd")=0'修改表exd字段的值else
rsexd("exd")=1'修改表exd字段的值endifelse
rsexd("exd")=0'修改表exd字段的值endif
rsexd.movenextloop
rsexd.updateBatch'批量递交 rsexd.closeendif
%>

%>
[/Quote]

这样不对,提示“服务部不可用”
MR丶CHAN 2009-09-12
  • 打赏
  • 举报
回复
mark up
li1229363 2009-09-12
  • 打赏
  • 举报
回复
批量修改使用asp程序不合适。还是使用2楼的方案吧。简单实惠啊
  • 打赏
  • 举报
回复
什么数据库???可以用单个语句更新吧
hookee 2009-09-12
  • 打赏
  • 举报
回复
再改一下

<%
set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation "
rsexd.open sqlexd,conn,1,4 '批量递交
if not (rsexd.eof and rsexd.bof) then
do while not rsexd.eof
if rsexd("EndDate").value<>"" And Not IsNull(rsexd("EndDate").value) then
if DateDiff("d",rsexd("EndDate").value,date())<0 then
rsexd("exd")=0 '修改表exd字段的值
else
rsexd("exd")=1 '修改表exd字段的值
end if
else
rsexd("exd")=0 '修改表exd字段的值
end if
rsexd.movenext
loop
rsexd.updateBatch '批量递交
rsexd.close
end if
%>

hookee 2009-09-12
  • 打赏
  • 举报
回复
改一下

<%
set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation "
rsexd.open sqlexd,conn,1,4 '批量递交
if not (rsexd.eof and rsexd.bof) then
do while not rsexd.eof
if rsexd("EndDate").value<>"" And Not IsNull(rsexd("EndDate").value) then
if DateDiff('d',rsexd("EndDate").value,date())<0 then
rsexd("exd")=0 '修改表exd字段的值
else
rsexd("exd")=1 '修改表exd字段的值
end if
else
rsexd("exd")=0 '修改表exd字段的值
end if
rsexd.movenext
loop
rsexd.updateBatch '批量递交
rsexd.close
end if
%>

%>
hookee 2009-09-12
  • 打赏
  • 举报
回复
这样效率不高,可以是2条语句完成的,现在要n条语句,n是记录总数。


<%
set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation "
rsexd.open sqlexd,conn,1,4 '批量递交
if not (rsexd.eof and rsexd.bof) then
do while not rsexd.eof
if rsexd("EndDate").value<>"" Or IsNull(rsexd("EndDate").value) then
if DateDiff('d',rsexd("EndDate").value,date())<0 then
rsexd("exd")=0 '修改表exd字段的值
else
rsexd("exd")=1 '修改表exd字段的值
end if
else
rsexd("exd")=0 '修改表exd字段的值
end if
rsexd.movenext
loop
rsexd.updateBatch '批量递交
rsexd.close
end if
%>
mysite365 2009-09-12
  • 打赏
  • 举报
回复

set rsexd=server.CreateObject("adodb.recordset")
sqlexd="select * from corporation "
rsexd.open sqlexd,conn,1,3
if not rsexd.eof then
do while not rsexd.eof
if rsexd("EndDate")<>"" then
if rsexd("EndDate")>date() then
rsexd("exd")=0 '修改表exd字段的值
else
rsexd("exd")=1 '修改表exd字段的值
end if
else
rsexd("exd")=0 '修改表exd字段的值
end if
rsexd.update '这里修改了,还是不可以
rsexd.movenext
loop
rsexd.close
end if


hookee 要改成这种形式,要怎么做?? 先谢谢了,,
mysite365 2009-09-12
  • 打赏
  • 举报
回复
CONN的字符串改过来了,可以忽略这方面。
hookee 2009-09-12
  • 打赏
  • 举报
回复

sql = "UPDATE corporation SET exd=0 WHERE EndDate='' OR EndDate IS Null;" &_
"UPDATE corporation SET exd=0 WHERE DateDiff(d,EndDate,getDate())<0;" &_
"UPDATE corporation SET exd=1 WHERE DateDiff(d,EndDate,getDate())>=0;"
conn.execute sql
shenymce 2009-09-12
  • 打赏
  • 举报
回复
ACCESS与SQL的连接语句是不同的,你是不是没有把CONN的字符串改过来啊

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧