现在要写一个程序,根据city,adress请求获取数据,把循环每一表中根据city,adress请求获取的数据更新到相应表,相应表中对应的那一行数据。这句话,可能你有点晕,说白了就是,先循环查询遍历表中city与adress的值,根据city,adress的值请求获取数据,更新到相应行中,这个表循环更新完了就跳到下个表中再循环更新,以此类推,直到全部更新。
1。首先在 FOR 前要定义 I 的值,2。then 中 和 else 中没有循环得出不同的数据也是不正常
就算循环成功,最后rss("mb_b") rss("mb_bb") rss("mb_a") rss("mb_aa") 这些值都是统一的,没有意义
3。ASP不能用 + 连接字符串
4。for i=i to 1i = rss("mb_id") FOR是每循环一次加一,rss("mb_id")数据库中绝对不会出现ID为0的
for i = 1 to 100修改数据库1-100条记录 循环是不需要重新给 i 赋值
set rss=server.createobject("adodb.recordset")
sql="select * from 数据训 where mb_id="&i
rss.open sql,conn,1,1
if rss.eof and rss.bof then 判断有 没有这个ID
else
if rss("mb_right")= i then你的条件成立 修改B模板
rss("mb_b")=mbb+dingdan
rss("mb_bb")=mbbb+dingdan
else 其它条件时修改A模板
rss("mb_a")=mba+dingdan
rss("mb_aa")=mbaa+dingdan
end if
next
end if
rss.close
单纯比较效率的话 conn.execute 的效率比 rs.open 高所以,写程序应尽量少用rs.open
但是,conn.execute 是没有recordcount的,永远等于-1
所以,可以认为conn.execute 只是返回了首条记录指针而已,它并不知道记录有多少条。
难怪速度快!
速度是快了,无法分页了啊,呵~~~
另外需要注意的是你的方式二的conn.execunte(sql)放在了循环的外边所以只执行了循环里的最后一个sql
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)