现在我有一个很棘手的问题,高手指教!(富有ASP经验者请进!)

wkexuan 2003-08-18 08:05:26
<form action="action.asp">
<%
for i=1 to 100
session(i)=i
next
%>
</form>


<!--action.asp-->
<%
set rs=server.createboject("ADODB.Recordset")
sql="select * from employee where eid='10000'"
rs.open sql,conn,3,3

j=1
while j<100
rs("name")=session(j)
rs.movenext
loop


以上是我举的一个例子,想要说明的是我现在有>100个参数需要传递。目前只能选择SESSION进行传递。
但现在出现这样的情况:rs("name")=session(j)在更新数据库时有时数据库并没有得到更新,需要重复执行2-3次才行,有时却能一遍成功。现在要求必须一遍成功,所以我真的不知道怎么办才能解决这个问题?


请高手赐教!我们项目等着急用!

谢谢!
...全文
25 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wkexuan 2003-08-22
  • 打赏
  • 举报
回复
是象TTT2说的那样吗?
那样行吗?
xiejunhua 2003-08-22
  • 打赏
  • 举报
回复
最好传值不要用session
剑心 2003-08-22
  • 打赏
  • 举报
回复
不知道目前楼主这个问题解决了没有?
我看到大家都把问题泛滥啦

rs.movenext之前应该update

第二,最好能加入错误处理机制

仅供参考
freespace520 2003-08-22
  • 打赏
  • 举报
回复
同意bushido(大饼)
lang11zi 2003-08-22
  • 打赏
  • 举报
回复
有时候更新有个延迟!
ttt2 2003-08-21
  • 打赏
  • 举报
回复
这样吧
dim (a5)
a(1)=1
a(2)=3

session("bl")=a

wandola 2003-08-21
  • 打赏
  • 举报
回复
我一般是用字符串来传递的,
先把数组按照特定的间隔符练成一个字符创,然后传递给下个页面,然后在下个页面在按照间隔符拆开。
wkexuan 2003-08-21
  • 打赏
  • 举报
回复
数组能在ASP页面之间传递吗?不能吧!
bushido 2003-08-20
  • 打赏
  • 举报
回复
可以作为一个字串来传递
比如str="asdf,ddd,werw,asdf,sdf"
xx=split(str,",")
for i=0 to ubound(xx)
response.write xx(i)
next

wkexuan 2003-08-20
  • 打赏
  • 举报
回复
用数组,内嵌asp传数据不好吗?
是设么意思?

数组又不能长住内存,换个页面就没有了亚!请详细解释!

cloudchen(陈系上):sorry,应是"do while"
cfchhx 2003-08-19
  • 打赏
  • 举报
回复
用数组,内嵌asp传数据不好吗?
Session传那么多的值,只怕不好.
cloudchen 2003-08-19
  • 打赏
  • 举报
回复
这是什么啊!!!
While后面嘛跟loop,而且还是个死循环

While j < 100
'do something
j=j+1
Wend
jiank 2003-08-19
  • 打赏
  • 举报
回复
SESSION是一个好东西,但是如果参数过多的话,运用你的方法写出来的程序执行效率会很低。建议不采用SESSION来传递值。
你把你的问题写清楚,不要举例,或许你本身的思路就不是最优化的,不方便可以发信jiank@ksren.com来讨论。
anita2li 2003-08-19
  • 打赏
  • 举报
回复
Session是很不稳定的﹐建议用其它方法﹐你可以直接提交。

另外应该是你的程序本身的问题﹐你自己检查一下程序﹐不要急﹐没事去撒泡尿﹐回来就可以查出错了。
wkexuan 2003-08-19
  • 打赏
  • 举报
回复
昨天提问的时候把RS.UPDATE忘写了,其实程序里有这句语句。对不起!

<form action="action.asp">
<%
for i=1 to 100
session(i)=i
next
%>
</form>


<!--action.asp-->
<%
set rs=server.createboject("ADODB.Recordset")
sql="select * from employee where eid='10000'"
rs.open sql,conn,3,3

j=1
while j<100
rs("name")=session(j)
rs.movenext
rs.update
loop
%>


以上是我举的一个例子,想要说明的是我现在有>100个参数需要传递。目前只能选择SESSION进行传递。
但现在出现这样的情况:rs("name")=session(j)在更新数据库时有时数据库并没有得到更新,需要重复执行2-3次才行,有时却能一遍成功。现在要求必须一遍成功,所以我真的不知道怎么办才能解决这个问题?


请高手赐教!我们项目等着急用!

谢谢!


yonghengdizhen(生命的插曲) 你说可以不用SESSION,那么现在100个参数需要传递,采用设么方法呢?
yonghengdizhen 2003-08-18
  • 打赏
  • 举报
回复
需要让session传递100个以上的参数,看来你的思路确实存在问题.

完全可以不用任何一个session变量实现你的要求
lzhm 2003-08-18
  • 打赏
  • 举报
回复
对,关键就在那
rs.update
xhaiy 2003-08-18
  • 打赏
  • 举报
回复
while j<100
rs("name")=session(j)
rs.update
rs.movenext
loop
arcow 2003-08-18
  • 打赏
  • 举报
回复
while j<100
rs("name")=session(j)
rs.update
rs.movenext
loop
wjh6of6agriculture 2003-08-18
  • 打赏
  • 举报
回复
while j<100
rs("name")=session(j)
rs.movenext
loop
rs.update

加载更多回复(4)

28,390

社区成员

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

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